DESCRIPTION
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann is a comprehensive and practical guide to the principles and technologies behind modern data-driven software systems. Published by O'Reilly Media, this book explores how to design, build, and maintain applications that process and store large volumes of data while ensuring reliability, scalability, performance, and long-term maintainability.
The book examines the strengths and limitations of different data storage and processing technologies, including relational databases, NoSQL databases, document stores, graph databases, message brokers, and stream-processing systems. It explains the fundamental concepts behind distributed systems and helps readers understand important technical challenges such as replication, partitioning, transactions, consistency, fault tolerance, and system reliability.
Through detailed explanations and real-world examples, Martin Kleppmann demonstrates how different architectural decisions affect the performance and behavior of data-intensive applications. Readers gain valuable insights into database architecture, distributed data systems, batch processing, stream processing, and the trade-offs involved in building software that operates across multiple machines.
A major strength of the book is its vendor-neutral approach. Rather than focusing on a particular programming language, database, or software platform, it develops a deeper understanding of the underlying principles that make modern applications dependable and efficient. It also connects practical software engineering techniques with important research in distributed computing and database systems.
Designed for software engineers, backend developers, data engineers, database administrators, software architects, and computer science students, Designing Data-Intensive Applications is an essential technical resource for anyone working with modern data infrastructure.
Whether readers are developing large-scale applications, improving existing database systems, or exploring distributed computing, this book provides the knowledge and practical understanding needed to make informed architectural decisions and build reliable, scalable, and maintainable software systems.
Frequently Bought Together
Total Price: —
- Choosing a selection results in a full page refresh.
- Opens in a new window.

