Between strong and eventual
Strong consistency makes every read see the latest write, but it is costly and limits availability. Eventual consistency is cheap but can show confusing out of order results. Causal consistency sits between them and matches human intuition.
What it guarantees
Causal consistency preserves the happens before relationship. If one event could have influenced another, every observer sees them in that order. Events with no causal link may be seen in any order.
- A reply to a comment is never shown before the comment it answers.
- Two unrelated posts may appear in different orders to different users, which is acceptable.
How it is tracked
Systems attach causal metadata, often vector clocks or dependency lists, to each write. A replica delays making a write visible until all writes it depends on are already applied locally. This avoids the jarring effect of seeing an answer with no question.
Key idea
Causal consistency guarantees that causally related events appear in order for every observer, while unrelated events may interleave, giving intuition without full strong consistency cost.