Synonyms
B-tree concurrency control; Crabbing; Key range locking; Key value locking; Latch coupling; Latching; Lock coupling; Row-level locking
Definition
B-tree locking controls concurrent searches and updates in B-trees. It separates transactions in order to protect the B-tree contents and it separates threads in order to protect the B-tree data structure. Nowadays, the latter is usually called latching rather than locking.
Historical Background
Bayer and Schkolnick [1] presented multiple locking (latching) protocols for B*-trees (all data records in the leaves, merely separator keys or “reference keys” in upper nodes) that combined high concurrency with deadlock avoidance. Their approach for insertion and deletion is based on deciding during a root-to-leaf traversal whether a node is “safe” from splitting (during an insertion) or merging (during a deletion), and on reserving appropriate locks (latches) for ancestors of unsafe nodes.
Lehman and Yao defined Blink-trees by relaxing...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Bayer R, Schkolnick M. Concurrency of operations on B-trees. Acta Inf. 1977;9(1):1–21.
Comer D. The ubiquitous B-tree. ACM Comput Surv. 1979;11(2):121–37.
Eliot J, Moss B. Open nested transactions: semantics and support. In: Proceedings of Workshop on Memory Performance Issues; 2006.
Graefe G. Hierarchical locking in B-tree indexes. In: The Conference for Database Systems for Business, Technology, and Web; 2007. p. 18–42.
Graefe G, Zwilling MJ. Transaction support for indexed views. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 2004.
Gray J, Reuter A. Transaction processing: concepts and techniques. San Francisco: Morgan Kaufmann; 1993.
Jaluta I, Sippu S, Soisalon-Soininen E. Concurrency control and recovery for balanced B-link trees. VLDB J. 2005;14(2):257–77.
Lehman PL, Yao SB. Efficient locking for concurrent operations on B-trees. ACM Trans Database Syst. 1981;6(4):650–70.
Lomet DB. Key range locking strategies for improved concurrency. In: Proceedings of 19th International Conference on Very Large Data Bases; 1993. p. 655–64.
Mohan C. ARIES/KVL: a key-value locking method for concurrency control of multiaction transactions operating on B-tree indexes. In: Proceedings of 16th International Conference on Very Large Data Bases; 1990. p. 392–405.
Mohan C, Haderle DJ, Lindsay BG, Pirahesh H, Schwarz PM. ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans Database Syst. 1992;17(1):94–162.
Ni Y, Menon V, Adl-Tabatabai A-R, Hosking AL, Hudson RL, Moss JEB, Saha B, Shpeisman T. Open nesting in software transactional memory. In: Proceedings of 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming; 2007. p. 68–78.
Srinivasan V, Carey M.J. Performance of B-tree concurrency algorithms. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 1991. pp. 416–25.
Weikum G. Principles and realization strategies of multilevel transaction management. ACM Trans Database Syst. 1991;16(1):132–80.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2018 Springer Science+Business Media, LLC, part of Springer Nature
About this entry
Cite this entry
Graefe, G. (2018). B-Tree Locking. In: Liu, L., Özsu, M.T. (eds) Encyclopedia of Database Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-8265-9_35
Download citation
DOI: https://doi.org/10.1007/978-1-4614-8265-9_35
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-8266-6
Online ISBN: 978-1-4614-8265-9
eBook Packages: Computer ScienceReference Module Computer Science and Engineering