Skip to content
About
Main content
Trade-off

Durability vs. acknowledgment latency

How much must be confirmed before you say "yes".

Where you meet it: fsync vs. buffered, group commit, sync/semi-sync/async replication, quorum size, ack levels.

What it is

A W-of-N write waits for the W-th fastest response. So write latency is an order statistic of the replicas' latency distribution, not an average. Raising W moves you further into the tail, and the tail is fat (a few very slow responses). This is why synchronous cross-region replication is priced in round-trip time (RTT) and often abandoned. It is also why the dial of synchronous, semi-synchronous and asynchronous replication is a direct price list: durability is bought with acknowledgment latency, and the exchange rate is the shape of the slowest replica's latency distribution. Lower W (asynchronous) cuts latency but sets RPO to the replication lag, which is largest during the very failure you wanted protection from.

From Fault Tolerance & Delivery Semantics › Replication and quorums

Moving down the table, durability goes up and speed goes down. That is no surprise. But note one thing: an in-memory buffer is a hidden durability decision. If a record is acknowledged into an in-memory buffer and the process restarts, the record is lost. This is silent data loss, and no metric shows it. If your producer is told "OK" before the buffer is durable, you have chosen at-most-once delivery (a message may be lost but never repeated) without saying so.

From Data Movement › Buffering

(Rule: each step up the ladder adds about one network round trip and one more flush on another machine.)

From Persistence & Durability › Replication and quorums

Where it appears

In 9 mechanisms. Each says what the mechanism is about, then how this trade-off shows up there, in its own words.

Made on the same pages most often.