クラウド図鑑 Vol.13

概要

Google Cloud Platform(GCP)は、従来型のリレーショナルデータベース(RDB)から、より大規模なデータを扱えるNoSQL、そしてデータベースの延長線上にGoogleが得意とするビッグデータのサービスを提供している。よく使われるRDBであるMySQLのマネージドサービスが「Cloud SQL」。スキーマレスのNoSQLのマネージドサービスが「Cloud Datastore」で、SQLに似たクエリでデータにアクセスができる上にトランザクション機能も提供する。さらに大規模データの処理のためにGoogleの検索エンジンやGmailなどの基盤となっている「Bigtable」や億単位のデータの高速検索を可能とする「Bigquery」なども提供するが本稿でとりあげるマネージドデータベース系サービスとは別に紹介する。

Cloud SQLの設定画面
Screenshot 2015-07-29 at 15.51.03 - Display 2
(クリックで拡大)

URL   https://cloud.google.com/sql/
https://cloud.google.com/datastore/?hl=ja

2015年7月29日 株式会社クラウディット 中井雅也

機能

GoogleのCloud SQLでは、世界中で幅広く利用されているオープンソース データベースであるMySQL データベースをマネージドサービスとして提供し、複製、パッチ管理、バックアップなど手間のかかるデータベースのタスクをGoogleが行う。データは複数の地理的に異なる場所に複製され、フェイルオーバー処理を自動的に行いデータを保護し、大きな障害が発生した場合でもデータベースは利用可能である。Cloud Datastoreでは、スキーマレスな NoSQL 管理型データベースを使用して、非リレーショナル データを保存し、トランザクションにも対応し、SQL に似たクエリでデータを取り出せる。高可用性と一貫性のあるデータベースを提供するために、複数サーバへのデータ分散(シャーディング)とレプリケーションは Google側 で自動的に処理される。自動的な拡張と、複数のデータ センターをまたがるデータの複製が自動的に作成され、高い可用性と耐久性もビルトインされている。

使いやすさ

Cloud SQL、Cloud Datastoreともにコンソールに統合されており、画面から設定や構成を行うことができる。CloudSQLはネイティブなMySQLに近いが、完全に同一ではないため、いくつか制約にあわせた使い方をする必要がある。一方でアプリケーションの開発者から見た場合はJDBCなどの一般的なインタフェースで使える一般的なデータベースである。Cloud DatastoreもGoogleの他サービスと同様にRESTfulインタフェースを使って、どこからでもアクセスできる上に、ローカル環境の開発ツールを使ってアプリケーションをクラウドに展開することなくローカルでの開発やテストができる。

マニュアルや書籍など

Googleによってマニュアルやチュートリアルが用意されている。ただし日本語になっていないものも多い。

拡張性

Cloud SQLは、Google Compute Engineと同様にスケールアップが可能で、最大で16GBメモリー、500GBのストレージの構成で、1日あたり3200万回の処理に対応できる。また、リードレプリカによって、1 つのデータベースインスタンスの容量を超えてリード処理能力を拡張できる。Cloud Datastoreでは拡張は自動的に行われ、複数サーバへのデータ分散(シャーディング)やレプリケーションは Google側 で自動的に処理される。

可用性

Cloud SQLのデータは複数の地理的に異なる場所(ゾーン)に複製され、フェイルオーバー処理を自動的に行いデータを保護し、障害が発生しても地理的に離れた別なゾーンでフェイルオーバーが行われサービスが継続される。このときクライアントからの接続は切断されるが、フェイルオーバーの時間は数秒だという。バックアップは7日分が料金に含まれている。自動バックアップとバイナリーのロギングを有効に設定することでポイントインタイムのリカバリーが可能になる。Cloud Datastoreでは複数のデータ センターをまたがるデータの複製が自動的に作成され、高い可用性を実現している。Cloud Datastoreでは計画ダウンタイムはない。

SLA

Cloud SQLのSLAは、月間稼働率が99.95%以上としており、達しない場合は請求金額が割り引かれる。Cloud Datastoreには2015年7月時点でSLAはない。

自動化機能

Cloud SQLではリソースの追加や拡張など、さまざまな操作をコンソールだけでなくAPIで操作できる。

セキュリティ

Cloud SQLでは、データベースのテーブル、一時データ、バックアップなどのデータを256ビットのAESで暗号化し、また、Google内部での通信を暗号化することができる。外部との通信もSSLで暗号化が可能。

データセンターの場所

Googleのクラウドは、北米、ヨーロッパ、アジアの3拠点(リージョン)で運用されており、各リージョンは複数のゾーン群で構成される。これまで Google Cloud で課題とされてきた日本のデータセンターは、2016年11月8日に東京リージョンの正式運用が発表された。2015年5月現在では世界で10のゾーンを展開している。「ゾーン」という形でデータセンターの場所を指定することができる。ただし2015年7月の時点で日本にデータセンターはない。

実績・シェアなど

Googleのクラウド全体として、米調査会社のSynergy Research Groupの調査によれば2015年第一四半期のシェアはAWS, Microsoftに次いで第3位だった。しかしながら導入社数などの具体的な数字は公開されていない。

エコシステム

Cloud SQLは利用サイドから見れば通常のMySQLであり、対応するツールの多くが利用できると考えられる。GoogleからもMySQL Workbench、Toad、SQuirrel SQLなどの連携のためのマニュアルを提供している。

価格および支払い方法

Cloud SQLは、あらかじめディスカウントを含むパッケージ課金と従量課金の2タイプの課金方式となっている。基本的にUSドルでのクレジットカード決済となる。参考価格としては、パッケージ課金の場合、エントリーのメモリー0.125GBのDBインスタンスで$0.36/日。従量課金の場合は、エントリーの0.125GBのDBインスタンスで$0.025/時間と、1GBストレージが$0.24/月と、I/O100万回あたり$0.10と、ネットワーク下り$0.12/GBと、アイドルIPアドレスが$0.01/時間の組み合わせの合計となる。
Cloud Datastoreは、無料枠が1日あたり保存データ1GB、書き込み操作50000回、読み込み操作50000回、その無料枠を超えると保存データ1GBあたり$0.18/月、書き込み操作100000回あたり$0.06、読み込み操作100000回あたり$0.06の料金が発生する。またGoogle App Engineのインスタンス時間の料金も発生する。