Multi-level recovery
- 2 April 1990
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 109-123
- https://doi.org/10.1145/298514.298548
Abstract
Multi-level transactions have received considerable attention as a framework for high-performance concurrency control methods. An inherent property of multi-level transactions is the need for compensating actions, since state-based recovery methods do no longer work correctly for transaction undo. The resulting requirement of operation logging adds to the complexity of crash recovery. In addition, multi-level recovery algorithms have to take into account that high-level actions are not necessarily atomic, e.g., if multiple pages are updated in a single action.In this paper, we present a recovery algorithm for multi-level transactions. Unlike typical commercial database systems, we have striven for simplicity rather than employing special tricks. It is important to note, though, that simplicity is not achieved at the expense of performance. We show how a high-performance multi-level recovery algorithm can be systematically developed based on few fundamental principles. The presented algorithm has been implemented in the DASDBS database kernel system.Keywords
This publication has 18 references indexed in Scilit:
- The DASDBS project: objectives, experiences, and future prospectsIEEE Transactions on Knowledge and Data Engineering, 1990
- Concurrent search structure algorithmsACM Transactions on Database Systems, 1988
- Commutativity-based concurrency control for abstract data typesIEEE Transactions on Computers, 1988
- A theory of reliability in database systemsJournal of the ACM, 1988
- The Escrow transactional methodACM Transactions on Database Systems, 1986
- A database cache for high performance and fast restart in database systemsACM Transactions on Database Systems, 1984
- Synchronizing shared abstract typesACM Transactions on Computer Systems, 1984
- Principles of transaction-oriented database recoveryACM Computing Surveys, 1983
- Locking Primitives in a Database SystemJournal of the ACM, 1983
- The Recovery Manager of the System R Database ManagerACM Computing Surveys, 1981