Causal Consistency

Causal consistency guarantees that operations which are causally related are seen in the same order by every process, while operations that are causally independent may be observed in different orders on different replicas. As the Jepsen consistency reference puts it, causally related operations should appear in the same order on all processes, even though processes may disagree about the order of operations that have no causal link between them.

The intuition is captured by a conversation: if one message is a reply to another, then anyone who sees the reply must already have seen the original message, because the reply causally depends on it. Two unrelated messages sent independently, by contrast, can legitimately arrive in either order for different observers. Causality here is the happens-before relation, the partial order linking an operation to everything it could have been influenced by.

Causal consistency is strictly stronger than eventual consistency, which only promises that replicas converge eventually and says nothing about ordering along the way. It is also strictly weaker than linearizability, which insists on a single global real-time order for everything. By preserving only the orderings that actually matter, causal consistency captures most of the intuitive correctness people expect while leaving concurrent operations free to be reordered.

That position is significant: the Jepsen reference notes that a convergent form of causal consistency is the strongest consistency model achievable in a system that must remain available under network partitions. Because it requires no coordination between concurrent operations, replicas can keep accepting reads and writes during a partition and still respect every cause-and-effect relationship once messages propagate.

Sources

Last verified June 8, 2026