Skip to main content

View Serializable Updates of Concurrent Index Structures

  • Conference paper
  • First Online:
  • 428 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2397))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abiteboul, P. Buneman, D. Suciu. Data on the Web: From Relations to Semi-structured Data and XML. Morgan Kaufmann, 1999.

    Google Scholar 

  2. R. Bayer, E. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica 1 (1972), 173–189.

    Article  Google Scholar 

  3. P. Bernstein, V. Hadzilacos, N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.

    Google Scholar 

  4. 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.

    Article  MATH  MathSciNet  Google Scholar 

  5. J. Gabarro, X. Messeguer. A unified approach to concurrent and parallel algorithms on balanced data structures. Tech. Report LSI9733, Universitat Politecnica de Catalunya, 1997.

    Google Scholar 

  6. J. N. Gray, A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.

    Google Scholar 

  7. T. Johnson. The Performance of Concurrent Data Structure Algorithms. PhD thesis, NYU Dept. of Computer Science, 1990.

    Google Scholar 

  8. T. Johnson, A. Colbrook. A Distributed Data-Balanced Dictionary Based on the B-Link Tree. Proc. 6th International Parallel Processing Symposium, 319–325, 1992.

    Google Scholar 

  9. R. Jones, R. Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, 1996.

    Google Scholar 

  10. D. E. Knuth. The Art of Computer Programming. Addison Wesley, 1997.

    Google Scholar 

  11. M. Kornacker, D. Banks. High-Concurrency Locking in R-Trees. VLDB 1995, 134–145.

    Google Scholar 

  12. M. Kornacker, C. Mohan, J. M. Hellerstein. Concurrency and Recovery in Generalized Search Trees. SIGMOD 1997, 62–72.

    Google Scholar 

  13. H. T. Kung, P. L. Lehman. Concurrent manipulation of binary search trees. ACM Transactions on Database Systems 5,3 (1980), 354–382.

    Article  MATH  Google Scholar 

  14. K. Larsen, R. Fagerberg. Efficient rebalancing of B-trees with relaxed balance. IJFCS 7,2(1996), 169–186.

    Article  MATH  Google Scholar 

  15. P. L. Lehman, S. Bing Yao. Efficient locking for concurrent operations on B-trees. ACM Transactions on Database Systems 6,4 (1981), 650–670.

    Article  MATH  Google Scholar 

  16. D. B. Lomet, B. Salzberg. Concurrency and Recovery for Index Trees. VLDB Journal 6,3 (1997), 224–240.

    Article  Google Scholar 

  17. U. Manber, R. E. Ladner. Concurrency control in a dynamic search structure. ACM Transactions on Database Systems 9,3 (1984), 439–455.

    Article  MathSciNet  Google Scholar 

  18. C. Mohan. ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. VLDB 1990, 392–405.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. O. Nurmi, E. Soisalon-Soininen, D. Wood. Concurrency control in database structures with relaxed balance. ACM PODS 1987, 170–176.

    Google Scholar 

  21. C. Papadimitriou. The Theory of Database Concurrency Control. Computer Science Press, 1986.

    Google Scholar 

  22. P. V. Poblete, J. Ian Munro. The Analysis of a Fringe Heuristic for Binary Search Trees. Journal of Algorithms 6,3 (1985), 336–350.

    Article  MATH  MathSciNet  Google Scholar 

  23. 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.

    Google Scholar 

  24. Y. Sagiv. Concurrent operations on B*-trees with overtaking. Journal of Computer and System Sciences 33, (1986), 275–296.

    Article  MATH  MathSciNet  Google Scholar 

  25. B. Salzberg. Restructuring the Lehman-Yao tree. Tech. Report BS-85-21, Northeastern University, 1985.

    Google Scholar 

  26. D. Shasha, N. Goodman. Concurrent Search Structure Algorithms. ACM Transactions on Database Systems 13,1 (1988), 53–90.

    Article  MATH  Google Scholar 

  27. A. Silberschatz, Z. Kedem. Consistency in Hierarchical Database Systems. JACM 27,1 (1980), 72–80.

    Article  MATH  MathSciNet  Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics