Discover new ways of thinking about your distributed data system challenges.

In this practical and comprehensive guide, Martin Kleppmann helps you navigate the diverse and fast-changing landscape of approaches to processing and storing data for data-intensive applications. 

  • Peer under the hood of the systems you already use, and learn how to use and operate them more effectively
  • Make informed decisions by identifying the strengths and weaknesses of different approaches and technologies
  • Understand the distributed systems research upon which modern databases are built
  • Go behind the scenes of major online services and learn from their architectures

GET YOUR FREE DIGITAL COPY

* Your information will be handled as detailed in our privacy policy.

Hear what readers are saying about Designing Data Intensive Applications

Designing Data-Intensive Applications is one of the greatest reference books. When I was working on databases at Google I regularly recommended it to coworkers who needed more background on particular distributed systems topics. It will keep being a go-to book as long as I work in this field.”
- Jaana Dogan, Principal Engineer at Amazon Web Services
This book is awesome. It bridges the huge gap between distributed systems theory and practical engineering. I wish it had existed a decade ago, so I could have read it then and saved myself all the mistakes along the way.”
- Jay Kreps, creator of Apache Kafka and CEO at Confluent
This book should be required reading for software engineers. The explosion of data and its increased importance to the applications we build has created a new set of complex challenges. Designing Data-Intensive Applications is a rare resource that bridges theory and practice to help developers make smart decisions as they design and implement data infrastructure and systems.”
- Kevin Scott, Chief Technology Officer at Microsoft
The essence of building reliable and scalable distributed data systems and efficiently using them to solve real world problems is in mastering the tradeoffs associated with the design choices. Designing Data Intensive applications explores them like none other and provides a unbiased view of how distributed systems have made these choices over time.”
- Veena Basavaraj, Director of Engineering at WeWork

About the author

Martin Kleppmann
Martin is a researcher in distributed systems at the University of Cambridge. Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. In the process he learned a few things the hard way, and he hopes this book will save you from repeating the same mistakes.