Designing Data Intensive Applications - Chapter 5 Replication

DDIA Notes Chapter 5

Replication

Replication is useful when:

Distributed databases must handle the challenge of data changing over time using strategies like single-leader, multi-leader, and leaderless, each with its pros and cons.

Replication also has its pros and cons, including considerations like Synchronous vs. Asynchronous Replication, handling failed replicas, and the challenge of developers not understanding eventual consistency and checking reads/writes.

Leaders and Followers

Synchronous vs. Asynchronous

Adding New Followers

Node Outages

Implementing Replication Logs

Problem with Replication Lag

Reading own Writes

Monotonic Reads

Consistent Prefix Reads

Multi-Leader Replication

Handling Write Conflicts - Data Racing

Multi-Leader Replication Topologies

Leaderless Replication

Quorums and Consistency