Git ライクなデータベースワークフロー

コードのようにデータベースをブランチする

Copy-on-write ストレージにより、数秒で PostgreSQL の隔離コピーを作成できます。開発者、PR、テストごとに専用 DB を用意できます。

データベースブランチとは?

データベースブランチは、ストレージ全体をコピーせずに実データを含む隔離コピーを作成する仕組みです。

Vela は copy-on-write を使うため、元データベースとブランチは変更されていないブロックを共有します。

その結果、dump/restore よりもはるかに高速かつ低コストになります。

データベースブランチでできること

遅いクローンや共有ステージングを、安全で本番に近い環境に置き換えます。

開発者ごとの分離

各開発者に完全なデータベースコピーを配布し、共有開発 DB の競合をなくします。

  • 数秒で作成
  • 本番に近いデータ
  • 書き込みは完全に分離

PR ごとのブランチ

各 Pull Request ごとにデータベースブランチを作成し、QA がコードとデータ変更を一緒に検証できます。

  • CI で自動作成
  • マージ後に削除
  • 共有ステージング不要

マイグレーション検証

スキーマ変更をまず本番クローンに適用し、整合性や性能問題を早期に発見します。

  • ALTER TABLE を安全に検証
  • データ整合性を確認
  • ブランチ削除でロールバック

障害対応の検証

既知のスナップショットから分岐して不具合を再現し、実データ上で修正を確認します。

  • 時点再現
  • より安全なホットフィックス
  • 対応を高速化

従来ワークフローとの比較

なぜストレージレベルのブランチがデータベース運用の経済性を変えるのか。

項目 従来コピー Vela ブランチ
作成時間 数分から数時間 数秒
追加ストレージ 完全な追加コピー 変更が起きるまでほぼゼロ
CI への適性 遅く不安定 高速で API 駆動
本番再現性 古いか擬似データになりがち 最新の本番相当データ

よくある質問

データベースブランチとは何ですか?

データベースブランチは、ストレージ全体を複製せずに完全に分離されたコピーを即座に作成する仕組みです。PostgreSQL データの git branch のように使えます。

pg_dump / pg_restore と何が違いますか?

pg_dump は完全なデータファイルをエクスポート・復元します。ブランチは copy-on-write により即座に書き込み可能なコピーを作成するため、はるかに高速で低コストです。

CI/CD で使えますか?

はい。ブランチは API で制御できるため、パイプライン開始時に作成し、テスト後に削除できます。

大きなデータベースでも使えますか?

はい。ブランチはストレージ層で行われるため、大規模データベースでもほぼ同じ時間で作成できます。

Vela でデータベースブランチを試す

Postgres データベースを起動し、ブランチを作成して、Sandbox で copy-on-write を体験してください。