教学项目:toyDB,基于 Rust 从头构建的分布式 SQL 数据库。
github.com/erikgrinaker/toydb
主要特性包括:
✨采用 Raft 分布式共识算法,实现线性一致的状态机复制。
✨基于 MVCC 快照隔离的 ACID 事务。
✨支持 BitCask 和内存后端的可插拔存储引擎。
✨基于迭代器的查询引擎,具备启发式优化和时间旅行支持。
✨包含连接、聚合和事务的 SQL 接口。
toyDB 旨在简单易懂,同时功能完备且正确。其他方面如性能、可扩展性和可用性并非目标——这些是生产级数据库中复杂性的主要来源,会掩盖基本的核心概念。在可能的情况下已采取了简化处理。
图片为系统架构。
AI创造营