借助写时复制存储,在几秒内创建隔离的 PostgreSQL 副本。每位开发者、每个 PR 和每次测试都可以拥有自己的数据库。
数据库分支可以在不复制全部存储的情况下创建一个包含真实数据的隔离副本。
Vela 使用写时复制,因此源库与分支库共享未变化的数据块。
这让数据库分支比 dump/restore 工作流更快、更省成本。
用安全、接近生产的环境替代慢速克隆和共享 staging。
让每位开发者都拥有独立的完整数据库副本,不再争用共享开发库。
为每个 Pull Request 创建数据库分支,让 QA 同时验证代码和数据变更。
先在生产克隆上执行架构变更,提前发现完整性和性能问题。
从指定快照分支,复现问题,并在真实数据上验证修复。
为什么存储层分支改变了数据库工作流的成本结构。
| 特性 | 传统复制 | Vela 分支 |
|---|---|---|
| 创建时间 | 数分钟到数小时 | 数秒 |
| 额外存储 | 完整额外副本 | 修改前几乎为零 |
| CI 适用性 | 慢且脆弱 | 快速且可 API 驱动 |
| 数据真实性 | 通常过期或合成 | 接近当前生产数据 |
数据库分支可以在不复制全部存储的情况下,瞬间创建一个完全隔离的数据库副本,就像 PostgreSQL 数据的 Git branch。
pg_dump 需要导出再导入完整数据文件。数据库分支借助写时复制直接生成可写副本,速度更快、存储成本更低。
可以。分支通过 API 控制,因此流水线可以在任务开始时创建分支,在测试结束后删除。
适用。由于分支发生在存储层,大数据库的创建时间也几乎与小数据库相同。