Designing Data-Intensive Applications

Designing Data-Intensive Applications The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

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 technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern 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 tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures
Sign up to use

Reviews

Photo of Bouke van der Bijl
Bouke van der Bijl@bouk
5 stars
Mar 1, 2023

This book is incredibly useful if you spend time engineering software systems that process data (AKA all systems). In my career at Shopify I've spent time as a Data Engineer working on Hadoop/Spark batch processing systems, on the 'Merchant Analytics' team working on a stream processing and real-time analytics database, and as an application developer working on standard Rails apps. Having this book available to me would've been incredibly useful, and it contains many many lessons I've learned over the past couple of years, but written down in a way that's way clearer than I could ever formulate it.

Photo of Bruce Wang
Bruce Wang@number5
5 stars
Jan 12, 2023

A book explained all the modern database-like techs and how their internal works, insightful yet easy to understand, recommended for everyone who write code

Photo of Hatem Abdelmowgoud
Hatem Abdelmowgoud @iammowgoud
5 stars
Aug 31, 2022

This book is definitely a classic. The book basically touches upon the surface of a wide array of topics related to handling data in a distributed environment; ranging from basic database theory, ACID, replication and partitioning to more complex (and "modern") topics like stream and batch processing on the cloud. Martin Kleppman lays down all the needed information on what every engineer needs to know about designing systems that deal with any kind of data. Although the book doesn't dive into deep technical details, it has a very good bibliography and footnotes that leads you to all of the academic papers you need. Overall, the book is an essential read for any software/data engineer in 2019.

Photo of Sagar Rathna Sabapathy
Sagar Rathna Sabapathy@sagar_s
5 stars
Apr 2, 2023
Photo of Taylor Murphy
Taylor Murphy@tayloramurphy
5 stars
Apr 7, 2024
Photo of Sara Sunshine
Sara Sunshine@sarasunsh
5 stars
Jan 30, 2024
Photo of Brian
Brian@briany
5 stars
Jan 25, 2024
Photo of Thomas Wang
Thomas Wang@xg
5 stars
Jan 23, 2024
Photo of D VA
D VA@pneumatic
4 stars
Dec 25, 2023
Photo of Ryan Lavin
Ryan Lavin@rlavin
4 stars
Dec 19, 2023
Photo of jacob
jacob@jkob
5 stars
Dec 18, 2023
Photo of Anwar
Anwar@zianwar
4 stars
Apr 28, 2023
Photo of Guillermo Rodas
Guillermo Rodas@glrodasz
5 stars
Mar 29, 2023
Photo of Anthony
Anthony@amorriscode
5 stars
Mar 25, 2023
Photo of Hardik Prajapati
Hardik Prajapati@hardik
5 stars
Feb 26, 2023
Photo of Jakub Kopys
Jakub Kopys@jakubkopys
4 stars
Jan 27, 2023
Photo of Nitesh Donti
Nitesh Donti@nitesh
5 stars
Jan 24, 2023
Photo of A M
A M@codito
5 stars
Jan 22, 2023
Photo of Matt Boegner
Matt Boegner@mboegner
5 stars
Jan 4, 2023
Photo of Daniel Tao
Daniel Tao@chirality
5 stars
Jan 2, 2023
Photo of Erik Horton
Erik Horton@erikhorton
5 stars
Dec 20, 2022
Photo of Swastik
Swastik@swastik
5 stars
Nov 27, 2022
Photo of Julien Sobczak
Julien Sobczak@julien-sobczak
5 stars
Oct 22, 2022
Photo of Sam Rijs
Sam Rijs@srijs
5 stars
Sep 14, 2022