Recently created a minimal persistent relational database in Go. Main focus was on implementing & understanding working the of database, storage management & transaction handling. Use of B+ Tree for storage engine(support for indexing), managing a Free List (for reusing nodes), Support for transactions, Concurrent Reads.
Still have many things to add & fix like query processing being one of the main & fixing some bugs
Repo link - https://github.com/Sahilb315/AtomixDB
Would love to hear your thoughts
You watched CMU's intro to Database sytems, right? It's really good and thorough. It will save you of some common pitfalls and can help you navigate the trade-offs.
https://www.youtube.com/watch?v=otE2WvX3XdQ&list=PLSE8ODhjZX...