Section 3 問題集:DB 移行
全 20 問。DMS / Datastream / 異種移行・フォールバック が中心。
Q1. 同種 DB 移行
問題: オンプレ MySQL 8.0 → Cloud SQL for MySQL 8.0 の ニアゼロダウンタイム 移行を行う。最適なツールは?
- A. mysqldump + scp
- B. Database Migration Service (DMS) Continuous モード
- C. Datastream
- D. Storage Transfer Service
正解: B
解説:
- DMS Continuous は同種 DB のニアゼロダウンタイム移行の最適解
- 初期スナップショット + バイナリログ継続適用
- Datastream は分析統合用途であり「DB 移行」ではない
Q2. Oracle → BigQuery 分析統合
問題: オンプレ Oracle DB の変更を リアルタイム で BigQuery に流し込み分析したい。最適なツールは?
- A. DMS
- B. Datastream
- C. BigQuery Data Transfer Service
- D. mysqldump
正解: B
解説:
- Oracle 変更 → BigQuery リアルタイム は Datastream の典型ユースケース
- CDC ベースでミリ秒〜数秒の遅延
- DMS は DB の完全移行用、Datastream は分析統合用
Q3. 大容量オフライン転送
問題: オンプレ DB を Cloud SQL に移行します。データ量 50TB、ネットワーク帯域不足 で online 転送は数週間かかる。ダウンタイムは 1 週間まで許容。最適な手段は?
- A. DMS Continuous
- B. mysqldump + Cloud Storage アップロード
- C. Transfer Appliance を使い物理輸送
- D. Cloud Interconnect を契約しオンライン転送
正解: C
解説:
- 大容量 + 帯域不足 + ダウンタイム数日 OK は Transfer Appliance
- 物理 RAID アプライアンスに DB ダンプを書き込み輸送
- Cloud Interconnect は契約まで時間がかかる場合あり
Q4. SQL Server → PostgreSQL 異種
問題: SQL Server 上のアプリを PostgreSQL に移行 + コスト削減したい。DMS は使えるか?
- A. はい、DMS Heterogeneous(SQL Server → PostgreSQL)で対応可
- B. いいえ、Striim のみ
- C. いいえ、手動で変換
- D. はい、ただし mysqldump 経由のみ
正解: A
解説:
- DMS Heterogeneous は近年 SQL Server → PostgreSQL に対応拡大
- 一部のオブジェクト(ストアド、トリガー)は手動変換要
- Striim も選択肢だが商用ツール、DMS はマネージドで無料
Q5. DMS の動作モード
問題: DMS Continuous モードで移行中、 カットオーバー前にしなければならない ことは?
- A. ターゲット DB を Read-Only に設定
- B. ソース DB の書き込みを停止 + 残ログ適用完了待ち
- C. クロスリージョン リードレプリカ作成
- D. アプリを再起動
正解: B
解説:
- カットオーバー時は ソース書き込み停止 → 残ログ適用 → Promote の順
- これによりデータ整合性が保たれる
- ターゲットは移行中 Replica、Promote で Primary に切替
Q6. リバースレプリケーション
問題: DB 移行後の 保険 として、新 DB → 旧 DB へ逆方向にデータを流したい。目的は?
- A. 災害復旧
- B. 読み取り負荷分散
- C. 問題発生時のフォールバック
- D. コスト削減
正解: C
解説:
- リバースレプリケーションの目的 = 問題発生時に旧 DB に戻す(フォールバック)
- 数日〜数週間運用後、問題なければ停止
- 災害復旧(DR)はクロスリージョン構成の責務
Q7. PostgreSQL → AlloyDB 移行
問題: PostgreSQL 14(オンプレ)から AlloyDB に移行 + 性能向上が目的。最適なツールは?
- A. DMS(PostgreSQL → AlloyDB 対応)
- B. pg_dump + pg_restore
- C. Datastream
- D. AlloyDB 自体に「PostgreSQL 取り込み」機能あり
正解: A
解説:
- DMS は PostgreSQL → AlloyDB に対応
- Continuous モードでニアゼロダウンタイム可能
- pg_dump はダウンタイム長く小規模向け
- Datastream は分析統合用
Q8. Oracle Spatial + RAC 移行
問題: オンプレ Oracle に Spatial 拡張と RAC を利用するレガシーアプリ。Google Cloud への移行で、コード変更を最小化したい。最適なソリューションは?
- A. AlloyDB へ DMS で異種移行
- B. Cloud SQL for PostgreSQL + PostGIS
- C. Bare Metal Solution へリフトアンドシフト
- D. Spanner PostgreSQL Interface
正解: C
解説:
- Oracle 固有機能(RAC, Spatial) をフル活用 → Bare Metal Solution
- AlloyDB / Cloud SQL の異種変換は工数大、機能差が残る
- Bare Metal Solution は物理 Oracle 環境を Google データセンター内で運用
Q9. Datastream のターゲット
問題: Datastream の ターゲットとして指定可能 なものをすべて選べ。(複数選択)
- A. BigQuery
- B. Cloud Storage
- C. Pub/Sub
- D. Cloud SQL
- E. Spanner
正解: A, B, C
解説:
- Datastream のターゲットは BigQuery / GCS / Pub/Sub の 3 つ
- DB(Cloud SQL, Spanner)への直接ターゲットは DMS が担当
- Datastream はあくまで「CDC イベントの配信」
Q10. データ整合性検証
問題: DMS 移行後、ソースとターゲットの データ整合性 を確認したい。最も信頼性の高い方法は?
- A. 目視でランダム数行を比較
- B. 行数比較 + ハッシュ比較 + アプリ E2E テスト
- C. アプリを動かしてエラーがなければ OK
- D. DMS のステータスが Healthy であれば OK
正解: B
解説:
- 整合性確認は 複数階層 で実施
- 行数 → ハッシュ → サンプル → E2E
- DMS のステータスだけでは不十分
Q11. PB級 移行
問題: PB級 のデータベースを Google Cloud に移行。ネットワーク帯域に十分余裕があり、ダウンタイムは 4 時間まで許容。最適な手段は?
- A. Transfer Appliance
- B. DMS Continuous
- C. mysqldump 直接
- D. Cloud Storage への一括コピー
正解: B
解説:
- 帯域に余裕あり + ダウンタイム 4 時間 → DMS Continuous で十分対応可
- Transfer Appliance は帯域不足が条件
- mysqldump は PB級だと時間がかかりすぎる
Q12. CDC の基本
問題: Change Data Capture (CDC) の説明として最も正確なのは?
- A. 全データのスナップショット取得
- B. データベースの変更(INSERT/UPDATE/DELETE)をリアルタイムに捕捉
- C. データの圧縮アルゴリズム
- D. データのレプリケーション戦略の総称
正解: B
解説:
- CDC = ソース DB のログ(binary log/WAL)から 変更を逐次抽出
- ストリーミング、ニアゼロ遅延
- Datastream や DMS Continuous の中核技術
Q13. ハイブリッド構成
問題: オンプレ Oracle を 当面残しつつ、変更を Google Cloud の BigQuery / Cloud Run / 通知サービスに連携したい。最適な構成は?
- A. DMS Continuous で Cloud SQL へ移行 + アプリ二重書き込み
- B. Datastream で Oracle → Pub/Sub → 各サービス
- C. Cloud Functions でポーリング
- D. mysqldump を毎日
正解: B
解説:
- オンプレ DB を残しつつクラウド連携 は Datastream
- Pub/Sub にイベントを流し、各サービスを駆動
- 二重書き込みはアプリ改修必要、Datastream で不要に
Q14. 移行 5 ステップ
問題: DB 移行プロジェクトの 正しい順序 は?
- A. 計画 → アセスメント → 実行 → テスト → 検証
- B. アセスメント → 計画 → テスト → 実行 → 検証
- C. 実行 → テスト → 検証 → 計画 → アセスメント
- D. テスト → 計画 → 実行 → 検証 → アセスメント
正解: B
解説:
- 標準順序: Assessment → Planning → Testing → Execution → Validation
- 試験では「テスト後に実行」が頻出
- 「実行が先」は誤り
Q15. Database Migration Assessment (DMA)
問題: Oracle → PostgreSQL 移行で、 変換難易度を事前評価 したい。最適なツールは?
- A. DMS Migration Job
- B. Database Migration Assessment (DMA)
- C. Cloud Asset Inventory
- D. Migration Center
正解: B
解説:
- DMA = Google 公式の移行前評価ツール
- スキーマ・コード変換の難易度をスコア化
- 移行計画立案の基礎情報を提供
Q16. クロスクラウド移行
問題: AWS RDS PostgreSQL を Google Cloud SQL for PostgreSQL に移行する。最適な手段は?
- A. RDS スナップショット → S3 → GCS → Cloud SQL
- B. DMS(AWS RDS をソースとして対応)
- C. EC2 上で pg_dump → Cloud Storage
- D. AWS DMS(Amazon の DMS)
正解: B
解説:
- Google Cloud DMS は AWS RDS PostgreSQL をソースに対応
- VPN/Interconnect で接続を確立
- AWS の DMS はターゲット側ツールが限定的
Q17. DMS の制約
問題: DMS で CDC で自動同期されないもの は?
- A. INSERT
- B. UPDATE
- C. DELETE
- D. ストアドプロシージャ・トリガー
正解: D
解説:
- DMS Continuous は DML(INSERT/UPDATE/DELETE)を CDC
- DDL(CREATE PROCEDURE / TRIGGER)は自動同期しない、 手動で再作成
- カットオーバー前に DDL 凍結が標準
Q18. binary log 設定
問題: MySQL → Cloud SQL DMS Continuous の前提条件として、ソース MySQL に必要な設定 は?(複数選択)
- A. binary log の有効化(log_bin=ON)
- B. binlog_format=ROW
- C. server_id の一意設定
- D. replica ユーザー作成
- E. innodb_buffer_pool_size を最大化
正解: A, B, C, D
解説:
- binary log + ROW format + server_id + replica ユーザー が必須
- innodb_buffer_pool_size は性能関連、CDC とは独立
Q19. MongoDB → Firestore
問題: オンプレ MongoDB を Firestore (MongoDB-compatible) に移行。最適な手段は?
- A. DMS(MongoDB → Firestore)
- B. mongoexport → mongoimport(Wire Protocol 互換のため可能)
- C. Datastream
- D. mysqldump
正解: B
解説:
- Firestore (MongoDB-compatible) は MongoDB Wire Protocol 互換
- 通常の MongoDB ツール(mongodump / mongorestore)で移行可能
- DMS は MongoDB → Firestore 非対応
Q20. 移行プロジェクトの典型的な失敗
問題: DB 移行プロジェクトの 典型的な失敗要因 として 最も多い のは?
- A. ハードウェアの故障
- B. 事前テスト不足 + ロールバック計画なし
- C. ネットワーク帯域不足
- D. ライセンス問題
正解: B
解説:
- 統計的に最多の失敗要因は テスト不足とロールバック計画不在
- ハードウェア・帯域・ライセンスは技術的に解決可能
- プロジェクトマネジメント問題が最大のリスク
📊 採点と次のステップ
- 80% 以上 → Section 4 へ
- 60-79% → 学習資料 03_移行 を再読
- 60% 未満 → 03_要点と暗記.md を毎日復習