2022年12月27日
【Google Cloud】データベースの特徴を覚えるぞ(クラウド入門者向け)
-
- Category Google Cloud

最近、Google Cloudに入門した みやてつ です。
本ブログ(So-da)への投稿は初めてです。よろしくお願いします。
さて、Google Cloudには数え切れないほどのサービスがあって、
特徴を押さえながら、サービス名を覚えるだけでも大変ですよね。
データベースひとつとっても、数多くのサービスがあります。
Cloud SQL、AlloyDB、BigQuery、Cloud Spanner、Cloud Datastore・・・。
Google Cloudの認定試験で基本レベルになる「Associate Cloud Engineer」の資格勉強の際に、
それぞれのデータベースの特徴を学ぶのですが、
サービス名が似ていたり、名前から想像がつかなかったりして、大混乱になりました。
それぞれのデータベースについて、代表的なものをピックアップして、
特徴やポイントを簡単にまとめたいと思います。
リレーショナル型データベース
1.Cloud SQL
フルマネージドのリレーショナルデータベースです。
データベースのエンジンにMySQL、PostgreSQL、SQLServerが選択できます。
オンプレミスのサーバで構築するデータベースとは異なり、
必要なソフトウェアのインストール作業は不要で、ちょっとした操作をするだけで構築できます。
フルマネージドのサービスのため、データのバックアップや高可用性(HA)構成、
セキュリティなどの不具合が発見された時のアップデートなど、Google Cloud側で行ってくれます。

他のリレーショナルデータベースより安価でちょっとしたWEBアプリケーションや業務アプリケーションを作成する際に利用するデータベースですね。
2.AlloyDB
Google I/O 2022で発表されたPostgreSQL互換のフルマネージドリレーショナルデータベースです。
※2022年12月15日より一般提供が開始されました。
Cloud SQLと同様にフルマネージドのリレーショナルデータベースですが、
AlloyDBは、高可用性や高いパフォーマンスが求められるアプリケーション向けのデータベースです。
Googleが独自に開発した「カラム型エンジン」と「AlloyDBに組み込まれた機械学習」によって、
高いパフォーマンスを実現しています。

カラム型エンジンって何?
1行ごとにデータを扱うのではなく、列でデータを扱うそうです。
本ブログサイトにCloud SQLとAlloyDBを比較した記事がありますのでご覧ください。
・第1回:AlloyDB の概要、性能検証編
3.Cloud Spanner
Cloud Spannerは、分散型・強整合性のフルマネージドのリレーショナルデータベースです。
グローバルにインスタンスを分散させることができ、負荷に応じて無限にスケーリングできます。
インスタンスがグローバルに分散しているにも関わらず、
強整合性のトランザクションを提供しているのが特徴です。

スケールって?って方に、以下の本サイトの記事を一緒に読むとオススメ。
英語で学ぶIT用語 スケール/スケーラビリティ
NoSQL型データベース
1.Cloud Datastore
Cloud Datastoreは、フルマネージドのNoSQL型のデータベースです。
現在は、Cloud Firestoreの一部として提供されています。
Cloud Datastoreのデータは、エンティティと呼ばれる単位で管理され、エンティティには1つのキーと複数のプロパティを格納します。また、エンティティは、カインドと呼ばれるカテゴリに分類して管理します。
リレーショナルデータベースで言うと、エンティティはレコード、キーは主キー、プロパティはカラム、カインドはテーブルでしょうか。
スキーマレスのため、プロパティは、エンティティ毎に異なっていても大丈夫です。
NoSQL型のデータベースですが、SQLライクなクエリの実行やトランザクションもサポートされています。

普段はリレーショナル型を使っている人にとって、ピンとこないと思いますが、スキーマレスってのが一番の特徴ですね。ドキュメントなど非構造型のデータを扱う時に便利ですね。
2.Cloud Bigtable
Cloud Bigtableは、毎秒何百万ものリクエストを処理できるNoSQL型のフルマネージドのデータベースです。
テラバイト級の大量のデータを管理するために使用し、
Google検索やGoogleマップなど多くのGoogleサービスで利用されています。

大規模なアプリケーション向けですね。
データウェアハウス
1.BigQuery
BigQueryは、フルマネージドのデータウェアハウスで、
数テラバイトから数ペタバイトのデータを扱うことができます。
さまざまなアプリケーションで生成されたデータを集めて格納し、
データを分析するといったような用途に使用します。
また、天気情報や企業情報など、さまざまなデータがマーケットプレイスで公開されており、
アプリケーションのデータと組み合わせて分析に使用することもできます。

巨大なデータの倉庫って感じですね。
まとめ
今回の記事では、それぞれのデータベースの特徴について、簡単にまとめました。
実際に利用する際には、料金、パフォーマンス、セキュリティ、保守性など
もっと細かなことが気になる方もいらっしゃると思います。
もっと詳細にまとめることも考えたのですが、
入門者にとってそれぞれの情報量が多いと混乱しますよね。
なので、簡単な特徴とポイントのみに絞りました。
私も経験がない中で、これ以上の情報は覚えられません。
最後に、それぞれの最低限、覚える必要のある特徴をまとめたいと思います。
データベース |
分類 |
覚える特徴 |
Cloud SQL | リレーショナル | 標準となるリレーショナルデータベース。一般的なアプリケーション向け。 |
AlloyDB | リレーショナル | 高い信頼性を必要とする業務アプリケーション向けのリレーショナルデータベース。 |
Cloud Spanner | リレーショナル | グローバルで大規模なアプリケーション向けのリレーショナルデータベース。 |
Cloud Datastore | NoSQL | ドキュメントなど非構造データ向けのNoSQL型のデータベース。 |
Cloud Bigtable | NoSQL | 大規模なアプリケーション向けのNoSQL型のデータベース。 |
BigQuery | データウェアハウス | さまざまなデータを蓄積し、データ分析に使用するデータウェアハウス。 |

最後までご覧いただきありがとうございました。