Consistency and Isolation
Explore the relationship between consistency models and isolation levels in distributed systems. Learn how these models define allowed and disallowed executions, the importance of real-time guarantees, and the differences between serializability, linearizability, and strict serializability to better grasp their impact on system behavior and application correctness.
The following illustration will help us remember the consistency models and isolation levels.
Similarities between consistency models and isolation models
It is interesting to observe that isolation levels are not that different from consistency models.
Isolation levels and consistency models are essential constructs that allow us to express:
- Which executions are possible
- Which executions are not possible
In both cases, some of the models are stricter and allow fewer executions, thus providing increased safety at the cost of reduced performance and availability.
For instance, linearizability allows a subset of the executions causal consistency allows, while serializability allows a subset of the executions that snapshot isolation allows.
We can also express this strictness relationship by saying that one model implies another model.
The fact that a system provides ...