advanced

Durability

Protect accepted data with replication, backups, write acknowledgements, checksums, and tested restore paths.

Durability means accepted data survives process crashes, node failures, and zone outages. Achieve it with replicated storage, fsynced writes, quorum acknowledgements, backups, and periodic restore drills. Distinguish durability from availability — a system can be up but lose data.

Object storage with versioning, WAL-backed databases, and cross-region replication address different loss scenarios. State write acknowledgement policy clearly for user-facing APIs.

On interviews: explain durability for uploaded photos versus session cookies, backup frequency versus RPO, and how you verify backups.

Common pitfalls: async replication without fsync assuming durability; backups never restored in tests; single-AZ database for critical ledger.

The trade-off is flexibility versus complexity—know when the simpler path is enough.

Checklist:

  • Define durability per data class.
  • Use replication and durable write acks.
  • Schedule backups and test restores.
  • Monitor replication and backup success.