Designing Data Intensive Applications - Martin Kleppmann¶ Note This is the definitive system design interview book. Chapter 1 - Reliable, Scalable, and Maintainable Applications¶ Chapter 2 - Data Models and Query Languages¶ Chapter 3 - Storage and Retrieval¶ Chapter 4 - Encoding and Evolution¶ Chapter 5 - Replication¶ Chapter 6 - Partitioning¶ Chapter 7 - Transactions¶ Chapter 8 - The Trouble with Distributed Systems¶ Chapter 9 - Consistency and Consensus¶ Chapter 10 - Batch Processing¶ Chapter 11 - Stream Processing¶ Chapter 12 - The Future of Data Systems¶