1.Strong, eventual, causal and read-your-writes consistency
These four named models sit on a spectrum from strictest to loosest, each relaxing a different guarantee in exchange for better performance or availability. Strong consistency means every read sees the most recent write, as if there were only one copy of the data. Eventual consistency only guarantees that, given enough time with no new writes, every copy converges — with no guarantee about what a read sees in the meantime. Causal consistency sits in between: operations that are causally related (a reply to a comment) must be seen in that same order by everyone, but truly concurrent, unrelated writes can be seen in different orders by different observers. Read-your-writes is a narrower, single-user guarantee: whatever a specific process just wrote, that same process will see on its own next read — even if other processes have not caught up yet.
Key features
- Strong consistency: every read reflects the most recent completed write, system-wide — the strictest and most expensive guarantee, requiring real coordination between nodes
- Eventual consistency: given enough time with no new writes, all copies converge to the same value — makes no promise about what any given read sees before that convergence happens
- Causal consistency: writes that are causally related (one happened because of, or after seeing, another) must be observed in that same order by every process; concurrent, unrelated writes have no ordering guarantee between them
- Read-your-writes (a specific session guarantee, sometimes generalized as "session consistency"): a single process is always guaranteed to see its own prior writes on its own subsequent reads, regardless of what any other process currently observes
- These form a rough strength hierarchy from strictest to loosest: strong > causal > read-your-writes > eventual (with eventual consistency being the weakest, since it makes no promise at all about ordering or freshness before convergence, only that convergence eventually happens)
The four models compared directly
- Strong — every read sees the latest write
- Causal — related writes stay ordered
- Read-your-writes — you always see your own writes
- Eventual — converges, no ordering promise
Signature
strong > causal > read-your-writes > eventual — each relaxes a different guarantee for performance/availability
Strong > causal > read-your-writes > eventual, from strictest to loosest. Strong: every read sees the latest write. Causal: causally-related writes stay ordered for everyone, unrelated ones do not. Read-your-writes: a single process always sees its own prior writes. Eventual: all copies converge eventually, with no promise about anything before that.