On mixing queries and transactions via multiversion locking

The authors discuss a novel approach to multiversion concurrency control that allows high-performance transaction systems to support long-running queries. The approach extends the multiversion locking algorithm developed by Computer Corporation of America by using record-level versioning and reserving a portion of each data page for caching prior versions that are potentially needed for the serializable execution of queries; on-page caching also enables an efficient approach to garbage collection of old versions. In addition, view sharing is introduced, which has the potential for reducing the cost of versioning by grouping together queries to run against the same transaction-consistent view of the database. Results from a simulation study that indicate that the approach is a viable alternative to level-one and level-two consistency locking when the portion of each data reserved for prior versions is chosen appropriately are presented.<<ETX>>

[1]  Curtis P. Kolovson Indexing techniques for historical databases , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[2]  Donovan A. Schneider,et al.  The Gamma Database Machine Project , 1990, IEEE Trans. Knowl. Data Eng..

[3]  Philip A. Bernstein,et al.  Multiversion concurrency control—theory and algorithms , 1983, TODS.

[4]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

[5]  Hamid Pirahesh,et al.  Parallelism in relational data base systems: architectural issues and design approaches , 1990, DPDS '90.

[6]  David B. Lomet,et al.  The performance of a multiversion access method , 1990, SIGMOD '90.

[7]  Daniel J. Rosenkrantz,et al.  Distributed database concurrency controls using before-values , 1981, SIGMOD '81.

[8]  Sang Hyuk Son,et al.  Performance evaluation of multiversion database systems , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[9]  Robert G. Sargent,et al.  Statistical analysis of simulation output data , 1976, SIML.

[10]  William E. Weihl Distributed Version Management for Read-Only Actions , 1987, IEEE Trans. Software Eng..

[11]  Stephen Fox,et al.  The implementation of an integrated concurrency control and recovery scheme , 1982, SIGMOD '82.

[12]  David P. Reed,et al.  Implementing atomic actions on decentralized data , 1983, TOCS.

[13]  Michael J. Carey,et al.  The performance of multiversion concurrency control algorithms , 1986, TOCS.

[14]  Rudolf Bayer,et al.  Parallelism and recovery in database systems , 1980, TODS.

[15]  Divyakant Agrawal,et al.  Modular synchronization in multiversion databases: version control and concurrency control , 1989, SIGMOD '89.

[16]  Arvola Chan,et al.  Implementing Distributed Read-Only Transactions , 1985, IEEE Transactions on Software Engineering.

[17]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[18]  Ananth Raghavan,et al.  Database Availability for Transaction Processing , 1991, Digit. Tech. J..