
Designing Data-Intensive Applications, 2nd Edition
Martin Kleppmann & Chris Riccomini
Free download · 500+ book summaries
What is Designing Data-Intensive Applications, 2nd Edition about?
Every app you use quietly solves the same hard problems: storing data so it comes back fast, staying up when machines die, and staying correct when networks lie and clocks drift. Kleppmann and Riccomini's modern classic maps the principles behind reliable, scalable, and maintainable data systems, from databases and replication to streaming and the ethics of data as power. The clearest guide to the territory.
Key ideas of Designing Data-Intensive Applications, 2nd Edition
Trade-offs Over Solutions
Every data system decision gives up something to gain something else, and understanding what each tool sacrifices is the only way to choose wisely.
Distributed Systems Failure Modes
Unreliable networks, drifting clocks, and process pauses make distributed systems far harder to reason about than any single-machine program.
Data as Power and Pollution
Personal data collected at scale enables surveillance and encoded discrimination, giving engineers a responsibility beyond technical correctness.
Read an excerpt from the summary
Designing Data-Intensive Applications
*The big ideas behind reliable, scalable, and maintainable systems. Martin Kleppmann & Chris Riccomini (2nd edition, 2026)*
The handful of brutally hard problems hiding under everything
Open your phone. The feed that loaded in under a second was assembled from posts written by hundreds of people you follow, somehow ranked and merged and delivered before your thumb finished its swipe. The message you sent landed on a friend's screen on another continent. A search box guessed what you meant before you finished typing. None of this feels remarkable, because it almost always works.
Now imagine it doesn't. A small news site gets linked from somewhere huge, and the instant the traffic hits, the whole thing melts: pages time out, the database falls over, and the more users retry, the deeper it sinks, until it never recovers even after the crowd leaves. Or picture a bank transfer that debits one account but the matching deposit silently never lands, and now money has simply evaporated inside a computer. Or two servers that both, at the same moment, become convinced they are in charge of the same data, and quietly start corrupting it in ways nobody notices for hours. Every one of these is a real failure mode, and every app you touched today is quietly solving the same small set of genuinely hard problems to avoid them.
That is what this book is about. Not one database, not one framework, but the durable principles underneath all of them: how to store data so you can get it back fast, how to keep copies in sync across machines that fail and clocks that lie, how to stay correct when the network drops packets at the worst possible moment, and ultimately, what we owe the people whose lives are encoded in all that data. We will move through three movements: the lens the whole book hands you (every decision is a trade-off, measured against reliability, scalability, and maintainability); the heart of it, distributed data, where replication, consistency, and consensus turn out to be much harder and more interesting than they look; and the close, where the authors put down the engineering and ask the uncomfortable question, technical excellence in service of what?
Like it?
Continue in the appWho is it for?
- Anyone who builds or designs backend systems and wants to understand why databases and distributed architectures behave the way they do.
- Anyone who has been burned by cache inconsistency, replication lag, or a mysterious outage and wants a principled framework for diagnosing what went wrong.
- Anyone who works with data pipelines, stream processing, or analytics infrastructure and needs to think clearly about correctness and reliability.
- Anyone who wants to move beyond following tutorials and start reasoning about data systems from first principles.
About the author: Martin Kleppmann & Chris Riccomini
Martin Kleppmann is a researcher and software engineer known for his work on distributed systems and databases, and for creating the Automerge CRDT library, a practical implementation of conflict-free collaborative data merging.
Chris Riccomini is a software engineer and author with experience building large-scale data infrastructure, who contributed new material for the 2026 second edition. Together they bring both theoretical depth and hands-on engineering experience to the subject.
Read it in 56 minutes
The summary of Designing Data-Intensive Applications, 2nd Edition and 500+ more books await in the BookBase app.