Strong, Eventual, and Causal Consistency

Consistency describes which values clients may observe and in what order. Strong consistency often means operations behave as though they occurred atomically in a single order that respects real-time constraints. Eventual consistency allows replicas to temporarily disagree but expects convergence when updates stop and replication succeeds.

Read-your-writes means a client sees its own successful updates. Monotonic reads means a client does not move backward to an older version. Causal consistency preserves cause-and-effect order. These weaker guarantees can improve availability or latency but require product-aware behavior.

A profile page may tolerate a brief stale follower count; a payment balance or inventory reservation may require stronger guarantees. Do not use “eventual consistency” as a vague excuse: define the maximum expected staleness, how clients behave, and how conflicts are resolved.

Consistency guarantees
Strong / linearizable: Reads reflect a single real-time order
Useful for coordination and correctness-sensitive state; can cost latency or availability.
Eventual: Replicas converge after updates stop
Useful when temporary staleness is acceptable.
Read-your-writes: A client sees its completed writes
Can be provided through routing, session tokens, or version tracking.
Key Takeaways
  • Consistency is a product requirement, not only a database setting.
  • Define the exact guarantee users need.
  • State staleness and conflict policies explicitly.
Knowledge Check

What is a key risk of reading immediately from an asynchronous read replica?