GCPのデータベースサービス Cloud SQL

2015年9月2日(水)
向井 哲也

ベンチマーク

MySQLの標準ベンチマークツールmysqlslapを使ってCloud SQLの性能を測定しました。比較するのは、GCEのインスタンスから立ち上げた通常のMySQLです。またCloud SQLの中でも、レプリケーション設定などを変えながら数パターン実行しました。実行元となるのは、GCEの別インスタンスです。

クエリ数:10,000、同時接続クライアント数:3、実行回数:10で、read と writeの処理を行い、それぞれのかかった秒数の平均を出しました。

表1:GCEインスタンスのMySQLとCloud SQLの処理速度の比較

データベース階層ファイル システム レプリケーションバックアップRead(秒)Write(秒)
1GCEのMySQL---4.15818.278
2Cloud SQLD8同期無効5.719150.548
3D8非同期無効5.25436.114
4D8同期有効5.766643.227
5D8非同期有効5.643132.990
6D2同期有効6.052264.704
7D2非同期有効5.871263.755
8D0非同期有効41.227338.527

Cloud SQL ではGCEインスタンスに比べて書き込み処理に時間がかかっていますが、実運用では連続したデータの書き込みが頻繁に発生するシステムでない限り、それほど影響を及ぼすレベルではないと思われます。さすがにインスタンスタイプ(階層)がD0だと遅さが顕著に現れています。ある程度読み書きが多く発生するシステムでは、D2以上が適切と思われます。

Cloud SQLインスタンスの設定項目(図4)で「ファイル システム レプリケーション」を同期・非同期に設定するオプションがありました。同期レプリケーションに設定した場合、データの書き込み後、他のゾーンにデータのコピーが完了した時点で、クライアントに返答するため処理速度は遅くなります。一方の非同期レプリケーションは、レプリケーションが終わる前にクライアントに返答するので、処理速度は速くなります(表1の2、3行目または4、5行目を比較)。

バックアップを無効にしている時は、有効にしている時より速くなるという結果が得られました(表1の2、4行目または3、5行目を比較)。

料金について

課金体型は、従量制とパッケージ(定額制)から選択できるようになっています。従量制では、データへのアクセス時間によって課金されるようになっています。データベースの使用頻度が高くない場合には、低コストが期待できます。これに対してパッケージは、1日あたりの利用料金が固定されているため、データベースの使用頻度が高い場合の利用が想定されています。

データセンターの場所は、GCEやGCSと同様に、ヨーロッパ、アメリカ、アジアから、利用しているサービスの位置に合わせて選択できます。

インスタンスタイプ(階層)は2015年5月時点ではD0〜D32の7種類あり、RAMのサイズや同時接続数などが異なります。例えば、RAMは最小サイズのD0では0.125GB、最大サイズのD32では16GBとなっています。課金は、このインスタンスタイプに基づいて行われます。ストレージサイズは自動で増加していきますが、1インスタンスあたり500GBが上限です(自動で増加するのは250GBまでで、これを超える場合はGoogleに連絡しなければなりません)。インスタンスタイプの切り替えはいつでも可能ですが、数分のダウンタイムが発生します。

課金については、GCEやGCSと同様に、プロジェクト単位で行われるようになっています。一方、アクセス制限はインスタンスごとに行うようになっています。IPアドレスや、Google App EngineのIDなどによってアクセスを制限可能です。例えばGCEから利用する場合は、IPアドレスによる制限を行います。

まとめ

Cloud SQLの一番の魅力は、データのバックアップと復元や、レプリケーションの設定など、手動で行うと面倒なデータベース管理作業が、Webインターフェースで簡単にできることです。これにより、データベース管理に費やす時間やコストの大幅な削減が期待できます。また、Google App EngineでCloud SQLを使用できるのも大きな魅力です。GAEを使ってみたいけれどKey-Value型のCloud Datastoreには抵抗があると感じている開発者は、少なからずいると思います。また、システムの構造上RDBが必要な場合や、MySQLで作られている既存システムから移植する場合にも、Cloud SQLが使用できます。是非この機会にCloud SQLに触れてみてはいかがでしょうか?

【参考文献】

Google Cloud SQL 公式ドキュメント (アクセス:2015/06)
https://cloud.google.com/sql/docs/

株式会社ゴーガ

東京都稲城市出身、在住。2002年、カナダのバンクーバーへ渡り、英語とウェブ開発を学んだ後、現地で就職。約5年間をカナダで過ごす。帰国後、某大手ポータルサイトのシステム開発業務を経てゴーガに入社。現在は主にGoogle Cloud Platformでの開発を担当。認定試験Google App Engine Qualified Developer取得。仕事の傍ら稲城市消防団に所属し、地元地域の安全維持に貢献。B型のうお座。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています