by ashwin110 on 7/14/24, 10:20 PM with 14 comments
So far I have the CMU Advanced DB course (https://15721.courses.cs.cmu.edu/spring2024/) and the Database Internals book.
While I'm learning a lot about how databases work, I have no clue how to start writing my own, so I was wondering if there were any resources for building a relational database, I've only found some for KV Stores. Hopefully something less intimidating to get started than having to read SQLite code.
by pvg on 7/14/24, 11:34 PM
You can widen the search a bit by taking out 'implementation' and trying some other terms like 'book', 'internals', etc.
by avinassh on 7/15/24, 1:41 PM
I know you mentioned about RDBMS, but may I introduce you to a structured path for building a KV Store, which can be a foundation for a RDBMS? My project is in TDD fashion with the tests. So, you start with simple functions, pass the tests, and the difficulty level goes up. When all the tests pass, you will have written a persistent key-value store.
by jasfi on 7/15/24, 9:59 AM
They publish their latest course videos every year, during the year. Andy Pavlo is highly knowledgeable about the field.
by gerdesj on 7/14/24, 11:39 PM
That class drops a few buzz words in its advert: OLAP and dirty!
What sort of "simple" RDBMS are you envisioning that is different from the current lot?
by DemocracyFTW2 on 7/15/24, 2:55 AM
Then there's also some projects who have tried to port or re-create SQLite in Rust.
by apavlo on 7/15/24, 4:21 PM
https://15445.courses.cs.cmu.edu
Lectures start next month. Or you can watch previous years. Learn to walk before you run.
by smitty1e on 7/15/24, 1:34 AM
One could probably go quite a ways in bare python with lists of dataclasses and pickles, never mind the performance.
That's your backend.
Then you might find some prior art in the way of a SQL parser for a front end.
by philonoist on 7/15/24, 1:23 AM
by joshbochu on 7/14/24, 11:26 PM