LESSON 30分

ストーリー

佐藤CTO
“メンテナンスのため一時停止します”は許されない。24/7稼働のサービスではゼロダウンタイムでの移行が必須だ

ゼロダウンタイム移行の手法

Blue-Green Migration

Phase 1: Blue(旧DB)で稼働中、Green(新DB)を準備
Phase 2: 旧DB → 新DB へデータ同期(CDC)
Phase 3: トラフィックをGreen(新DB)に切替
Phase 4: 問題なければBlue(旧DB)を退役

Change Data Capture(CDC)

ツール対応DB特徴
DebeziumMySQL, PostgreSQL, MongoDBKafkaベース、リアルタイム
AWS DMSRDS全般マネージド、低運用コスト
pg_logicalPostgreSQLネイティブ論理レプリケーション

Online Schema Migration

ツール説明
gh-ostMySQL: ゴーストテーブル方式、ロックなし
pgrollPostgreSQL: バージョン管理付きスキーママイグレーション
expand-contractパターン: カラム追加→データ移行→旧カラム削除

Expand-Contractパターン

Step 1 (Expand): 新カラム追加(NULLable)
Step 2: 新旧両方に書き込み(Dual Write)
Step 3: バックフィル(既存データを新カラムにコピー)
Step 4: 読み取りを新カラムに切替
Step 5 (Contract): 旧カラム削除

まとめ

ポイント内容
Blue-Greenデータ同期で切替、ロールバック可能
CDCリアルタイムデータ同期の基盤技術
Expand-Contractスキーマ変更をゼロダウンタイムで実施

次のステップへ

次はデータ同期と整合性検証について学びます。


推定読了時間: 30分