Abstract
This paper presents general algorithms for concurrency control in tree-based access methods as well as a recovery protocol and a mechanism for ensuring repeatable read. The algorithms are developed in the context of the Generalized Search Tree (GiST) data structure, an index structure supporting an extensible set of queries and data types. Although developed in a GiST context, the algorithms are generally applicable to many tree-based access methods. The concurrency control protocol is based on an extension of the link technique originally developed for B-trees, and completely avoids holding node locks during I/Os. Repeatable read isolation is achieved with a novel combination of predicate locks and two-phase locking of data records. To our knowledge, this is the first time that isolation issues have been addressed outside the context of B-trees. A discussion of the fundamental structural differences between B-trees and more general tree structures like GiSTs explains why the algorithms developed here deviate from their B-tree counterparts. An implementation of GiSTs emulating B-trees in DB2/Common Server is underway.
- BS77 R. Bayer and M. Schkolnick. Concurrency of Operations on B-Trees. Acta Informatica, 9:1-21, 1977.Google ScholarDigital Library
- EGLT76 K.P. Eswaran, J.N. Gray, R.A. Lode, and I.L. Traiger. The notion of consistency and predicate locks in database systems. Communications of the ACM, 19(11):624-633, November 1976. Google ScholarDigital Library
- GR93 J. Gray and A. Reuter. Transaction Processing- Concepts and Techniques. Morgan Kaufmann Publishers, 1993. Google ScholarDigital Library
- Gra78 J. Gray. Notes on Database Operating Systems. In Operating Systems- An Advanced Course, volume 60 of Lecture Notes in Computer Science. Springer-Vedag, 1978. Google ScholarDigital Library
- Gut84 A. Guttman. R-Trees: A Dynamic Index Structure for Spatial Searching. in Proc. ACM SIGMOD Conf., pages 47-57, June 1984. Google ScholarDigital Library
- HNP95 J. Hellerstein, J. Naughton, and A. Pfeffer. Generalized Search Trees for Database Systems. In Proc. 2 Ist Int'l Conference on Very Large Databases (VLDB), pages 562-573, September 1995. Google ScholarDigital Library
- Jag90 H.V. Jagadish. Spatial Search with Polyhedra. In Proc. 6th IEEE Int'l Conf. on Data Engin., 1990. Google ScholarDigital Library
- JS93 T. Johnsonand D. Shasha. The Performance of Current B-Tree Algorithms. ACM TODS, 18(I), March 1993. Google ScholarDigital Library
- KB95 M. Komacker and D. Banks. High-Concurrency Locking in R-Trees. In Proc. 21st Int'l Conference on Very Large Databases (VLDB), pages 134-145, September 1995. Google ScholarDigital Library
- KKAD89 W. Kim, K.-C. Kim, and A. A. Dale. Object-Oriented Concepts, Databases and Applications, chapter Indexing Techniques for Object-Oriented Databases. ACM Press and Addison-Wesley Publishing Co., 1989. Google ScholarDigital Library
- KL80 H.T. Kung and P. L. Lehman. Concurrent Manipulation of Binary Search Trees. ACM TODS, 5(3), 1980. Google ScholarDigital Library
- LJF94 K. Lin, H. Jagadish, and C. Faloutsos. The TV-Tree: An Index Structure for High-Dimensional Data. VLDB Journal, 3, October 1994. Google ScholarDigital Library
- Lom93 D. Lomet. Key Range Locking Strategies for Improved Concurrency. In Proc. 19th lnt'l Conf. on Very Large Databases (VLDB), August 1993. Google ScholarDigital Library
- LS90 D. Lomet and B. Salzberg. The hB-Tree: A Multiattribute Indexing Method with Good Guaranteed Performance. ACM TODS, 15(4):625-685, December 1990. Google ScholarDigital Library
- LS92 D. Lomet and B. Salzberg. Access Method Concurrency with Recovery. In Proc. A CM SIGMOD Conf., pages 351-360, 1992. Google ScholarDigital Library
- LY81 P'L" Lehmann and S'B" Yao. Efficient Locking for Concurrent Operations on B-Trees. ACM TODS, 6(4):650- 670, December 1981. Google ScholarDigital Library
- MHL+92 C. Mohan, D. Hadede, B. Lindsay, H. Pirahesh, and P. Schwarz. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. ACM TODS, 17(1), March 1992. Google ScholarDigital Library
- ML92 C. Mohan and E Levine. ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging. In Proc. ACM SIGMOD Conf., June 1992. Google ScholarDigital Library
- Moh90a C. Mohan. ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. In Proc. 16th Int'l Conference on Very Large Databases (VLDB), August 1990. Google ScholarDigital Library
- Moh90b C. Mohan. CommiLLSN: A Novel and Simple Method for Reducing Locking and Latching in Transaction Processing Systems. in Proc. 16th lnt'l Conference on Very Large Databases (VLDB), August 1990. Google ScholarDigital Library
- Moh95 C. Mohan. Performance of Concurrency Control Mechanisms in Centralized Database Systems, chapter Concurrency Control and Recovery Methods for B+- Tree Indexes: ARIES/KVL and ARIES/IM. Prentice Hall, Englewood Cliffs, New Jersey, 1995. Google ScholarDigital Library
- Sag86 Y. Sagiv. Concurrent Operations on B*-Trees with Overtaking. Journal of Computer and System Sciences, 33(2):275-296, 1986. Google ScholarDigital Library
- SC91 V. Srinivasan and M. Carey. Performance of B-Tree Concurrency Control Algorithms. In Proc. ACM SIG- MOD Conf., pages 416--425, 1991. Google ScholarDigital Library
- SG88 D. Shasha and N. Goodman. Concurrent Search Structure Algorithms. ACM TODS, 13(1), March 1988. Google ScholarDigital Library
- SRF87 T. Sellis, N. Roussopoulos, and C. Faloutsos. The R+- Tree: A Dynamic Index for Multidimensional Objects. In Proc. 13th Int 'l Conference on Very Large Databases (VLDB), pages 507-518, September 1987. Google ScholarDigital Library
Index Terms
- Concurrency and recovery in generalized search trees
Recommendations
Concurrency and recovery in generalized search trees
SIGMOD '97: Proceedings of the 1997 ACM SIGMOD international conference on Management of dataThis paper presents general algorithms for concurrency control in tree-based access methods as well as a recovery protocol and a mechanism for ensuring repeatable read. The algorithms are developed in the context of the Generalized Search Tree (GiST) ...
Concurrency control and recovery for balanced B-link trees
In this paper we present new concurrent and recoverable B-link-tree algorithms. Unlike previous algorithms, ours maintain the balance of the B-link tree at all times, so that a logarithmic time bound for a search or an update operation is guaranteed ...
Multiversion concurrency control for the generalized search tree
Many read-intensive systems where fast access to data is more important than the rate at which data can change make use of multidimensional index structures, like the generalized search tree (GiST). Although in these systems the indexed data are rarely ...
Comments