skip to main content
research-article

A survey of B-tree locking techniques

Published:30 July 2010Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bayer, B. and McCreight, E. M. 1972. Organization and maintenance of large ordered indices. Acta Inform. 1, 173--189.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bayer, R. and Schkolnick, M. 1977. Concurrency of operations on B-trees. Acta Inform. 9, 1--21.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bayer, R., Unterauer, K. 1977. Prefix B-trees. ACM Trans. Datab. Syst. 2, 1, 11--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bernstein, P. A., Hadzilacos, V., and Goodman, N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Comer, D. 1979. The ubiquitous B-tree. ACM Comput. Surv. 11, 2, 121--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gawlick, D. and Kinkade, D. 1985. Varieties of concurrency control in IMS/VS fast path. IEEE Datab. Engin. Bull. 8, 2, 3--10.Google ScholarGoogle Scholar
  9. Graefe, G. 2007. Hierarchical locking in B-tree indexes. In Proceedings of the BTW Conference. 18--42.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gray, J. and Reuter, A. 1993. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Fransisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. Korth, H. F. 1983. Locking primitives in a database system. J. ACM 30, 1, 55--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kung, H. T. and Robinson, J. T. 1981. On optimistic methods for concurrency control. ACM Trans. Datab. Syst. 6, 2, 213--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Larus, J. R. and Rajwar, R. 2006. Transactional Memory. Synthesis Lectures on Computer Architecture. Morgan and Claypool Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Moss, J. E. B. 2006. Open nested transactions: Semantics and support. In Proceedings of the Workshop on Memory Performance Issues (WMPI'06).Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. O'Neil, P. E. 1986. The Escrow transactional method. ACM Trans. Datab. Syst. 11, 4, 405--430. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. Weikum, G. 1991. Principles and realization strategies of multilevel transaction management. ACM Trans. Datab. Syst. 16, 1, 132--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A survey of B-tree locking techniques

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Database Systems
              ACM Transactions on Database Systems  Volume 35, Issue 3
              July 2010
              311 pages
              ISSN:0362-5915
              EISSN:1557-4644
              DOI:10.1145/1806907
              Issue’s Table of Contents

              Copyright © 2010 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 30 July 2010
              • Accepted: 1 January 2010
              • Received: 1 September 2009
              Published in tods Volume 35, Issue 3

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader