This Article 
 Bibliographic References 
 Add to: 
Indexing for Multiversion Locking: Alternatives and Performance Evaluation
January-February 1997 (vol. 9 no. 1)
pp. 68-84

Abstract—Multiversion two-phase locking (MV2PL) provides on-line serializable queries without introducing the long blocking delays that can occur with conventional two-phase locking (2PL). MV2PL requires indexing structures, however, that are capable of supporting multiple versions of data. In this paper, we present several options for extending single-version indexing schemes for use with MV2PL. These basic approaches are largely orthogonal to the underlying indexing structure (e.g., hashing or B+ trees). The options considered differ in where they place version selection information (i.e., references to individual versions); this information is placed either with the data or with the index entries of one or more of the indices. We also present the results from a performance study that show that placing the version selection information with the data is usually the best option, since it keeps the indices smaller and thus enables a larger fraction of the index pages to remain cached in the buffer pool.

[1] D. Agrawal, A. Bernstein, P. Gupta, and S. Sengupta, "Distributed Multiversion Optimistic Concurrency Control with Reduced Rollback," J. Distributed Computing, Springer-Verlag, vol. 2, no. 1, Jan. 1987.
[2] D. Agrawal and S. Sengupta, "Modular Synchronization in Multiversion Databases: Version Control and Concurrency Control," Proc. SIGMOD Conf., 1989.
[3] R. Bayer and M. Schkolnick, "Concurrency of Operations on B-Trees," Acta Informatica, Sept. 1977.
[4] R. Bayer and E.M. McCreight, "Organization and Maintenance of Large Ordered Indicies," Acta Informatica, vol. 1, no. 3, 1972.
[5] R. Bayer, H. Heller, and A. Reiser, “Parallelism and Recovery in Database Systems,” ACM Trans. Database Systems, vol. 5, no. 2, pp. 139-156, June 1980.
[6] P. Bober and M. Carey, "On Mixing Queries and Transactions Via Multiversion Locking," Proc. Eighth IEEE Data Eng. Conf., 1992.
[7] P. Bober and M. Carey, Multiversion Query Locking Proc. 18th Conference on Very Large Databases, 1992.
[8] P. Bober and M. Carey, "Indexing Alternatives for Multiversion Locking," Technical Report No. 1184, Univ. of Wisconsin—Madison, Nov. 1993.
[9] M.J. Carey, Modeling and Evaluation of Database Concurrency Control Algorithms, PhD thesis, Dept. of Computer Science, Univ. of California, Berkeley, 1983.
[10] A. Chan, S. Fox, W. Lin, A. Nori, and D. Ries, "The Implementation of an Integrated Concurrency Control and Recovery Scheme," Proc. ACM SIGMOD Conf., 1982.
[11] A. Chan and R. Gray, "Implementing Distributed Read-Only Transactions," IEEE Trans. Software Eng., vol. 11, no. 2, Feb. 1985.
[12] D. DuBourdieu, "Implementation of Distributed Transactions," Proc. Sixth Berkeley Workshop Distributed Data Management and Computer Networks, 1982.
[13] M. Easton, "Key-Sequence Data Sets on Indelible Storage," IBM J. of Research and Development, vol. 30, pp. 230-241, 1986.
[14] K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger, "The Notions of Consistency and Predicate Locks in a Relational Database System," Comm. ACM, vol. 8, no. 11, pp. 624-633, 1976.
[15] J.N. Gray, "Notes on Database Operating Systems" Operating Systems: An Advanced Course, R. Bayer, R.M. Graham, and G. Seegmuller, eds., Lecture Notes in Computer Science 60, Springer-Verlag, Heidelberg, Germany, 1978.
[16] L. Haas,W. Chang,G.M. Lohman et al., "Starburst mid-flight: As the dust clears," , IEEE Trans. Knowledge and Data Engineering, vol. 2, no. 1, pp. 143-160, Mar. 1990.
[17] A. Joshi personal communication.
[18] C. Kolovson and M. Stonebraker, "Indexing Techniques for Historical Databases," Proc. IEEE Conf. Data Eng., pp. 127-137, 1989.
[19] M. Lai and K. Wilkinson, "Distributed Transaction Management in Jasmin," Proc. Tenth Int'l Conf. Very Large Database Systems, 1984.
[20] D. Lomet and B. Salzberg, "Access Methods for Multiversion Data," Proc. ACM SIGMOD Conf., pp. 315-324, 1989.
[21] P. Lehman and S. Yao, "Efficient Locking for Concurrent Operations on B-Trees," ACM Trans. Database Systems, vol. 6, no. 4, pp. 650-670, 1981.
[22] C. Mohan, H. Pirahesh, and R. Lorie, “Efficient and Flexible Methods for Transient Versioning of Records to Avoid Locking by Read-Only Transactions,” Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 124–133, June 1992.
[23] A. Raghavan and T.K. Rengarajan, "Database Availability for Transaction Processing," Digital Technical J., vol. 3, no. 1, Winter 1991.
[24] D Reed, "Implementing Atomic Actions on Decentralized Data," ACM Trans. Computer Systems, vol. 1, no. 1, Feb. 1983.
[25] J. Robinson,“Design of concurrency controls for transaction processing systems,” PhD dissertation, Carnegie Mellon Univ., 1982.
[26] A. Silberschatz, "A Multi-Version Concurrency Control Scheme with No Rollbacks," Proc. ACM-SIGACT-SIGOPS Symp. Principles of Distributed Computing, Aug. 1982.
[27] R. Stearns and D. Rosenkrantz, "Distributed Database Concurrency Control Using Before-Values," Proc. ACM SIGMOD Conf., 1981.
[28] M. Stonebraker, "The Design of the Postgres Storage System," Proc. VLDB Conf., pp. 289-300, 1987.

Index Terms:
Indexing, multiversion concurrency control, multiversion locking, transaction processing, query processing.
Paul M. Bober, Michael J. Carey, "Indexing for Multiversion Locking: Alternatives and Performance Evaluation," IEEE Transactions on Knowledge and Data Engineering, vol. 9, no. 1, pp. 68-84, Jan.-Feb. 1997, doi:10.1109/69.567048
Usage of this product signifies your acceptance of the Terms of Use.