Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/systemxlabs/bustubx

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

bustub database oltp rust sql

Last synced: 3 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# BustubX - a relational database for educational purpose (CMU 15-445)
![License](https://img.shields.io/badge/license-MIT-blue.svg)
[![Crates.io](https://img.shields.io/crates/v/bustubx.svg)](https://crates.io/crates/bustubx)

- [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](tests/sqllogictest/slt) to know which sql statements are supported already.

## Architecture
![architecture](./docs/bustubx-architecture.png)

## Get started
Install rust toolchain first.
```
RUST_LOG=info,bustubx=debug cargo run --bin bustubx-cli
```

![demo](./docs/bustubx-demo.png)

## Reference
- [CMU 15-445/645 Database Systems](https://15445.courses.cs.cmu.edu/fall2022/)
- [cmu-db/bustub](https://github.com/cmu-db/bustub)
- [Fedomn/sqlrs](https://github.com/Fedomn/sqlrs) and [blogs](https://frankma.me/categories/sqlrs/)
- [KipData/KipSQL](https://github.com/KipData/KipSQL)
- [ysj1173886760/TinyDB](https://github.com/ysj1173886760/TinyDB)
- [arrow-datafusion](https://github.com/apache/arrow-datafusion)
- [CMU 15-445课程笔记-zhenghe](https://zhenghe.gitbook.io/open-courses/cmu-15-445-645-database-systems/relational-data-model)
- [CMU15-445 22Fall通关记录 - 知乎](https://www.zhihu.com/column/c_1605901992903004160)
- [B+ Tree Visualization](https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html)