Learning path

Full curriculum

Full curriculum

Arrows go from each prerequisite to the units that depend on it. Hover or focus a unit to highlight its path.

Unit content

Causal consistency

A replicated system is causally consistent when it preserves the order of causally related operations.

If operation $B$ was produced after observing operation $A$, then any replica that makes $B$ visible must not present it as though $A$ had never happened.

Concurrent operations have no causal order, so different replicas may temporarily observe them in different orders.

This is weaker than linearizability because it does not impose one real-time order on every concurrent operation. It is stronger than eventual convergence alone because cause-and-effect relationships are preserved while replicas exchange updates.

Logical clocks or other causal metadata can help a system track these dependencies.

Causal consistency is useful when users should never observe an effect without the state on which that effect depended, even though independent updates may remain temporarily divergent.