
Designing Data-Intensive Applications
The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
by Martin Kleppmann · first published 2017
69% recommend30% neutral1% critical
Why HN recommends it
Explains database internals, distributed systems and trade-offs at a level that is deep but still readable. Suited to working engineers, data engineers and anyone preparing for system design work.
Common criticism: Dense and academic, working at a lower level than practical design guides
Summarised by Claude from recommending comments
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologie
Affiliate links. As an Amazon Associate I earn from qualifying purchases.





…work-related. This year, however, I am not sure which book to pick up. I would love to see what's on your summer reading lists. My recent favourites: Bayesian Data Analysis, 3rd ed, by Gelman et al Designing Data-Intensive Applications, by Martin Kleppmann The Art of Electronics, by Horowitz & Hill
on “Ask HN: Technical Summer Reading List” ↗Hello HN, Recently I finished Designing Data-Intensive Applications by Martin Kleppmann. All I can say is I wish I read this years ago. I'm a software engineer and didn't know a lot of the things I learned from that book. This got me thinking, what other books have I…
on “Ask HN: Books that improved your career?” ↗…over the last 5 years. I've been meaning to update it slightly, to recommend _Computer Systems: A Programmer's Perspective_ over P&H (although P&H is still excellent) as well as Martin Kleppmann's book _Designing Data-Intensive Applications_ for distributed systems.
on “Ask HN: How Sound Is the “Teach Yourself CS” Learning Resource?” ↗FWIW, the article mentions the book "Designing Data-Intensive Applications" by Martin Kleppmann. I wanted to throw out my own endorsement for the book, it's been instrumental in helping me design my own fairly intensive data pipeline.
on “Publishing with Apache Kafka at The New York Times” ↗…Code book is ranked so high, I personally didn't get much out of it though it's probably a great introductory book to people who are new to the field. On a related note, my favorite book this year was "Designing Data-Intensive Applications" by Martin Kleppmann. It's a great overview of modern database systems with a good balance between theory and practice.
on “Top Books on Amazon Based on Number of HN Users Linking Them in Comments” ↗I thoroughly enjoyed "Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems" from Martin Kleppmann. It's a great book that goes into pretty much all of the commonly used strategies to scaling data-intensive applications.…
on “Ask HN: Recommended books and papers on distributed systems?” ↗…Taleb): Taleb is a complicated personality, but this book gave me a heuristic for thinking about long-tails and uncertain events that I could never have derived myself from a probability textbook. * Designing Data Intensive Applications (M Kleppmann): Provided a first-principles approach for thinking about the design of modern large-scale data infrastructure. It's not just about assembling different technologies -- there are principles…
on “Ask HN: Which book or course gave you an unfair advantage?” ↗For anyone eager to read something now, Designing Data-Intensive Applications [1] is an excellent and completed book that covers nearly all of the same material with significant depth. [1] https://www.amazon.com/Designing-Data-Intensive-Applications...
on “Data Engineering Cookbook” ↗The book “Designing Data-Intensive Applications” by Martin Kleppman is a fantastic read with such a concise train of thought. It builds up from basics, adds another thing, and another thing. I kept asking myself, what would happen if I were to extend…
on “Ask HN: Learning about distributed systems?” ↗The easiest path is to read Designing Data Intensive Applications by Martin Kleppman. Builds from the ground up and by the end (or after a second read) you will have a deep understanding. Book hits on all of of the tech you mentioned except Kube. For that read one of…
on “Ask HN: Learning Distributed Systems as a Junior Engineer” ↗…Three Easy Pieces. Covers persistence, virtualisation and concurrency. This book is available for free at https://pages.cs.wisc.edu/~remzi/OSTEP/ - Multiple systems, and how data flows through them - Designing Data Intensive Applications. Covers the low level details of how databases persist data to disk and how multiple nodes coordinate with each other. If you’ve heard of the “CAP theorem”, this is the source to learn it from. Worth…
on “Ask HN: How to learn proper systems programming?” ↗Anything you recommend instead? Personally, I got a lot of value from Designing Data-Intensive Applications by Martin Kleppmann.
on “Books that changed my career as a software engineer” ↗…familiar with the interview format. There are some common resources recommended for this sort of thing if you want to also make sure you've read the right content. The most helpful resources for me were the DDIA book [1] and the "Systems Design Interview" YouTube channel [2]. Both are great for breadth and getting exposure to a ton of different concepts -- after that, you can follow your nose (or the book's bibliography)…
on “Ask HN: What is best way to do hands-on practice for system design?” ↗Designing Data-Intensive Applications by Martin Kleppmann
on “Ask HN: What are the best tech books you read in 2021?” ↗Designing Data-Intensive Applications by Martin Kleppmann [0] [0] https://www.amazon.com/gp/product/1449373321/
on “Ask HN: What are the best textbooks in your field of expertise?” ↗