Causal Consistency & Read-Your-Writes

7.What You See Depends on Who You Are

M

In this chapter

We'll meet read-your-writes (you always see your own writes, even if others briefly don't) and causal consistency (genuinely dependent writes stay in the correct order everywhere, unrelated ones don't have to) as two real, specific, cheaper-than-strong-consistency guarantees for most of GreenMart's actual data.

8–10 min

The Problem in Real Life

Sarah doesn't actually need every single read across GreenMart to be perfectly strongly consistent — that would mean paying strong consistency's real latency cost on every single request, everywhere, for a guarantee most reads don't actually need. What she wants is narrower, and much more specific: a customer who just changed their own delivery address should never, ever see their old address a moment later.

That's not "everything must agree everywhere." It's a real, much more modest promise — and it turns out to have a real name.

S

I don't need the whole system to agree instantly. I need you to always see your own change.

Sarah

Everything Agrees, Everywhere vs. Two Real, Narrower Promises

Two real, narrower promises exist

Between full strong consistency and pure eventual consistency, two genuine, specific, cheaper guarantees.

Read-your-writes: you see your own change

The person who just wrote always sees it reflected back — others might briefly see the old value elsewhere.

Causal consistency: dependent writes stay ordered

A cancellation is always seen before its replacement order, everywhere — unrelated writes don't need this guarantee.

Neither would have fixed the incident alone

GreenMart's two regions' writes weren't causally related — these are real tools for other data, not this specific problem.

Causal Consistency & Read-Your-Writes

Full strong consistency and pure eventual consistency aren't the only two real options. Two genuine, narrower guarantees sit between them, each solving a real, specific, common problem without paying strong consistency's full cost everywhere.

  • Read-your-writes guarantees exactly what Sarah wants: the person who just made a write will always see that write reflected back to them immediately in their own subsequent reads, even if other users might briefly see a stale value elsewhere in the system. A customer who updates their delivery address, then immediately reopens the app, always sees the new address — even though a warehouse worker's own screen, reading the same record a moment later from a different, not-yet-caught-up replica, might briefly still show the old one.
  • Causal consistency guarantees something related but genuinely different: if one write truly depended on — happened because of — another, every replica sees them in that same true order, everywhere, even if two genuinely unrelated writes can still appear in different orders on different replicas. A customer cancels an order, then immediately places a replacement order for a different size. Causal consistency guarantees no replica ever shows the replacement order without also showing the cancellation that came before it — that specific, dependent order is preserved everywhere, even while completely unrelated writes elsewhere stay eventually consistent.

The real, practical value of both: they're each cheaper than full strong consistency, because neither requires every replica to agree with every other replica about everything, all the time. Read-your-writes only has to guarantee a fresh read for the person who just wrote — which, in practice, is usually just steering that one person's next few requests back to the replica they just wrote to, or waiting only for that one replica's own confirmation, not every replica everywhere. Causal consistency only has to preserve order for writes that are actually, genuinely related, which is a real, much smaller set of writes than "everything, all the time."

Neither of these would have prevented GreenMart's own oversell on its own — the two regions' writes genuinely weren't causally related to each other (neither order happened because of the other), and read-your-writes says nothing about two different customers in two different regions reading two different replicas. They're named here because they're real, useful, and genuinely cheaper tools for a large share of GreenMart's other data — a customer's own profile, their own order history, their own cart — where the actual guarantee needed was never "the whole system agrees instantly," just "I see my own actions reflected back to me, honestly and in order."

Key Takeaway

Read-your-writes and causal consistency are real, specific, and genuinely cheaper promises than full strong consistency — not because they guarantee less for the sake of speed alone, but because most real data doesn't actually need "everyone agrees on everything, instantly." It needs "you see your own actions honestly," and "things that truly depended on each other stay in the right order" — two much more precise, much more achievable guarantees.

Why This Matters

Most of GreenMart's actual data — a customer's own profile, their own cart, their own order history — needs exactly these two narrower guarantees, not full strong consistency's real cost. Knowing the real difference means GreenMart can choose the cheapest guarantee that's actually sufficient, data by data, instead of defaulting to either extreme.

GreenMart now has two real, specific, cheaper-than-strong guarantees for the large share of its data that only ever needs "see your own actions honestly" or "respect real dependencies." How data actually gets physically split across many machines in the first place is exactly where the next chapter goes.

Next