More broadly, I don't think a single definition of 'durable' (as in ACID D) for transactions is particularly useful.
Much more useful is to ask "what kinds of failures could cause committed transactions to be lost?"
A transaction is not durable if it survives application crash but not OS crash. A committed transaction is either durable or not!
Aug 27, 2025 · 8:59 PM UTC
Depending on the database architecture, the answer could vary from "a strong breeze" to "the concurrent loss of multiple datacenters hundreds of miles apart".
Making this more subtle, in many architectures the answer is different for recent transactions and older transactions.
For example, architectures that do async replication have durability that goes from 'machine failure' to 'multiple machine failure' some time after commit.
The classic ACID definition of D=sync-to-disk isn't a useful one for the modern system designer. Maybe not even as a useful minimum bar.
Meeting a certain durability bar puts a lower bound on the possible commit latency for a database. In the DSQL design, we were very careful to parallelize the 1 RTT minimum latency for durability with the 1.5 RTT for concurrency control to get a total of 1.5 RTT.

