適材適所でクラウドを使い分ける企業が増えている。ここで課題になるのがクラウドごとの違いだ。AWS(アマゾン・ウェブ・サービス)、Google Cloud Platform(GCP)、Microsoft Azureはサービスラインアップが似ているが、用語やサービスの構造、利用できる機能などに差異がある。本連載ではテーマ別に各クラウドの特徴を取り上げ、違いを浮き彫りにしていく。第4回から第6回は「データベース」をテーマに解説する。第5回はGCPを取り上げる。
アプリケーションを実装する上でのデータベースの位置付けや、データベースの基本的な仕組みはクラウドでもオンプレミスでも大きな違いはありません。ただ、クラウドにはオンプレミスとの大きな違いがあります。データベースのマネージドサービスである「DBaaS(Database as a Service)」の存在です。
DBaaSでは、データベース管理ソフト(DBMS)やインフラ管理、運用も含めてサービスとして提供されます。利用者はバックアップやアップデートといったデータベースのメンテナンスから開放されます。また、高いスケールアウト性能、高い冗長性、高い堅牢性を提供する仕組みを持っています。従来は難しい作業だったデータベースサーバーの構築・運用を大幅に簡素化できます。
簡単に使えるのはメリットである一方、よく理解しないままデータベースサーバーを立ち上げると無用なトラブルを招く場合があります。サービスごとのデータベースの設計指針、ベストプラクティスといった勘所を押さえた上手な利用が肝心です。アマゾン・ウェブ・サービス(AWS)のDBaaSについては前回詳しく説明しました。今回はGoogle Cloud Platform(GCP)のDBaaSについて解説していきます。
GCPのDBaaSの特徴を簡単にまとめると以下となります。
- Google検索やGmailなどのGoogleの主力サービスに使われており、超大規模での利用に耐えられると実証済みのDBaaSがラインアップされている
- AWS同様に既存データベースのマネージド版が用意されている一方で、Google独自の「NewSQL」も提供されている
- Googleが提供するBIツールなどと容易に連携できるサーバーレスのデータウエアハウスも提供されている
AWSと比較して理解するGCPのDBaaSラインアップ
GCPもAWSと同様、得意領域が異なる複数のDBaaSを提供しています。具体的には、リレーショナルデータベース(RDB)、ドキュメントデータベース、Key-Valueストア、データウエアハウスがあります。RDBには、オンプレミスで普及しているMySQL、PostgreSQL、Microsoft SQL Serverとの互換性を重視したサービスと、大規模なスケーリング(能力の増大・縮小)を重視したサービスを用意しています。
タイプ | GCP | AWS |
---|---|---|
RDBMS | Cloud SQL | Amazon Relational Database Service(RDS) Amazon Aurora |
RDBMS | Cloud Spanner | Amazon Aurora |
NoSQL:ドキュメント | Firestore | Amazon DocumentDB Amazon DynamoDB |
NoSQL:Key-Value | Cloud Bigtable | Amazon DynamoDB |
データウエアハウス | BigQuery | Amazon Redshift |
サービス名 | 特徴 |
---|---|
Cloud SQL | 30TB未満のワークロードのMySQL、PostgreSQL、Microsoft SQL Serverのリレーショナルデータを管理 |
Cloud Spanner | 大規模なスケーリング、世界的規模の強い整合性、最大99.999%の可用性でリレーショナルデータを管理 |
Firestore | サーバーレスのドキュメントデータベースを使用して、高機能なアプリケーションを簡単に開発できる |
Cloud Bigtable | NoSQLデータベースサービスを使用して、大規模な分析ワークロードと運用ワークロードを実行 |
BigQuery | サーバーレスで提供される、スケーラビリティと費用対効果に優れたデータウエアハウス |
細かい仕様に違いはありますが、一方で実現可能なことが、もう一方では不可能になるほどの差異はありません。
なお、AWSはさらに特定用途に特化した時系列データベース「Amazon Timestream」、台帳データベース「Amazon Quantum Ledger Database(QLDB)」、グラフデータベース「Amazon Neptune」をラインアップしていますが、GCPではこれらに相当するサービスを2021年12月時点では提供していません。
今回の記事ではGCPのDBaaSのラインアップと、その使い分け方法を紹介します。最初に、最適なDBaaSを選択するための簡易フローを下図に示し、次章以降でそれぞれのDBaaSについて説明します。