Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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).
- Host: GitHub
- URL: https://github.com/systemxlabs/bustubx
- Owner: systemxlabs
- License: mit
- Created: 2023-07-08T14:12:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-26T15:04:06.000Z (10 months ago)
- Last Synced: 2024-04-26T21:02:49.943Z (9 months ago)
- Topics: bustub, database, oltp, rust, sql
- Language: Rust
- Homepage:
- Size: 942 KB
- Stars: 104
- Watchers: 1
- Forks: 11
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
- [ ] WASMP.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)