Concurrency Control and Recovery
ACID transactions enforce CC&R
Strict 2PL guarantees serializability (C, I)
- Deadlocks possible (detect and abort a XACT)
- Phantom tuples possible (fix with index locking)
ARIES guarantees XACTS are A, D
- Write-ahead logging
- Log UNDO actions to allow complete replaying of history
- Recovery phases:
- Analyze (rebuild main memory)
- REDO (rebuild disks)
- UNDO (abort incomplete XACTS)