#sql-database #sql #control #relational #locking #phase

app bustubx-cli

A simple relational database written in Rust

2 unstable releases

0.3.0 Mar 2, 2024
0.2.0 Feb 20, 2024

#1891 in Database interfaces

MIT license

395KB
10K SLoC

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

License Crates.io

  • Planner
  • Expression
  • Functions
  • Rule-based Optimizer
  • Volcano Executor
  • Disk Management
  • Buffer Pool
  • Table Heap
  • System Metadata (information_schema)
  • 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

Dependencies

~12–23MB
~343K SLoC