toyDBRust 编写的分布式 SQL 数据库
toyDB 是用 Rust 编写的分布式 SQL 数据库,作为一个学习项目。大多数组件都是从头开始构建的,包括:
-
用于线性化状态机复制的基于 Raft 的分布式共识引擎。
-
具有基于 MVCC 的快照隔离的符合 ACID 的事务引擎。
-
具有 B+树和日志结构后端的可插拔存储引擎。
-
具有启发式优化和时间旅行支持的基于迭代器的查询引擎。
-
SQL 接口包括投影、过滤器、连接、聚合和事务。
toyDB 不适合在现实世界中使用,但其他学习数据库内部结构的人可能会感兴趣。
toyDB 的架构对于分布式 SQL 数据库来说是相当典型的:一个由 Raft 集群管理的事务键/值存储,上面有一个 SQL 查询引擎。有关更多详细信息,可参阅 架构指南。
评论