PrefacePART 1. Foundations of Data Systems1 Reliable, Scalable, and Maintainable Applications2 Data Models and Query Languages3 Storage and Retrieval 4 Encoding and EvolutionPART 2. Distributed Data5 Replication6 Partitioning7 Transactions8 The Trouble with Distributed Systems9 Consistency and Consensus PART 3. Derived Data10. Batch Processing11. Stream Processing12. The Future of Data Systems