Back to bookshelf

Designing Data-Intensive Applications

Martin Kleppmann

Tech/Completed

About

An in-depth guide to the core technologies behind modern, data-intensive backends. It covers data models, replication, partitioning, transactions, and consensus protocols in detail.

Rating

5/5

My take

Changed how I think about building backends entirely. Before this, I treated databases as black boxes. After it, I understood why certain architectural choices — like event logs, LSM trees, or quorum writes — exist and what they actually trade off. If you're building anything that touches data at scale, this is non-negotiable reading.

Key takeaway

Every system eventually fails. Design for failure from the start, not as an afterthought. The choice between consistency and availability isn't academic — it shows up in every product decision you make.

Get it / ~$40