The performance of multiversion concurrency control algorithms
- 1 September 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 4 (4) , 338-378
- https://doi.org/10.1145/6513.6517
Abstract
A number of multiversion concurrency control algorithms have been proposed in the past few years. These algorithms use previous versions of data items in order to improve the level of achievable concurrency. This paper describes a simulation study of the performance of several multiversion concurrency control algorithms, investigating the extent to which they provide increases in the level of concurrency and also the CPU, I/O, and storage costs resulting from the use of multiple versions. The multiversion algorithms are compared with regard to performance with their single-version counterparts and also with each other. It is shown that each multiversion algorithm offers significant performance improvements despite the additional disk accesses involved in accessing old versions of data; the nature of the improvement depends on the algorithm in question. It is also shown that the storage overhead for maintaining old versions that may be required by ongoing transactions is not all that large under most circumstances. Finally, it is demonstrated that it is important for version maintenance to be implemented efficiently, as otherwise the cost of maintaining old versions could outweigh their concurrency benefits.Keywords
This publication has 10 references indexed in Scilit:
- On Concurrency Control by Multiple VersionsACM Transactions on Database Systems, 1984
- Multiversion concurrency control—theory and algorithmsACM Transactions on Database Systems, 1983
- Implementing atomic actions on decentralized dataACM Transactions on Computer Systems, 1983
- Database Systems: The Intelligent Store: A Content-Addressable Page ManagerBell System Technical Journal, 1982
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- The Recovery Manager of the System R Database ManagerACM Computing Surveys, 1981
- Concurrency Control in Distributed Database SystemsACM Computing Surveys, 1981
- Parallelism and recovery in database systemsACM Transactions on Database Systems, 1980
- Locking granularity revisitedACM Transactions on Database Systems, 1979
- Effects of locking granularity in a database management systemACM Transactions on Database Systems, 1977