Abstract
B-trees have been ubiquitous in database management systems for several decades, and they are used in other storage systems as well. Their basic structure and basic operations are well and widely understood including search, insertion, and deletion. Concurrency control of operations in B-trees, however, is perceived as a difficult subject with many subtleties and special cases. The purpose of this survey is to clarify, simplify, and structure the topic of concurrency control in B-trees by dividing it into two subtopics and exploring each of them in depth.
- Bayer, R. 1997. The universal B-Tree for multidimensional indexing: General concepts. In Proceedings of the International Conference on Worldwide Computing and Its Applications (WWCA'97). 198--209. Google ScholarDigital Library
- Bayer, B. and McCreight, E. M. 1972. Organization and maintenance of large ordered indices. Acta Inform. 1, 173--189.Google ScholarDigital Library
- Bayer, R. and Schkolnick, M. 1977. Concurrency of operations on B-trees. Acta Inform. 9, 1--21.Google ScholarDigital Library
- Bayer, R., Unterauer, K. 1977. Prefix B-trees. ACM Trans. Datab. Syst. 2, 1, 11--26. Google ScholarDigital Library
- Bernstein, P. A., Hadzilacos, V., and Goodman, N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley. Google ScholarDigital Library
- Comer, D. 1979. The ubiquitous B-tree. ACM Comput. Surv. 11, 2, 121--137. Google ScholarDigital Library
- Eswaran, K. P., Gray, J., Lorie, R. A., and Traiger, I. L. 1976. The notions of consistency and predicate locks in a database system. Comm. ACM 19, 11, 624--633. Google ScholarDigital Library
- Gawlick, D. and Kinkade, D. 1985. Varieties of concurrency control in IMS/VS fast path. IEEE Datab. Engin. Bull. 8, 2, 3--10.Google Scholar
- Graefe, G. 2007. Hierarchical locking in B-tree indexes. In Proceedings of the BTW Conference. 18--42.Google Scholar
- Graefe, G. and Zwilling, M. J. 2004. Transaction support for indexed views. In Proceedings of the ACM SIGMOD International Conference on Management of Data. 323--334. Google ScholarDigital Library
- Gray, J. and Reuter, A. 1993. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Fransisco, CA. Google ScholarDigital Library
- Jaluta, I., Sippu, S., and Soisalon-Soininen, E. 2005. Concurrency control and recovery for balanced B-link trees. VLDB J. 14, 2, 257--277. Google ScholarDigital Library
- Jordan, J. R., Banerjee, J., and Batman, R. B. 1981. Precision locks. In Proceedings of the ACM SIGMOD International Conference on Management of Data. 143--147. Google ScholarDigital Library
- Korth, H. F. 1983. Locking primitives in a database system. J. ACM 30, 1, 55--79. Google ScholarDigital Library
- Kung, H. T. and Robinson, J. T. 1981. On optimistic methods for concurrency control. ACM Trans. Datab. Syst. 6, 2, 213--226. Google ScholarDigital Library
- Larus, J. R. and Rajwar, R. 2006. Transactional Memory. Synthesis Lectures on Computer Architecture. Morgan and Claypool Publishers. Google ScholarDigital Library
- Lehman, P. L. and Yao, S. B. 1981. Efficient locking for concurrent operations on B-trees. ACM Trans. Datab. Syst. 6, 4, 650--670. Google ScholarDigital Library
- Lomet, D. B. 1993. Key range locking strategies for improved concurrency. In Proceedings of the International Conference on Very Large Databases (VLDB'93). 655--664. Google ScholarDigital Library
- Lomet, D. B. 2004. Simple, robust and highly concurrent B-trees with node deletion. In Proceedings of the International Conference on Data Engineering (ICDE'04). 18--28. Google ScholarDigital Library
- Luo, G., Naughton, J. F., Ellmann, C. J., and Watzke, M. 2005. Locking protocols for materialized aggregate join views. IEEE Trans. Knowl. Data Engin. 17, 6, 796--807. Google ScholarDigital Library
- Mohan, C. 1990. ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on B-tree indexes. In Proceedings of the International Conference on Very Large Databases (VLDB'90). 392--405. Google ScholarDigital Library
- Mohan, C. and Levine, F. 1992. ARIES/IM: An efficient and high concurrency index management method using write-ahead logging. In Proceedings of the ACM SIGMOD International Conference on Management of Data. 371--380. Google ScholarDigital Library
- Moss, J. E. B. 2006. Open nested transactions: Semantics and support. In Proceedings of the Workshop on Memory Performance Issues (WMPI'06).Google Scholar
- Ni, Y., Menon, V., Adl-Tabatabai, A.-R., Hosking, A. L., Hudson, R. L., Moss, J. E. B., Saha, B., and Shpeisman, T. 2007. Open nesting in software transactional memory. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'07). 68--78. Google ScholarDigital Library
- O'Neil, P. E. 1986. The Escrow transactional method. ACM Trans. Datab. Syst. 11, 4, 405--430. Google ScholarDigital Library
- Ramsak, F., Markl, V., Fenk, R., Zirkel, M., Elhardt, K., and Bayer, R. 2000. Integrating the UB-tree into a database system kernel. In Proceedings of the International Conference on Very Large Databases (VLDB'00). 263--272. Google ScholarDigital Library
- Srinivasan, V. and Carey, M. J. 1991. Performance of B-tree concurrency algorithms. In Proceedings of the ACM SIGMOD International Conference on Management of Data. 416--425. Google ScholarDigital Library
- Weikum, G. 1991. Principles and realization strategies of multilevel transaction management. ACM Trans. Datab. Syst. 16, 1, 132--180. Google ScholarDigital Library
- Weikum, G. and Schek, H.-J. 1992. Concepts and applications of multilevel transactions and open nested transactions. In Database Transaction Models for Advanced Applications. 515--553. Google ScholarDigital Library
- Weikum, G. and Vossen, G. 2002. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Fransisco, CA. Google ScholarDigital Library
- Zou, C. and Salzberg, B. 1996. On-Line reorganization of sparsely-populated B+-trees. In Proceedings of the ACM SIGMOD International Conference on Management of Data. 115--124. Google ScholarDigital Library
Index Terms
- A survey of B-tree locking techniques
Recommendations
A survey of B-tree logging and recovery techniques
B-trees have been ubiquitous in database management systems for several decades, and they serve in many other storage systems as well. Their basic structure and their basic operations are well understood including search, insertion, and deletion. ...
T-Tree or B-Tree: Main Memory Database Index Structure Revisited
ADC '00: Proceedings of the Australasian Database ConferenceWhile the B-tree (or the B+-tree) is the most popular index structure in disk-based relational database systems, the T-tree has been widely accepted as a promising index structure for main memory databases where the entire database (or most of them) ...
Pre-analysis locking: a safe and deadlock free locking policy
VLDB '85: Proceedings of the 11th international conference on Very Large Data Bases - Volume 11A safe and deadlock free lock policy is introduced, called pre-analysis locking. Pre-analysis locking is based on an efficient geometric algorithm which inserts lock and unlock operations into the transactions. Pre-analysis locking is the first safe and ...
Comments