expand-contractマイグレーション - CI/CD用語集の定義
expand-contract(並行変更)パターンは、破壊的なスキーマ変更を3つのフェーズに分割します。expand(新しい構造を追加)、migrate(二重書き込みと埋め戻し)、そして何も読み取らなくなったらcontract(古い構造を削除)です。
なぜか
各フェーズは後方互換なので、deployはローリングのまま進み、アプリケーションの古いコードと新しいコードがスキーマについて食い違う必要が決してありません。カラムを安全にリネームまたは分割するための標準的な手順です。
関連ガイド
Zero-Downtime Migration - CI/CD Glossary DefinitionZero-Downtime Migration: A zero-downtime migration changes the schema without taking the application offline,…
Schema Migration - CI/CD Glossary DefinitionSchema Migration: A schema migration changes the structure of a database (tables, columns, indexes, constrain…
Backfill - CI/CD Glossary DefinitionBackfill: A backfill populates a newly added column or table with values derived from existing data, typicall…