Designing a database

Last update:
Reading time: less than a minute

As university work cooled down, I’ve started to have more time on my hands, and so I wanted to start a new personal project.

After going through some ideas, like doing some embedded systems programming with FPGAs for HFT (since Quant is something I might be interested in), I have decided on building a database from scratch. I believe that currently, I should do projects which not only are interesting but might get me past company interview stages, which includes the famous and dreaded systems design. By taking on this project, not only do I get to improve my knowledge on database design in general, but I would also gain knowledge that will serve useful when going through job interview.

My plan is to first read enough theory to get a good grasp on databases. Then, once that is taken care of, I will then try to code up a database from scratch. From a brief look online, it seems the most traditional language to do this in is GO, so I might go (haha) with that also. The book I am using to gain this knowledge is “Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems”, the link to which you can find here.

Perhaps I will find the book boring, or be too busy, or procrastinate and not finish the book in its entirety, but until that happens, I will try my best to go through the content and learn more about this topic. Hopefully I find it fun and finally decide on what I might want to do after graduating.

I will try to update my blog with any news or exiting knowledge I learned from the book, so stay tuned!