Overview
Data Durability (the 'D' in ACID) ensures that once a transaction has been committed, it will remain in the system even if the system crashes immediately after. In cloud storage, durability is often measured in 'nines' (e.g., 99.999999999% durability), representing the probability that a stored object will not be lost over a year.
Techniques for Durability
- Write-Ahead Logging (WAL): Recording changes to a log before applying them to the database.
- Replication: Storing copies of data on multiple physical disks or in different geographic regions.
- Erasure Coding: A method of data protection that breaks data into fragments and encodes them with redundant data pieces.
- Checksums: Detecting and correcting silent data corruption (bit rot).
Difference from Availability
Availability is about being able to access the data now; durability is about the data not being lost over time.