【正解】B
【0からの解説】
①前提知識
・Spanner: Google が提供するフルマネージドのリレーショナル データベースで、SQL と強整合性のトランザクション(ACID)を備えつつ、ノード(コンピューティング容量)を追加するだけで水平方向にほぼ無制限にスケールします。リージョン / デュアルリージョン / マルチリージョン構成を選べ、複数リージョンにまたがる同期レプリケーションで高可用性(マルチリージョンで 99.999%)とグローバルな配置を実現できます。
・Cloud SQL: MySQL / PostgreSQL / SQL Server のフルマネージド版ですが、基本は単一リージョンの 1 台のプライマリで書き込みを処理する構成で、書き込みのスケールは垂直方向(マシンサイズ)に限られます。
・Firestore: NoSQL のドキュメント データベース。
・BigQuery: 分析用のデータ ウェアハウス(OLAP)。
②要件の整理
・リレーショナル データベースであること
・ユーザー数の急増に耐え「グローバルにスケール」できること
・管理・運用の手間を最小化(フルマネージド)
③正解 B の理由
Spanner はリレーショナル モデルと SQL を維持したまま、グローバルな水平スケーリングと高可用性をフルマネージドで提供します。シャーディングやレプリケーションの管理は Spanner が自動で行うため、運用負荷も最小です。3 つの条件をすべて満たすのは Spanner だけです。
【誤りの選択肢】
A:Cloud SQL はリレーショナルかつフルマネージドですが、書き込みは単一プライマリで処理され、スケールは主に垂直方向(リードレプリカで読み取りのみ水平拡張)です。グローバルに書き込みを含めてスケールさせる用途には向かず、「現在の DB がスケールできない」という課題を根本的に解決できません。
C:Firestore はグローバルにスケールするフルマネージド DB ですが、NoSQL のドキュメント データベースであり、「リレーショナル データベース」という要件を満たしません。スキーマやクエリの作り直しも必要になります。
D:BigQuery は大量データの分析向けデータ ウェアハウスで、ユーザーのアプリケーションからの大量の小さなトランザクション(OLTP)を処理する運用データベースとしては設計されていません。
【参考】
リージョン、デュアルリージョン、マルチリージョンの構成 | Spannerレプリケーション | Spanner