Database DIY

I have written several posts about this project, and collected them under the database-diy tag.

During 2023-24, my ongoing side project has been slowly building a very simple and naive database sort of from scratch. This is a pure learning exercise, as I wanted to have some experience of writing from the storage up.

The code I’ve written during this project — ToyKV in particular — has helped me a lot in being able to understand more deeply what I read in papers, and other databases’ source code and documentation. By diving down through levels of abstraction during this project, I’ve vastly improved the mental models I use to understand and predict the behaviours of all types of databases.

There are three main codebases I’ve written as part of this:

Overall, all these database DIY projects progress very slowly. I’ve probably spent 30-50 hours in total, but spread over at least a year so far. But it’s one of my favourite projects, as I’ve learned a ton (including Rust!).

← Back to Programs list