Summary Preface 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 Glossary Colophon