Question#5(Professional Cloud Database Engineer)

Question#5(Professional Cloud Database Engineer)
あなたは、プレイヤーの認証情報とインベントリデータ(持ち物データ)を Google Cloud に保存するために、高いトランザクション性を持つリレーショナルデータベースを使用する新しいゲームアプリケーションを設計しています。このゲームを複数のリージョンで立ち上げたいと考えています。どうすべきですか。
ディスカッション 0

正解:A

この問題の鍵となる要件は以下の3つです。

  1. 高いトランザクション性 (Highly transactional): データの整合性、特に読み書き操作の原子性 (ACID特性) が極めて重要であること。

  2. リレーショナルデータベース (Relational database): プレイヤーデータとインベントリデータの間に関係性があり、スキーマと整合性が必要であること。

  3. 複数のリージョンで起動 (Launch in multiple regions): グローバルな低遅延と高い可用性が求められること。

1. 選択肢の検証

選択肢 データベースの種類 マルチリージョン対応 トランザクション性 評価
A. Cloud Spanner リレーショナル マルチリージョン対応 高い(ACID特性をグローバルで保証) 最適解。すべての要件を満たす。
B. Bigtable NoSQL(ワイドカラム) マルチリージョン対応 トランザクション性は低い(単一行/単一操作) 不適。リレーショナルでもなく、高いトランザクション性も提供しない。
C. BigQuery データウェアハウス マルチリージョン対応 トランザクション処理には不向き(分析用) 不適。トランザクションデータベースではなく、分析に特化。
D. Cloud SQL (リードレプリカ) リレーショナル リージョン内または単一リージョン間のレプリカ 高い 不適。プライマリインスタンスは単一リージョンに固定され、真のグローバルなマルチリージョン書き込み/整合性を提供できない。

2. Cloud Spanner が最適である理由

Cloud Spanner は、Google Cloud が提供する唯一のマネージドデータベースであり、以下の特徴からこのユースケースに最適です。

  • グローバルな整合性を持つリレーショナル: 従来のSQLデータベースの厳格なトランザクション整合性(ACID特性)とリレーショナルな構造を維持しながら、水平スケーラビリティとマルチリージョン構成を提供します。

  • 高いトランザクション性: プレイヤーの認証やインベントリの更新(例: アイテムの購入/消費)のような重要な操作において、地理的な距離に関係なく、高い一貫性原子性をグローバルに保証できます。

  • マルチリージョン対応: Spanner はデータを複数のリージョンに同期的にレプリケートし、いずれかのリージョンがダウンしてもサービスが継続される高い可用性と、ユーザーの地理的な近接性に基づく低遅延を実現します。

結論として、リレーショナルな構造、高いトランザクション性、およびグローバルなマルチリージョンでの運用というすべての要件を満たすのは Cloud Spanner のみです。


コメント

コメント

コメントする

目次