A survey of B-tree locking techniques

B-trees have been ubiquitous in database management systems for several decades, and they are used in other storage systems as well. Their basic structure and basic operations are well and widely understood including search, insertion, and deletion. Concurrency control of operations in B-trees, however, is perceived as a difficult subject with many subtleties and special cases. The purpose of this survey is to clarify, simplify, and structure the topic of concurrency control in B-trees by dividing it into two subtopics and exploring each of them in depth.

[1]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[2]  Gerhard Weikum,et al.  CHAPTER FOUR – Concurrency Control Algorithms , 2002 .

[3]  Goetz Graefe,et al.  Hierarchical locking in B-tree indexes , 2007, BTW.

[4]  Rudolf Bayer,et al.  The Universal B-Tree for Multidimensional Indexing: general Concepts , 1997, WWCA.

[5]  Michael J. Carey,et al.  Performance of B-Tree Concurrency Algorithms , 1991, SIGMOD Conference.

[6]  James R. Larus,et al.  Transactional Memory , 2006, Transactional Memory.

[7]  J. Banerjee,et al.  Precision locks , 1981, SIGMOD '81.

[8]  Marc H. Scholl,et al.  Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery , 2001, SGMD.

[9]  Hans-Jörg Schek,et al.  Concepts and Applications of Multilevel Transactions and Open Nested Transactions , 1992, Database Transaction Models for Advanced Applications.

[10]  Rudolf Bayer,et al.  Concurrency of operations on B-trees , 1994, Acta Informatica.

[11]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[12]  Bratin Saha,et al.  Open nesting in software transactional memory , 2007, PPOPP.

[13]  David B. Lomet,et al.  Simple, robust and highly concurrent b-trees with node deletion , 2004, Proceedings. 20th International Conference on Data Engineering.

[14]  Gottfried Vossen,et al.  Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery , 2002 .

[15]  Volker Markl,et al.  Integrating the UB-Tree into a Database System Kernel , 2000, VLDB.

[16]  Jeffrey F. Naughton,et al.  Locking Protocols for Materialized Aggregate Join Views , 2005, IEEE Trans. Knowl. Data Eng..

[17]  Håkan Grahn,et al.  Transactional memory , 2010, J. Parallel Distributed Comput..

[18]  C. Mohan,et al.  ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes , 1990, VLDB.

[19]  Gerhard Weikum,et al.  ACM Transactions on Database Systems , 2005 .

[20]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[21]  J. Eliot B. Moss Open Nested Transactions: Semantics and Support , 2006 .

[22]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[23]  Rudolf Bayer,et al.  Organization and maintenance of large ordered indexes , 1972, Acta Informatica.

[24]  Betty Salzberg,et al.  On-line reorganization of sparsely-populated B+-trees , 1996, SIGMOD '96.

[25]  Rudolf Bayer,et al.  Prefix B-trees , 1977, TODS.

[26]  Gerhard Weikum,et al.  Principles and realization strategies of multilevel transaction management , 1991, TODS.

[27]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[28]  Michael J. Carey,et al.  Performance of B-tree concurrency control algorithms , 1991, SIGMOD '91.

[29]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[30]  James R. Larus,et al.  Transactional Memory (Synthesis Lectures on Computer Architecture) , 2007 .

[31]  Eljas Soisalon-Soininen,et al.  Concurrency control and recovery for balanced B-link trees , 2005, The VLDB Journal.

[32]  Henry F. Korth,et al.  Locking Primitives in a Database System , 1983, JACM.

[33]  C. Mohan,et al.  ARIES/IM: an efficient and high concurrency index management method using write-ahead logging , 1992, SIGMOD '92.

[34]  Goetz Graefe,et al.  Transaction support for indexed summary views , 2004, SIGMOD '04.

[35]  David B. Lomet,et al.  Key Range Locking Strategies for Improved Concurrency , 1993, VLDB.

[36]  R. Bayer,et al.  Organization and maintenance of large ordered indices , 1970, SIGFIDET '70.