Multilevel Recovery and the ARIES Algorithm
In contrast to basic database recovery with page-level logging and redo/undo passes, multi-level recoveryis needed whenever the database system uses fine-grained concurrency control, such as index-key locking or operation-based “semantic” conflict testing, or when log records describe composite operations that are not guaranteed to be atomic by single page writes (as a consequence of concurrency control or for other reasons). Advanced methods perform logging and recovery at multiple levels like pages and data objects (records, index entries, etc.). Page-level recovery is needed to ensure the atomicity and applicability of higher-level operations, and also for efficient redo. Higher-level recovery is needed to perform correct undo for composite operations of loser transactions. In addition, logged actions at all levels must be testable at recovery-time, by embedding extra information in database pages, typically using log sequence numbers (LSNs), and appropriate logging of...
- 1.Mohan C. Repeating history beyond ARIES. In: Proceedings of the 25th the International Conference on Very Large Data Bases; 1999. p. 1–17.Google Scholar
- 4.Borr AJ. Robustness to crash in a distributed database: a non shared-memory multi-processor approach. In: Proceedings of the 10th International Conference on Very Large Data Bases; 1984. p. 445–53.Google Scholar
- 7.Lomet DB. MLR: a recovery method for multi-level systems. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1992. p. 185–94.Google Scholar
- 9.Weikum G, Hasse C, Brössler P, Muth P. Multi-level recovery. In: Proceedings of the 9th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems; 1990. p. 109–23.Google Scholar
- 10.Weikum G, Vossen G. Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. San Francisco: Morgan Kaufmann; 2001.Google Scholar