Database Internals versus Understanding Distributed Systems.

Both show up on every "best" list. They're not competitors. They're a sequence. Here's which one to read first, and when.

Reviewed by Ashish Sheth · Updated July 2026
Option A
Database Internals
Database Internals
Alex Petrov · 2019
READ FULL REVIEW →
Option B
Understanding Distributed Systems
Understanding Distributed Systems
Roberto Vitillo · 2022
READ FULL REVIEW →
Author
Alex Petrov
Roberto Vitillo
Pages
370
344
Published
2019
2022
Publisher
O'Reilly Media
Roberto Vitillo
Level
advanced
intermediate
Amazon Rating
4.3/5 (552)
4.5/5 (112)
Goodreads Rating
4.27/5 (579)
4.37/5 (544)
Database Internals
Strengths
+ Rare depth on storage-engine and distributed internals
+ Well-organized into a storage half and a distributed half
+ Extensive references for going deeper into the literature
+ Builds intuition for why databases behave the way they do
Caveats
Dense and academic; not a casual read
Assumes comfort with data structures and concurrency
Some sections read as summaries of papers rather than tutorials
Understanding Distributed Systems
Strengths
+ Concise and readable, it covers a lot of ground in under 350 pages
+ Strong at connecting concepts rather than just listing them
+ Practical framing aimed at working developers, not researchers
+ A popular self-study and interview-prep companion to Designing Data-Intensive Applications
Caveats
Breadth over depth: each topic is an introduction, not a deep dive
Few worked code examples
Readers who already know the basics may find parts too high-level
The verdict
Read Understanding Distributed Systems first to build foundations, then move to Database Internals for advanced concepts.
Database Internals
Check Price on Amazon →
Understanding Distributed Systems
Check Price on Amazon →
Frequently asked
Which is better, Database Internals or Understanding Distributed Systems?
Read Understanding Distributed Systems first to build foundations, then move to Database Internals for advanced concepts.
Is Database Internals worth reading in 2026?
Yes for engineers who want to understand storage engines and distributed data systems at depth. The fundamentals it covers, B-Trees, LSM-Trees, replication, and consensus, do not change with fashion. It remains the go-to deep dive after Designing Data-Intensive Applications.
Is Understanding Distributed Systems good for beginners?
It suits developers who can already build a web service but have not studied distributed systems formally. It assumes you know basic networking and databases, then explains communication, coordination, and consistency from there. Pure beginners to programming will find it fast paced.