ARIES/IM: an efficient and high concurrency index management method using write-ahead logging
- 1 June 1992
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 21 (2), 371-380
- https://doi.org/10.1145/130283.130338
Abstract
This paper provides a comprehensive treatment of index management in transaction systems. We present a method, called ARIESIIM (Algorithm for Recovery and Isolation Exploiting Semantics for Index Management), for concurrency control and recovery of B+-trees. ARIES/IM guarantees serializability and uses write-ahead logging for recovery. It supports very high concurrency and good performance by (1) treating as the lock of a key the same lock as the one on the corresponding record data in a data page (e.g., at the record level), (2) not acquiring, in the interest of permitting very high concurrency, commit duration locks on index pages even during index structure modification operations (SMOs) like page splits and page deletions, and (3) allowing retrievals, inserts, and deletes to go on concurrently with SMOs. During restart recovery, any necessary redos of index changes are always performed in a page-oriented fashion (i.e., without traversing the index tree) and, during normal processing and restart recovery, whenever possible undos are performed in a page-oriented fashion. ARIES/IM permits different granularities of locking to be supported in a flexible manner. A subset of ARIES/IM has been implemented in the OS/2 Extended Edition Database Manager. Since the locking ideas of ARIES/IM have general applicability, some of them have also been implemented in SQL/DS and the VM Shared File System, even though those systems use the shadow-page technique for recovery.Keywords
This publication has 7 references indexed in Scilit:
- ARIESACM Transactions on Database Systems, 1992
- Concurrency control of nested transactions accessing B-treesPublished by Association for Computing Machinery (ACM) ,1989
- Concurrent search structure algorithmsACM Transactions on Database Systems, 1988
- Concurrent operations on B∗-trees with overtakingJournal of Computer and System Sciences, 1986
- Efficient locking for concurrent operations on B-treesACM Transactions on Database Systems, 1981
- The Recovery Manager of the System R Database ManagerACM Computing Surveys, 1981
- An optimality theory of concurrency control for databasesPublished by Association for Computing Machinery (ACM) ,1979