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

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

#2580 in Database interfaces

Download history 177/week @ 2024-02-20 147/week @ 2024-02-27 18/week @ 2024-03-05 4/week @ 2024-03-12 2/week @ 2024-03-26 28/week @ 2024-04-02

78 downloads per month

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

~11–21MB
~318K SLoC