Questions: Consistency Models in Distributed Systems
3 questions to test your understanding
Score: 0 / 3
Question 1 Multiple Choice
Two consistency models are commonly confused. Which one is strictly stronger: linearizability or sequential consistency?
ASequential consistency, because it allows more orderings
BLinearizability, because it additionally requires real-time ordering of operations
CThey are equivalent — both require a single global order
DNeither; they are incomparable models
Linearizability (also called atomic consistency) requires that operations appear to execute instantaneously at some point between their invocation and completion, preserving real-time order. Sequential consistency only requires that all nodes observe operations in the same order, but that order does not need to match wall-clock time. Linearizability is therefore strictly stronger.
Question 2 True / False
Under eventual consistency, if a client writes a value to one replica and then immediately reads from a different replica, the read is very likely to return the new value.
TTrue
FFalse
Answer: False
Eventual consistency only guarantees that replicas will *eventually* converge to the same value if no new writes occur — it makes no promise about when. A read immediately after a write may return a stale value from a replica that has not yet received the update. This is the fundamental tradeoff: lower latency and higher availability at the cost of temporarily stale reads.
Question 3 Short Answer
Why do distributed systems designers often choose eventual consistency over linearizability, even when they would prefer strong consistency semantics?
Think about your answer, then reveal below.
Model answer: The CAP theorem shows that a distributed system cannot simultaneously guarantee consistency, availability, and partition tolerance. Linearizability requires coordination (e.g., quorum reads/writes) that adds latency and becomes unavailable during network partitions. Eventual consistency allows systems to remain available and low-latency by deferring convergence.
This is the core design tension in distributed systems. Systems like Amazon DynamoDB and Apache Cassandra chose eventual consistency to achieve high availability across data centers. Systems like Google Spanner accept higher latency to provide linearizability. The choice depends on whether the application can tolerate stale reads.