🇷🇺|🇷🇸 Dmitriy Lezhnev
Software Developer
PHP/LEMP-stack/Go practitioner
Zend Certified Engineer
Clean Architecture advocate

PHP version 7+ Nginx web-server MySQL Linux Ubuntu Jet Brains Docker DuckDB Clickhouse
Remote developer

Find me on the Internet

Sun, 30 Jul 2023

# Databases Design Reading List

Table of Contents

Once I dived into the world of storage engines (that powers modern DBMSes) I instantly discovered a huge hole in theoretical and practical knowledge in this area. Compared to my usual work profile related to web-services, where a database is abstracted behind simple API like SQL, database internals seem foreign but quite exciting, sparking imagination, so to speak.

If we are to study how databases work we can start as low as file I/O and related system calls, which leads us to refreshing how operating systems work and how to optimize I/O. DB engines deal with quite different data payload, often huge payload, so learning how to represent data in memory for optimal read or write is crucial. Fundamental algorithms for dealing with datastructures (memory-resident or disk-resident) is an important step on the way.

At this point I am mostly interested in low-level ideas powering database engines, the ones that manage memory and disk I/O. I believe I will expand my interest further as I learn foundational pieces. Here is my personal reading list that I use for writing data storage related programs.

# Books

# Papers

# Videos

  • Fundamentals of Database Engineering (udemy course) by Hussein Nasser. This is an overview of database technology landscape. What I liked about it is its entertainment nature. The author is a good storyteller, and it could be a nice way to consume and systemize information.
  • A New Era for Database Design with TigerBeetle by Joran Dirk Greef. A brilliant sum-up of the foundational flaw in the MOST modern databases - they all rely on the kernel page cache for durability, and it is just flawed.

The list evolves as I read new things and find them helpful.

ATOM feed | Website source code