Storage fundamentals

Strong consistency

Strong consistency is the guarantee that once a write has been acknowledged, every subsequent read returns that write or a later one, no matter which node answers. A client never sees stale data after a successful update. In object storage it is often described as read-after-write consistency.

How does it differ from eventual consistency?

A distributed system keeps several copies of data on different nodes. The consistency model describes what a reader may see while those copies are being updated.

AspectStrong consistencyEventual consistency
Read after a successful writeAlways the new dataMay briefly return old data
List after creating an objectObject appears immediatelyObject may be missing for a short time
Read after deleteObject is goneMay briefly still be returned
Write acknowledgmentAfter enough copies agreeAfter the first copy, others catch up
Behavior during a network partitionMay refuse some requestsKeeps answering, possibly with stale data

How is strong consistency achieved?

The system acknowledges a write only after a sufficient set of nodes has durably recorded it, and it routes reads so that they consult a set guaranteed to overlap with that one. Quorum schemes, in which reads and writes each involve a majority of replicas, and consensus protocols are the usual mechanisms. Metadata is typically the critical part: once the index agrees on which version of an object is current, the data itself can be fetched from any node that holds it.

What does it cost?

Coordination takes time. Each write waits for several nodes, which adds latency compared with acknowledging after one. If too many nodes are unreachable to form a quorum, the system refuses the request instead of risking divergence, trading some availability for correctness. Across distant sites the cost grows with network delay, which is why geo-replication is often asynchronous, giving strong consistency within a site and eventual consistency between sites.

Which workloads need it?

Any workflow that writes and then immediately reads or lists depends on it. Analytics engines write result files and list them in the next step. Backup software writes objects and then updates an index that references them. Data pipelines hand off between stages by listing a prefix. On eventually consistent storage, each of these needs workarounds such as retries or external catalogs. Strong consistency removes that class of error, which is one reason it has become the expected behavior of S3-compatible storage. Object storage metadata covers the index that makes it possible.

Frequently asked questions

Is Amazon S3 strongly consistent?

Yes. It has provided strong read-after-write consistency for objects and listings since late 2020.

Does strong consistency make storage slower?

It adds coordination to writes. In a well-designed system the difference is small within a site and larger across long distances.

Is strong consistency the same as durability?

No. Consistency is about which version readers see. Durability is about not losing data.