Description
Designing Data-Intensive Applications
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems is a guide to the concepts behind modern data technologies, written by Martin Kleppmann and published by O’Reilly. It is written for software engineers and architects building data-heavy systems, and it stays vendor-neutral rather than teaching a single tool or framework. The book covers relational databases, NoSQL datastores, message brokers and stream processors.
It works through the trade-offs in distributed systems, including replication, partitioning, transactions, consistency models and consensus algorithms. The goal throughout is to turn abstract theory into the engineering decisions that keep a system reliable and maintainable as data volume and complexity grow.
Storage engines and how data is stored
A section explains the data structures behind modern databases, including B-trees and LSM-trees, and how they affect how data is stored and retrieved.
Distributed systems and their trade-offs
The book breaks down the challenges of distributed systems, covering replication lag, partitioning strategies and distributed transactions, the problems that show up once a system runs across more than one machine.
Batch and stream processing
Chapters cover approaches to deriving data from other data, from MapReduce to continuous event stream processing, and compare relational, document and graph data models on their strengths and weaknesses.
Book details
- Title: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- Author: Martin Kleppmann
- Publisher: O’Reilly
- ISBN-13: 9781449373320
Questions buyers ask
Who is this book for?
Software engineers and architects who design or build data-heavy systems.
Does it teach one specific database or tool?
No. It stays vendor-neutral, covering the concepts behind relational databases, NoSQL datastores, message brokers and stream processors.
What does it cover about distributed systems?
Replication, partitioning, transactions, consistency models and consensus algorithms, the trade-offs that come with running a system across more than one machine.
Does it cover stream processing?
Yes, from MapReduce-style batch processing to continuous event stream processing.
Does it compare different data models?
Yes, relational, document and graph data models are compared on their strengths and weaknesses.







Reviews
There are no reviews yet.