Skip to main content
BookNon-fiction

Designing Data-Intensive Applications

by Martin Kleppmann

4.8(3,214)

Synopsis

No other book captures the engineering tradeoffs of modern data systems as clearly as this one. Kleppmann walks through the foundations — data models, storage, replication, partitioning, transactions, consensus — and explains the “why” behind every design choice. He does not pick winners. He equips you to make the call yourself.

Who it’s for

Backend engineers, architects, and anyone preparing for system design interviews. You’ll come out with a mental model of distributed systems that holds up under real-world pressure.

Chapters

  1. Foundations of Data Systems
  2. Data Models & Query Languages
  3. Storage & Retrieval
  4. Encoding & Evolution
  5. Replication
  6. Partitioning
  7. Transactions
  8. The Trouble with Distributed Systems
  9. Consistency & Consensus
  10. Batch Processing
  11. Stream Processing
  12. The Future of Data Systems

Advertisement

728 × 90

Comments3

You
Sarah Chen
Sarah Chen• 2 days ago

This is exactly what I needed. The breakdown of architectural tradeoffs was particularly illuminating — especially the point about eventual consistency vs. strong consistency being a product decision, not just a technical one.

Marcus Webb
Marcus Webb• 1 day ago

Agreed. Would love a follow-up that goes deeper on the consensus algorithms.

Priya Patel
Priya Patel• 3 days ago

Curious how this approach holds up at 10x the scale. Have you tested with sharded clusters?