Skip to main content

B-Tree Locking

Encyclopedia of Database Systems
  • 73 Accesses

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 via an institution to check access.

Access this chapter

Institutional subscriptions

Recommended Reading

  1. Bayer R, Schkolnick M. Concurrency of operations on B-trees. Acta Inf. 1977;9:1–21.

    Article  MathSciNet  MATH  Google Scholar 

  2. Comer D. The ubiquitous B-tree. ACM Comput Surv. 1979;11(2):121–37.

    Article  MATH  Google Scholar 

  3. Eliot J, Moss B. Open nested transactions: semantics and support. In: Proceedings of Workshop on Memory Performance Issues; 2006.

    Google Scholar 

  4. Graefe G. Hierarchical locking in B-tree indexes. BTW Conference; 2007. p. 18–42.

    Google Scholar 

  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. Gray J, Reuter A. Transaction processing: concepts and techniques. San Francisco: Morgan Kaufmann; 1993.

    MATH  Google Scholar 

  7. Jaluta I, Sippu S, Soisalon-Soininen E. Concurrency control and recovery for balanced B-link trees. VLDB J. 2005;14(2):257–77.

    Article  Google Scholar 

  8. Lehman PL, Yao SB. Efficient locking for concurrent operations on B-trees. ACM Trans Database Syst. 1981;6(4):650–70.

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  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. 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. Weikum G. Principles and realization strategies of multilevel transaction management. ACM Trans Database Syst. 1991;16(1):132–80.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Goetz Graefe .

Editor information

Editors and Affiliations

Section Editor information

Rights and permissions

Reprints 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

Policies and ethics

Chapter history

  1. Latest

    B-Tree Locking
    Published:
    15 February 2017

    DOI: https://doi.org/10.1007/978-1-4899-7993-3_35-3

  2. Original

    B-Tree Locking
    Published:
    25 October 2016

    DOI: https://doi.org/10.1007/978-1-4899-7993-3_35-2