Cover of Designing Data-Intensive Applications

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

Share: