3. Two Non-Logging Algorithms
First, we’ll look at a Force (= no-redo) algorithm [Rappaport, SIGMOD ‘75 Conference]
Use multiversions, as in the locking chapter
- with one change (or clarification): there may be unlocked dirty versions (from aborted transactions) on disk.
All transactions read the commit list
- to read a version, a transaction checks that it was written by a committed transaction (or itself)
Instant recovery since there’s no Restart algorithm!
Garbage collect versions of aborted transactions in the background.