Basic Idea: Logging
Record REDO and UNDO information, for every update, in a log.
- Sequential writes to log (put it on a separate disk).
- Minimal info (diff) written to log, so multiple updates fit in a single log page.
Log: An ordered list of REDO/UNDO actions
- Log record contains:
<XID, pageID, offset, length, old data, new data>
- and additional control info