- [Preface](preface.md) - [Part I: Foundations of Data Systems](part-i.md) - [1. Trade-offs in Data Systems Architecture](ch1.md) - [2. Defining Nonfunctional Requirements](ch2.md) - [3. Data Models and Query Languages](ch3.md) - [4. Storage and Retrieval](ch4.md) - [5. Encoding and Evolution](ch5.md) - [Part II: Distributed Data](part-ii.md) - [6. Replication](ch6.md) - [7. Partitioning](ch7.md) - [8. Transactions](ch8.md) - [9. The Trouble with Distributed Systems](ch9.md) - [10. Consistency and Consensus](ch10.md) - [Part III: Derived Data](part-iii.md) - [11. Batch Processing](ch11.md) - [12. Stream Processing](ch12.md) - [13. The Future of Data Systems](ch13.md) - [Glossary](glossary.md) - [Colophon](colophon.md)