Abstract
We present new algorithms for concurrent reading and updating of B*-trees and binary search trees. Our algorithms are based on the well-known link technique, and improve previously proposed solutions in several respects. We prove formally that our algorithms are correct. We show that they satisfy a view serializability criterion, which fails for previous solutions. This stronger serializability criterion is central to the proof that several subtle (but essential) optimizations incorporated in our algorithms are correct.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
S. Abiteboul, P. Buneman, D. Suciu. Data on the Web: From Relations to Semi-structured Data and XML. Morgan Kaufmann, 1999.
R. Bayer, E. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica 1 (1972), 173–189.
P. Bernstein, V. Hadzilacos, N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
B. Eisenbarth, N. Ziviani, G. H. Gonnet, K. Mehlhorn, D. Wood. The Theory of Fringe Analysis and Its Application to 2-3 Trees and B-Trees. Information and Control 55,1–3 (1982), 125–174.
J. Gabarro, X. Messeguer. A unified approach to concurrent and parallel algorithms on balanced data structures. Tech. Report LSI9733, Universitat Politecnica de Catalunya, 1997.
J. N. Gray, A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.
T. Johnson. The Performance of Concurrent Data Structure Algorithms. PhD thesis, NYU Dept. of Computer Science, 1990.
T. Johnson, A. Colbrook. A Distributed Data-Balanced Dictionary Based on the B-Link Tree. Proc. 6th International Parallel Processing Symposium, 319–325, 1992.
R. Jones, R. Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, 1996.
D. E. Knuth. The Art of Computer Programming. Addison Wesley, 1997.
M. Kornacker, D. Banks. High-Concurrency Locking in R-Trees. VLDB 1995, 134–145.
M. Kornacker, C. Mohan, J. M. Hellerstein. Concurrency and Recovery in Generalized Search Trees. SIGMOD 1997, 62–72.
H. T. Kung, P. L. Lehman. Concurrent manipulation of binary search trees. ACM Transactions on Database Systems 5,3 (1980), 354–382.
K. Larsen, R. Fagerberg. Efficient rebalancing of B-trees with relaxed balance. IJFCS 7,2(1996), 169–186.
P. L. Lehman, S. Bing Yao. Efficient locking for concurrent operations on B-trees. ACM Transactions on Database Systems 6,4 (1981), 650–670.
D. B. Lomet, B. Salzberg. Concurrency and Recovery for Index Trees. VLDB Journal 6,3 (1997), 224–240.
U. Manber, R. E. Ladner. Concurrency control in a dynamic search structure. ACM Transactions on Database Systems 9,3 (1984), 439–455.
C. Mohan. ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. VLDB 1990, 392–405.
C. Mohan. Concurrency Control and Recovery Methods for B+-Tree Indexes: ARIES/KVL and ARIES/IM. Performance of Concurrency Control Mechanisms in Centralized Database Systems 1996, 248–306.
O. Nurmi, E. Soisalon-Soininen, D. Wood. Concurrency control in database structures with relaxed balance. ACM PODS 1987, 170–176.
C. Papadimitriou. The Theory of Database Concurrency Control. Computer Science Press, 1986.
P. V. Poblete, J. Ian Munro. The Analysis of a Fringe Heuristic for Binary Search Trees. Journal of Algorithms 6,3 (1985), 336–350.
R. Rastogi, S. Seshadri, P. Bohannon, D. W. Leinbaugh, A. Silberschatz, S. Sudarshan. Logical and Physical Versioning in Main Memory Databases. VLDB 1997, 86–95.
Y. Sagiv. Concurrent operations on B*-trees with overtaking. Journal of Computer and System Sciences 33, (1986), 275–296.
B. Salzberg. Restructuring the Lehman-Yao tree. Tech. Report BS-85-21, Northeastern University, 1985.
D. Shasha, N. Goodman. Concurrent Search Structure Algorithms. ACM Transactions on Database Systems 13,1 (1988), 53–90.
A. Silberschatz, Z. Kedem. Consistency in Hierarchical Database Systems. JACM 27,1 (1980), 72–80.
E. Soisalon-Soininen, P. Widmayer. Relaxed balancing in search trees. Advances in Algorithmics, Languages and Complexity: Essays in Honor of R. V. Book (D. Du and K. Ko, Eds.), 267–283. Kluwer Academic, 1997.
H. Wedekind. On the selection of access paths in data base systems. Data base management (J. W. Klimbie and K. L. Koffeman, Eds.), 385–397. North-Holland, 1974.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cosmadakis, S., Ioannidou, K., Stergiou, S. (2002). View Serializable Updates of Concurrent Index Structures. In: Ghelli, G., Grahne, G. (eds) Database Programming Languages. DBPL 2001. Lecture Notes in Computer Science, vol 2397. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46093-4_15
Download citation
DOI: https://doi.org/10.1007/3-540-46093-4_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44080-2
Online ISBN: 978-3-540-46093-0
eBook Packages: Springer Book Archive