B-tree concurrency control; Crabbing; Key range locking; Key value locking; Latch coupling; Latching; Lock coupling; Row-level locking
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.
Bayer and Schkolnick  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...
- 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. In: The Conference for Database Systems for Business, Technology, and Web; 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
- 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
- 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