Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

B-Tree Locking

  • Goetz Graefe
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_35

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...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Bayer R, Schkolnick M. Concurrency of operations on B-trees. Acta Inf. 1977;9(1):1–21.MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Comer D. The ubiquitous B-tree. ACM Comput Surv. 1979;11(2):121–37.MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Eliot J, Moss B. Open nested transactions: semantics and support. In: Proceedings of Workshop on Memory Performance Issues; 2006.Google Scholar
  4. 4.
    Graefe G. Hierarchical locking in B-tree indexes. In: The Conference for Database Systems for Business, Technology, and Web; 2007. p. 18–42.Google Scholar
  5. 5.
    Graefe G, Zwilling MJ. Transaction support for indexed views. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 2004.Google Scholar
  6. 6.
    Gray J, Reuter A. Transaction processing: concepts and techniques. San Francisco: Morgan Kaufmann; 1993.zbMATHGoogle Scholar
  7. 7.
    Jaluta I, Sippu S, Soisalon-Soininen E. Concurrency control and recovery for balanced B-link trees. VLDB J. 2005;14(2):257–77.CrossRefGoogle Scholar
  8. 8.
    Lehman PL, Yao SB. Efficient locking for concurrent operations on B-trees. ACM Trans Database Syst. 1981;6(4):650–70.zbMATHCrossRefGoogle Scholar
  9. 9.
    Lomet DB. Key range locking strategies for improved concurrency. In: Proceedings of 19th International Conference on Very Large Data Bases; 1993. p. 655–64.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.CrossRefGoogle Scholar
  12. 12.
    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.Google Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    Weikum G. Principles and realization strategies of multilevel transaction management. ACM Trans Database Syst. 1991;16(1):132–80.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Google, Inc.Mountain ViewUSA

Section editors and affiliations

  • Gottfried Vossen
    • 1
  1. 1.Dep. of Inf. SystemsWestf. Wilhelms-UniveristätMünsterGermany