Amongst the ACID properties of a transaction, the 'Durability' property…
2023
Amongst the ACID properties of a transaction, the 'Durability' property requires that the changes made to the database by a successful transaction persist. ISRO(2023) GATE(2005)
- A.
Except in case of an operating system crash
- B.
Except in case of a disk crash
- C.
Except in case of a power failure
- D.
Always, even if there is a failure of any kind
Attempted by 69 students.
Show answer & explanation
Correct answer: D
Concept
Durability is one of the four ACID properties of a database transaction. It guarantees that once a transaction commits, its effects become permanent -- the changes it made are never lost, no matter what happens to the system afterward. This guarantee is unconditional: it must hold across every kind of subsequent failure (an operating-system crash, a disk or storage failure, or a power outage), not just some of them. It is implemented by writing changes to non-volatile, stable storage as part of commit -- typically through write-ahead logging, checkpointing, and a redo/recovery procedure that replays committed work after any failure.
Application
The stem describes exactly this guarantee and asks which statement correctly captures it. Because durability's promise is unconditional across failure types, the description that matches the ACID definition is the one stating that the committed changes persist always, regardless of what kind of failure occurs -- an operating-system crash, a disk crash, or a power failure are precisely the scenarios durability is built to survive, not exceptions carved out of it.
Cross-check
Each of the other three descriptions carves out one specific failure type as an exception where durability supposedly does not hold -- but durability is built to survive all three:
Operating-system crash: recovery logging replays every committed transaction's write-ahead log on restart, so this is not a gap.
Disk crash: stable or redundant storage plus archived logs protect committed data against storage-level failure, so this is not a gap either.
Power failure: the log is force-written to stable storage before commit acknowledgement, so an immediate power loss still leaves the log intact for replay.
Since durability is designed to survive all three of these cases, not just some, none of the restricted descriptions can be correct, and only the unconditional description -- persisting through any kind of failure -- matches the ACID definition.