版本控制数据库
Version-Controlled Database
使用版本控制数据库实现数据的分支、合并、历史追溯和分布式同步
子问题
1.Cell-level 三路合并
2.Embedded vs Server 模式切换
3.Federation 远程同步
4.数据主权分级控制
5.服务器自动启动与空闲停止
6.确定性端口派生避免冲突
7.停机前工作集自动刷盘
8.测试数据库与生产端口隔离防火墙
各项目的解法1 solutions
Signals
横向对比
| 维度 | beads |
|---|---|
| 存储引擎 | Dolt(Git for Data),MySQL 协议兼容,纯 Go 连接 |
| 版本控制粒度 | Cell-level 三路合并,每次写操作自动 DOLT_COMMIT |
| 同步机制 | Federation:fetch → merge → resolve → push 双向同步 |
| 冲突解决 | ours/theirs/manual 三策略,DOLT_CONFLICTS_RESOLVE 存储过程 |
| 数据主权 | T1-T4 四级 Sovereignty,per-peer 绑定 |
| 服务器管理 | 自动启动 + FNV hash 端口派生 + 空闲 30min 自动停止 |
| 凭证安全 | AES-256-GCM 加密存储 + 环境变量临时注入 + 互斥锁保护 |
| 历史查询 | AS OF 时间旅行 + dolt_history_* + dolt_diff() 表函数 |
最佳实践
1.每次写操作自动 commit
2.Hash-based ID 避免合并冲突
3.Sovereignty 分级保护敏感数据
4.SQL 事务先提交再执行 Dolt commit 避免状态损坏
5.FNV hash 路径派生端口确保确定性
6.环境变量注入凭证 + 互斥锁保护并发安全
7.14 种瞬态错误分类 + 指数退避重试