PCDBE#402(deploy-monitor)
運用チームは複数の Cloud SQL for MySQL インスタンスを管理しており、スキーマ変更が増えてきました。テーブル変更を Git のブランチ単位で履歴管理し、レビュー後に自動適用したい要件があります。リリース時の安全性として、誤った場合のロールバックも自動化したい場合、最も推奨される構成はどれですか。
正解:D
正解の根拠
Liquibase はチェンジセット単位でスキーマ変更を管理でき、適用済みバージョンを DATABASECHANGELOG テーブルで追跡します。Cloud Build に組み込めば、PR マージ後に update コマンドを自動実行し、問題発生時には rollback コマンドで前バージョンへ戻せます。
| 項目 | Liquibase | アプリ内 DDL |
|---|---|---|
| 履歴管理 | changelog で自動 | 無し |
| ロールバック | 標準サポート | 独自実装 |
| レビュー | PR で容易 | 困難 |
不正解の理由
- A:アプリ内 DDL は同時実行で競合し、変更履歴も残りません。
- B:同じファイルを再実行しても変更履歴管理ツールとは異なります。
- C:手動運用は監査が困難で、ヒューマンエラーのリスクが高まります。
参考:https://cloud.google.com/architecture/database-schema-management-using-liquibase

コメント