查看: 65|回复: 0

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

[复制链接]

12

主题

0

回帖

36

积分

新手上路

积分
36
发表于 2026-2-27 12:54:48 | 显示全部楼层 |阅读模式
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),以最大化耐久性和跨进程并发性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|青ICP备2025004122号-1

在本版发帖
关注公众号
返回顶部