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...
Recommended Reading
Bayer R, Schkolnick M. Concurrency of operations on B-trees. Acta Inf. 1977;9: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. BTW Conference; 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
© 2016 Springer Science+Business Media New York
About this entry
Cite this entry
Graefe, G. (2016). B-Tree Locking. In: Liu, L., Özsu, M. (eds) Encyclopedia of Database Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4899-7993-3_35-2
Download citation
DOI: https://doi.org/10.1007/978-1-4899-7993-3_35-2
Received:
Accepted:
Published:
Publisher Name: Springer, New York, NY
Online ISBN: 978-1-4899-7993-3
eBook Packages: Springer Reference Computer SciencesReference Module Computer Science and Engineering
Publish with us
Chapter history
-
Latest
B-Tree Locking- Published:
- 15 February 2017
DOI: https://doi.org/10.1007/978-1-4899-7993-3_35-3
-
Original
B-Tree Locking- Published:
- 25 October 2016
DOI: https://doi.org/10.1007/978-1-4899-7993-3_35-2