The document discusses the CAP theorem which states that it is impossible for a distributed computer system to simultaneously provide consistency, availability, and partition tolerance. It defines these terms and explores how different systems address the tradeoffs. Consistency means all nodes see the same data at the same time. Availability means every request results in a response. Partition tolerance means the system continues operating despite network failures. The CAP theorem says a system can only choose two of these properties. The document discusses how different types of systems, like CP and AP systems, handle partitions and trade off consistency and availability. It also notes the CAP theorem is more nuanced in reality with choices made at fine granularity within systems.
8. Replication
Master-Slave Replication
Node B Node B
Multi-Master Replication
Load
Balancer
Master
Slave A Slave B Slave C
Write Operation
Read Operation
Replication
Node D
Node BNode A Node C
11. Why strong consistency is hard to
achieve
Nodes
• each node executes a program concurrently
• knowledge is local
• global state is potentially out of date
• nodes can fail and recover from failure independently
• messages can be delayed or lost
• clocks are not synchronized across nodes
Links
• Asynchronous system model.
• No timing assumptions.
• No bound on message transmission delay
• Useful clocks do not exist.
24. CAP fifteen years later
●
Partitions are rare, there is little reason to forfeit C or
A when the system is not partitioned.
●
Choice between C and A can occur many times
within the same system at very fine granularity.
●
All three properties are more continuous than binary.
●
Most software doesn’t neatly fit CP/AP definition.