Chapter 5: Replication
**Replication** means keeping a copy of the same data on multiple machines (connected via a network). Reasons to replicate:
**Replication** means keeping a copy of the same data on multiple machines (connected via a network). Reasons to replicate:
For very large datasets or very high query throughput, a single machine is not enough. **Partitioning** (also called sharding) breaks the data into.
Real applications are messy — the database can crash, network connections can drop, multiple clients write concurrently, and partial reads of partially updated.
Working with distributed systems requires a fundamentally different mindset than single-machine programming. In a single process, if something works once, it.
Chapter 8 cataloged everything that can go wrong in distributed systems. This chapter asks: **given all those failure modes, what guarantees can we actually.