DoltLite:用2000个PR打造的SQLite版本控制

DoltLite: A SQLite fork with Git-style version control, built with 2k agent PRs

DoltLite:用2000个PR打造的SQLite版本控制

我的项目DoltLite终于进入Beta阶段了。五个月前,我为了测试Steve Yegge的Gas Town智能体编排器,决定尝试一个大胆的想法:在SQLite中嵌入Git风格的版本控制。原本担心重写存储引擎太难,但通过2000个由智能体生成的PR,我们成功将Prolly Tree集成到SQLite中。现在的DoltLite不仅保留了SQLite的SQL兼容性,还带来了分支、合并、diff等完整的版本控制功能。存储格式已稳定,通过了99.46%的SQLite测试,性能也达到了微秒级。虽然写入性能略有损耗,但批量写入表现优异。如果你想要一个支持Git工作流的嵌入式数据库,DoltLite Beta已经准备好了。

DoltLite 是一个 SQLite 分支,它将 B-tree 层替换为基于 Prolly Tree 的版本控制存储,让你在 SQLite 中也能实现分支、合并和 diff 功能。
  1. WatchDog

    所以这个项目的核心特性是数据库分支(fork)很容易,但它的速度比 SQLite 慢 1.2 到 4 倍,而且其测试和验证水平完全无法与 SQLite 相提并论。

    简单复制 SQLite 数据库就能实现分支功能,但如果那样太慢,你可以配合写时复制(copy on write)文件系统使用,无论是原生的、FUSE 文件系统,还是自己构建一个 SQLite VFS。

    那样可能构建更快、运行更快,也更容易验证。

  2. nylonstrung

    这个生态里涉及的一切(Gas Town, Dolt, Beads)看起来都像是“氛围编程”(vibecoded)垃圾的绝对谷底。

    这个特定社区一直是某些我见过的最差工程实践的发源地,并且充斥着一种将所有代码细节抽象给 LLM 人设(比如“Refinery”和“Deacon”)的渴望。

  3. vrighter

    我为什么要信任一个靠“氛围编程”写出来的数据库,而不是一个经过千锤百炼、反复测试到极致的数据库?

  4. vonnieda

    看到这个太激动了!我自己也在搞一个类似的东西,但效果很差,我不想这样——我想写一个本地优先的音乐应用,能在所有设备上同步。这个可能帮我实现目标!

  5. grebc

    我没看错吧,是没有 WAL(预写日志)吗?

同日更多故事

2026-09-01