Designing Data-Intensive Applications
The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
ISBN: 9781449373320
Started: 2026-02-23
Finished: 2026-05-27
Review
Essential reading for every developer. This book offers the clearest, most comprehensive overview of data storage and distributed systems—two fundamental pillars of modern software development—that I've encountered. Martin Kleppmann masterfully distills a vast amount of research, breaking down complex concepts and challenging trade-offs into explanations that are both accessible and insightful.
Quotes
-
One of the best tools we have for removing accidental complexity is abstraction. [21]
-
data outlives code. [130]
-
May your application's evolution be rapid and your deployments be frequent. [140]
-
In distributed systems, suspicion, pessimism, and paranoia pay off. [277]
-
The fastest and most reliable network request is no request at all! [509]
-
"machine learning is like money laundering for bias" [534]
-
As a thought experiment, try replacing the word data with surveillance, and observe if common phrases still sound so good. How about this: "In our surveillance-driven organization we collect real-time surveillance streams and store them in our surveillance warehouse. Our surveillance scientists use advanced analytics and surveillance processing in order to derive new insights."
This thought experiment is unusually polemic for this book, Designing Surveillance-Intensive Applications, but I think that strong words are needed to emphasize this point. [537] -
The right to privacy is a decision right; it enables each person to decide where they want to be on the spectrum between secrecy and transparency in each situation. [539]