bustubx icon indicating copy to clipboard operation
bustubx copied to clipboard

[WIP] A relational database written in Rust for educational purpose, heavily inspired by cmu-db/bustub. (CMU 15-445).

BustubX - a relational database for educational purpose (CMU 15-445)

License Crates.io

  • [x] Planner
  • [x] Expression
  • [x] Functions
  • [x] Rule-based Optimizer
  • [x] Volcano Executor
  • [x] Disk Management
  • [x] Buffer Pool
  • [x] Table Heap
  • [x] System Metadata (information_schema)
  • [x] B+ Tree Index
  • [ ] Parallel Execution
  • [ ] Two Phase Locking
  • [ ] Multi-Version Concurrency Control
  • [ ] Crash Recovery
  • [ ] WASM

P.S. See here to know which sql statements are supported already.

Architecture

architecture

Get started

Install rust toolchain first.

RUST_LOG=info,bustubx=debug cargo run --bin bustubx-cli

demo

Reference