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/Sharding

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