【正解】C
【0からの解説】
①前提知識
・AlloyDB for PostgreSQL: PostgreSQL 互換のフルマネージド データベースです。コンピューティングとストレージを分離し、複数のゾーンにまたがってデータを永続化するクラウドネイティブな分散ストレージ エンジンを備えています(書き込みはストレージ層で複数ゾーンに同期的に複製され、ストレージは自動で拡張されます)。さらにカラムナ エンジンにより、分析クエリをメモリ上の列指向データで高速化でき、トランザクション(OLTP)と分析(OLAP)の両方で高い性能を発揮します。
・Database Migration Service(DMS): オンプレミスや他クラウドのデータベースから、Cloud SQL や AlloyDB へ、継続的なレプリケーションによって最小限のダウンタイムで移行できるマネージドの移行サービスです。
・Cloud SQL for PostgreSQL: 標準的な PostgreSQL のフルマネージド版。高可用性構成ではリージョン永続ディスクによる同期レプリケーションを行いますが、AlloyDB のような最適化された分散ストレージ層やカラムナ エンジンは持ちません。
②要件の整理
・高速なトランザクション処理と分析処理
・フルマネージド
・ストレージ レイヤを同期的にレプリケートし、最適化できる
③正解 C の理由
AlloyDB は、最適化された分散ストレージ層(ゾーン間の同期レプリケーション)とカラムナ エンジンによる分析の高速化を備え、要求の厳しい OLTP と分析を両立するフルマネージド サービスです。移行には PostgreSQL からの移行をサポートする DMS を使うのが Google の推奨手段です。
【誤りの選択肢】
A:DMS での移行手段は適切ですが、Cloud SQL for PostgreSQL は標準 PostgreSQL ベースで、分析処理を高速化するカラムナ エンジンや最適化された分散ストレージ層を持たないため、「高速なトランザクションと分析」「ストレージ レイヤの最適化」という要件で AlloyDB に劣ります。
B:psql クライアントで手動移行する方法は、ダンプとリストアなどの手作業が多く、継続レプリケーションによる低ダウンタイム移行もできません。移行先も Cloud SQL であり、A と同じく性能・ストレージ要件を満たしません。
D:Compute Engine 上の自前の PostgreSQL はフルマネージドではなく、パッチ適用・バックアップ・レプリケーション・高可用性をすべて自分で構築・運用する必要があります。「フルマネージド」という要件に反します。
【参考】
AlloyDB の概要 | AlloyDB for PostgreSQL