
Designing Data-Intensive Applications
by Martin Kleppmann
Published 2017·662 pages
SoftwareDevelopmentEngineering Management
Find on Goodreads →Who Should Read This
Backend engineers, data engineers, and architects working with distributed systems. Tech leads making infrastructure decisions about databases, streaming, and data pipelines.
What's Inside
Part I: Foundations of Data Systems
1. Reliable, Scalable, and Maintainable Applications
2. Data Models and Query Languages
3. Storage and Retrieval
4. Encoding and Evolution
Part II: Distributed Data
5. Replication
6. Partitioning
7. Transactions
8. The Trouble with Distributed Systems
9. Consistency and Consensus
Part III: Derived Data
10. Batch Processing
11. Stream Processing
12. The Future of Data Systems