A DBMS implemented using Rust.
This system is not meant to be used in any sort of production environment, as I mainly implemented it as a way to lean more about the following topics:
- Databases
- Rust
- Concurrency
- I/O Optimizations
Basically, what I'm saying is that I have no clue what I'm doing and ALL the code in this repo can be improved in many different ways.
The main goal I had in mind with when I started working on this project was to implement a piece of software that:
- Accepts multiple connections at the same time
- Runs SQL queries a decently performant manner
- Runs transactions concurrently
Here are a bunch of resources that I used in the process of developing this project:
- The CMU Intro To Database Systems Course (If there were one resource that I can wholehartedly recommend for learning more about how databases work, it would be this course)
- The BusTub Source Code (This is very useful if you follow along with the course)
- Tony Saro's Writing My Own Database From Scratch Video (This is the video that made me start this project)
- Mara Bos's Rust Atomics and Locks Book
- The PostgreSQL Documentation
- The PostgreSQL source code (I generally reference it here)