Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Database InternalsAlex Petrov

    Database Internals

    Alex Petrov · 2019

    When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But with so many distributed databases and tools available today, it's often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals. Throughout the book, you'll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You'll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed. This book examines: Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency

    Systems & OS
    Open LibraryAmazon
    Stats for nerds
    31recommend
    54mentions
    46people
    2019–2026years
    69% recommend31% neutral

    Mentions per year

    20192020202120222023202420252026

    What Hacker News says

    1. bddickenApr 2026
      It's really just a matter of tradeoffs. B-trees are great, but are better suited for high read % and medium/low write volume. In the opposite case, things like LSMs are typically better suited.

      If you want a comprehensive resource, I'd recommend reading either Designing Data Intensive Applications (Kleppman) or Database Internals (Petrov). Both have chapters on B-trees and LSMs.

      thread
    2. sargstuffMar 2025
      Load balancing / APIs / latency / replicating data is usually handled at OS level (drivers, 'database as an os', traditional 'os', 'caching', memory,hard drive, network load balancing )

      Programming languate data structure level detail : "Database Internals, A Deep Dive into How Distributed Data Systems Work" by Alex Petrov

      thread
    3. skrtskrtFeb 2025
      I also recommend "Database Internals" to people. An invaluable book, the logical next read after "Designing Data-Intensive Applications". It's the best and most approachable resource on distributed systems and database consistency / performance tradeoffs I have found.
      thread
    4. cforsOct 2024
      While not strictly for RDBMS, I think this book is pretty close!

      https://www.databass.dev/

      thread
    5. tontintonJan 2024
      For a while now I had the urge to learn how to pick the "right" database for projects, I looked around online at different databases to try to understand their different traits, and was bombarded with marketing instead of actual info on the advantages and drawbacks.

      The only solution for me was to learn some database internals (I read the wonderful book written by Alex Petrov), and the problems seemed so interesting, I could not fight the urge and went ahead with trying to write my own db.

      Anyway, ~9 months have passed and I feel like I'm "done", I have learned a ton, and really proud of dbeel.

      Now I can pick a database and way more easily understand what are its most defining traits.

      Some short time in the future, I will release a blog post or something, where I will write about the fundamental problems you need to solve when writing a performant data system like a database, so stay tuned :)

      thread
    6. rx987Jan 2024
      database internals by alex petrov comes to mind.
      thread

    Related

    Cover of Database systems
    2015–2021

    Database systems

    Peter Rob
    4 recommend · 4
    Cover of Database System Concepts
    2012–2023

    Database System Concepts

    Korth
    4 recommend · 8
    Cover of Understanding MySQL internals
    2017–2022

    Understanding MySQL internals

    Alexander Sasha Pachev
    2 recommend · 5
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    The Art of PostgreSQLDimitri Fontaine
    2019–2026

    The Art of PostgreSQL

    Dimitri Fontaine
    20 recommend · 25
    Cover of CPython Internals
    2020–2024

    CPython Internals

    Anthony Shaw
    6 recommend · 9
    Cover of UNIX relational database management
    2013–2023

    UNIX relational database management

    Rod Manis
    recommend · 4
    2
    Cover of Database design and implementation
    2011–2024

    Database design and implementation

    Edward Sciore
    7 recommend · 14