FrankenSQLite,一个完全用Rust从零开始独立实现的SQLit

蚁工厂 2026-02-27 13:36:14

FrankenSQLite,一个完全用 Rust 从零开始独立实现的 SQLite,具有并发写入和信息论持久性。github.com/Dicklesworthstone/frankensqlite

FrankenSQLite 从零开始用安全的 Rust 重新实现 SQLite,并引入了两个架构创新:----MVCC 并发写操作。单写锁被页级别的多版本并发控制(MVCC)替代。只要写操作触及不同的页面,多个写操作可以同时提交。可序列化快照隔离(SSI)默认防止写 skew。安全的写入合并梯队(意图重放 + 结构化页面补丁)解决了同一页面的冲突,而不需要行级别的 MVCC 元数据;SQLite 的结构化页面禁止使用原始字节范围 XOR 合并。

----RaptorQ 普遍耐久性。每个持久层都通过 asupersync 的生产级 RaptorQ 实现注入了 RFC 6330 的喷泉编码。WAL 帧携带修复符号,用于写入损坏后的自我修复。快照传输使用无速率编码,在丢包网络上实现带宽最优的复制。数据丢失变成了一种数学上的近乎不可能的事件,而不是需要缓解的故障模式。

在兼容模式下,文件格式与现有的 .sqlite 数据库保持 100% 兼容。原生模式将所有内容存储为内容寻址、擦除编码的对象(ECS),以最大化耐久性和跨进程并发性。

0 阅读:10
蚁工厂

蚁工厂

感谢大家的关注