一款分布式、可水平扩展的开源图数据库,支持 OpenCypher 兼容查询。
1.2万1343C++Apache-2.0更新于 2个月前
用 Rust 编写的分布式 SQL 数据库教学项目,包含 Raft 共识、MVCC 事务和 SQL 接口。
toyDB 是一个用 Rust 从零实现的分布式 SQL 数据库,用来演示分布式 SQL 系统的工作原理。它使用 Raft 共识在集群内复制状态,提供可线性化的状态机复制;事务层基于 MVCC 实现快照隔离的 ACID 事务。
存储层可插拔,目前提供 BitCask 和内存两种后端。键值存储之上是基于迭代器的查询引擎,支持启发式优化和时间旅行读取,SQL 接口涵盖连接、聚合和事务。命令行客户端 toysql 可以连接节点,EXPLAIN 可查看查询计划。
项目优先保证简单与正确性,性能、可扩展性和可用性不在目标之内,因此代码主要用于阅读和学习。测试以 Goldenscript 场景测试为主,仓库还附带架构导览和负载基准工具。
安装 Rust 编译器
启动本地五节点集群
./cluster/run.sh构建并运行命令行客户端连接节点 1
cargo run --release --bin toysql概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
一款分布式、可水平扩展的开源图数据库,支持 OpenCypher 兼容查询。
面向分布式系统关键数据的可靠分布式键值存储,基于 Raft 共识算法与 gRPC 接口。
基于强一致键值存储构建的云原生分布式 SQL 数据库,兼容 PostgreSQL 协议。
基于 SQLite 构建的轻量级、容错分布式关系型数据库,通过 Raft 共识实现多节点复制。
一款可水平扩展的分布式图数据库,原生支持 GraphQL 查询与 ACID 事务。
面向物联网和工业物联网场景的开源高性能时序数据库,支持 SQL 查询。