CHAPTER: 1. Trade-Offs in Data Systems Architecturepp. 25–56
CHAPTER: 2. Defining Nonfunctional Requirementspp. 57–88
CHAPTER: 3. Data Models and Query Languagespp. 89–138
CHAPTER: 4. Storage and Retrievalpp. 139–184
CHAPTER: 5. Encoding and Evolutionpp. 185–220
CHAPTER: 6. Replicationpp. 221–274
CHAPTER: 7. Shardingpp. 275–300
CHAPTER: 8. Transactionspp. 301–368
CHAPTER: 9. The Trouble with Distributed Systemspp. 369–424
CHAPTER: 10. Consistency and Consensuspp. 425–474
CHAPTER: 11. Batch Processingpp. 475–510
CHAPTER: 12. Stream Processingpp. 511–562
CHAPTER: 13. A Philosophy of Streaming Systemspp. 563–608
CHAPTER: 14. Doing the Right Thingpp. 609–626
Summarized ✓