Advertisement

Concurrency Issues in Access Methods

  • Yannis Manolopoulos
  • Yannis Theodoridis
  • Vassilis J. Tsotras
Chapter
Part of the Advances in Database Systems book series (ADBS, volume 17)

Abstract

B-trees, R-trees and Linear Hashing have been used in commercial DBMSs as indexing mechanisms to provide assistance for fast data retrieval. In this chapter we will examine how different locking techniques can be used on these three access methods to provide correct concurrent execution and deadlock-free concurrent transactions. It is important having efficient concurrency control protocols for index structures, since indices are “hot” data in the sense that they are heavily involved in query processing. Also, using standard straightforward approaches for concurrency in tree indices would result in high lock contention in the higher tree levels.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bayer, R. and Schkolnick, M. (1977). Concurrency of Operations on B-trees. Acta Infor-matica, 9(1):1–21.MathSciNetzbMATHGoogle Scholar
  2. Biliris, A. (1987). Operation Specific Locking in B-trees. In Proceedings of the 6 th ACM Symposium on Principles of Database Systems, pages 159–169.Google Scholar
  3. Biliris, A. (1989). Operation Specific Locking in Balanced Structures. Information Sciences, 48(1):27–51.zbMATHGoogle Scholar
  4. Chakrabarti, K. and Mehrotra, S. (1999). Efficient Concurrency Control in Multidimensional Access Methods. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 25–36.Google Scholar
  5. Chen, J.K., Huang, Y.F., and Chin, Y.H. (1997). A Study of Concurrent Operations on R-trees. Information Sciences, 98:263–300.MathSciNetGoogle Scholar
  6. Ellis, C.S. (1980a). Concurrent Search and Insertion in 2-3 Trees. Acta Informatica, 14:63–66.MathSciNetzbMATHGoogle Scholar
  7. Ellis, C.S. (1980b). Concurrent Search and Insertion in AVL trees. IEEE Transactions on Computers, 29(9):811–817.zbMATHGoogle Scholar
  8. Ellis, C.S. (1983). Extendible Hashing for Concurrent Operations and Distributed Data. In Proceedings of the 2 nd ACM Symposium on Principles of Database Systems, pages 106–116.Google Scholar
  9. Ellis, C.S. (1987). Concurrency in Linear Hashing. ACM Transactions on Database Systems, 12(2):195–217.Google Scholar
  10. Evangelidis, G., Lomet, D., and Salzberg, B. (1997). The hBII-tree: a Multi-attribute Index Supporting Concurrency, Recovery and Node Consolidation. The VLDB Journal, 6(1):1–25.Google Scholar
  11. Fu, A. and Kameda, T. (1989). Concurrency Control of Nested Transactions Accessing B-trees. In Proceedings of the 8 th ACM Symposium on Principles of Database Systems, pages 270–285.Google Scholar
  12. Goodman, N. and Shasha, D. (1985). Semantically-based Concurrency Control for Search Structures. In Proceedings of the 4th ACM Symposium on Principles of Database Systems, pages 8–19.Google Scholar
  13. Goyal, B., Haritsa, J., Seshadri, S., and Srinivasan, V. (1995). Index Concurrency Control in Firm Real-time Database Systems. In Proceedings of the 21 st International Conference on Very Large Data Bases, pages 146–157.Google Scholar
  14. Guibas, L. and Sedgewick, R. (1978). A Dichromatic Framework for Balanced Tress. In Proceedings of the 9 th IEEE Symposium on Foundations of Computer Science, pages 8–21.Google Scholar
  15. Guttman, A. (1984). R-trees: a Dynamic Index Structure for Spatial Searching. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 47–57.Google Scholar
  16. Haritsa, J. and Seshadri, S. (1996). Real-time Index Concurrency Control. ACM SIGMOD Record, 25(1):13–17.Google Scholar
  17. Ho, P.C. and Yang, W.P. (1993). Concurrent Operations in Multi-attribute Linear Hashing. Information Sciences, 74:29–51.zbMATHGoogle Scholar
  18. Hsu, M. and Yang, W.P. (1986). Concurrent Operations in Extendible Hashing. In Proceedings of the 12 th International Conference on Very Large Data Bases, pages 241–247.Google Scholar
  19. Johnson, T. and Shasha, D. (1990). A Framework for the Performance Analysis of Concurrent B-tree Algorithms. In Proceedings of the 9 th ACM Symposium on Principles of Database Systems, pages 273–287.Google Scholar
  20. Johnson, T. and Krishna, P. (1993). Lazy Updates for Distributed Search Structures. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 337–346.Google Scholar
  21. Johnson, T. and Shasha, D. (1993). The Performance of Concurrent B-tree Algorithms. ACM Transactions on Database Systems, 18(1):51–101.MathSciNetGoogle Scholar
  22. Jones, D. (1989). Concurrent Operations on Priority Queues. Communications of the ACM, 32(1):132–137.Google Scholar
  23. Kornacker, M. and Banks, D. (1995). Concurrent Access in R-trees. In Proceedings of the 21 st International Conference on Very Large Data Bases, pages 134–145.Google Scholar
  24. Kornacker, M., Mohan, C, and Hellerstein, J.M. (1997). Concurrency and Recovery in Generalized Search Trees. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 134–145.Google Scholar
  25. Kumar, V. (1990). Concurrent Operations on Extendible Hashing and its Performance. Communications of the ACM, 33(6):681–694.Google Scholar
  26. Kwong, Y.S. and Wood, D. (1982). A New Method for Concurrency in B-trees. IEEE Transactions on Software Engineering, 18(3):211–222.Google Scholar
  27. Larson, P.A. and Kajla, A. (1984). File Organization and Implementation of a Method Guaranteeing Retrieval in One Access. Communications of the ACM, 27(7):670–677.Google Scholar
  28. Larson, P.A. (1988). Linear Hashing with Separators: a Dynamic Hashing Scheme One Access Retrieval. ACM Transactions on Database Systems, 13(3):366–388.Google Scholar
  29. Lehman, P.B. and Yao, S.B. (1981). Efficient Locking for Concurrent Operations on B-trees. ACM Transactions Database Systems, 6(4):650–670.zbMATHGoogle Scholar
  30. Lomet, D. and Salzberg, B. (1992). Access Methods Concurrency with Recovery. In Proceedings of ACM SIGMOD Conferenceon Management of Data, pages 351–360.Google Scholar
  31. Luef, G. and Mueck, T. (1992). Concurrent Operations in Balanced and Nested Grid Files. In Proceedings of the 6 th International Conference on Scientific and Statistical Database Management, pages 327–342.Google Scholar
  32. Manolopoulos, Y. (1994). B-trees with Lazy Parent Split. Information Sciences, 79:73–88.zbMATHGoogle Scholar
  33. 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 16 th International Conference on Very Large Data Bases, pages 392–402.Google Scholar
  34. Mohan, C. and Levine, E. (1992). ARIES/IM: an Efficient and High Concurrency Index Management Using Write-Ahead Logging. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 371–380.Google Scholar
  35. Mohan, C. (1993). ARIES/LHS: a Concurrent Control and Recovery Method Using Write-Ahead Logging for Linear Hashing with Separators. In Proceedings of the 9 th IEEE International Conference on Data Engineering, pages 243–252.Google Scholar
  36. Mohan, C. (1996). Concurrency Control and Recovery Methods for B+-tree Indexes-ARIES/KVL and ARIES/IM. In Performance of Concurrency Control Mechanisms in Centralized Database Systems, Kumar, V. (editor), pages 248–306.Google Scholar
  37. Mond, Y. and Raz, Y. (1985). Concurrency Control in B+-trees Databases Using Preparatory Operations. In Proceedings of the 11 th International Conference on Very Large Data Bases, pages 331–334.Google Scholar
  38. Ng, V. and Kameda, T. (1993). Concurrent Access to R-trees. In Proceedings of the 3 rd International Symposium on Spatial Databases, pages 142–161.Google Scholar
  39. Ng, V. and Kameda, T. (1994). The R-Link Tree: a Recoverable Index Structure for Spatial Data. In Proceedings of the 5 th International Conference on Databases and Expert Systems Applications, pages 163–172.Google Scholar
  40. Nurmi, O., Soisalon-Soininen, E., and Wood, D. (1987). Concurrency Control in Database Structures with Relaxed Balance. In Proceedings of the 6 th ACM Symposium on Principles of Database Systems, pages 170–176.Google Scholar
  41. Rao, V. and Kumar, V. (1988). Concurrent Accesses of Priority Queues. IEEE Transactions on Computers, 37(12):1657–1665.zbMATHGoogle Scholar
  42. Sagiv, Y. (1985). Concurrent Operations on B-trees with Overtaking. In Proceedings of the 4th ACM Symposium on Principles of Database Systems, pages 28–37.Google Scholar
  43. Salerno, S. and Shidlovski, B. (1995). On the Advanced Optimistic Algorithms for Concurrent B-tree. In Proceedings of the Basque International Workshop on Information Technology (BIWIT).Google Scholar
  44. Salzberg, B. (1986). Grid File Concurrency. Information Systems, 11(3):235–244.MathSciNetGoogle Scholar
  45. Samadi, B. (1976). B-trees in a System with Multiple Users. Information Processing Letters, 5(4):107–112.zbMATHGoogle Scholar
  46. Shasha, D. (1985). What Good are Concurrent Search Structure Algorithms for Databases Anyway? IEEE Database Engineering, 8(4):84–90.Google Scholar
  47. Shasha, D. and Goodman, N. (1988). Concurrent Search Structure Algorithms. ACM Transactions on Database Systems, 13(1):53–90.zbMATHGoogle Scholar
  48. Srinivasan, V. and Carey, M. (1991). Performance of B+-tree Concurrency Algorithms. In Proceedings of ACM SIGMOD Conference on Management of Data, pages 416–425.Google Scholar
  49. Srinivasan, V. and Carey, M. (1993). Performance of B+-tree Concurrency Control Algorithms. The VLDB Journal, 2:361–406.Google Scholar

Copyright information

© Springer Science+Business Media New York 2000

Authors and Affiliations

  • Yannis Manolopoulos
    • 1
  • Yannis Theodoridis
    • 2
  • Vassilis J. Tsotras
    • 3
  1. 1.Aristotle UniversityGreece
  2. 2.Greece
  3. 3.University of CaliforniaRiversideUSA

Personalised recommendations