ToyDB rewritten: a distributed SQL database in Rust, for education
a year ago
- #database
- #Rust
- #educational
- toyDB is a distributed SQL database written in Rust as an educational project.
- Features include Raft distributed consensus, ACID transactions with MVCC-based snapshot isolation, and pluggable storage engines.
- Includes an iterator-based query engine with heuristic optimization and time-travel support.
- Supports SQL features like joins, aggregates, and transactions.
- Originally created in 2020 to learn about database internals, rewritten based on professional experience.
- Designed for simplicity and correctness, not performance or scalability.
- Includes architecture guide, SQL examples, SQL reference, and research materials.
- Can run a local five-node cluster and includes a command-line client.
- Uses Golden scripts for testing and comes with a workload benchmark tool.
- Debugging support via VSCode and CodeLLDB extension.