Skip to main content
Log in

Concurrency of operations on B-trees

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

Concurrent operations on B-trees pose the problem of insuring that each operation can be carried out without interfering with other operations being performed simultaneously by other users. This problem can become critical if these structures are being used to support access paths, like indexes, to data base systems. In this case, serializing access to one of these indexes can create an unacceptable bottleneck for the entire system. Thus, there is a need for locking protocols that can assure integrity for each access while at the same time providing a maximum possible degree of concurrency. Another feature required from these protocols is that they be deadlock free, since the cost to resolve a deadlock may be high.

Recently, there has been some questioning on whether B-tree structures can support concurrent operations. In this paper, we examine the problem of concurrent access to B-trees. We present a deadlock free solution which can be tuned to specific requirements. An analysis is presented which allows the selection of parameters so as to satisfy these requirements.

The solution presented here uses simple locking protocols. Thus, we conclude that B-trees can be used advantageously in a multi-user environment.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Astrahan, M.M., et al.: System R: Relational approach to database management. ACM Transactions on Database Systems 1, 97–137 (1976)

    Google Scholar 

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

    Google Scholar 

  3. Bayer, R., Metzger, J.: On the Encypherment of Search Trees and Random Access Files. ACM Transactions on Database Systems 1, 37–52 (1976)

    Google Scholar 

  4. Bayer, R., Unterauer, K.: Prefix B-trees. IBM Research Report RJ 1796, San Jose, Calif., 1976. ACM Transactions on Database Systems 2, 11–26 (1977)

    Google Scholar 

  5. Brinch Hansen, P.: A programming methodology for operating system design. IFIP Congress 1974, Stockholm, pp. 394–397. Amsterdam: North Holland 1974

    Google Scholar 

  6. Held, G., Stonebraker, M.: B-trees reexamined. ERL, College of Engineering, Univ. of California, Berkeley, Calif., Memo. #ERL-M528, July 2, 1975

    Google Scholar 

  7. Hoare, C.A.R.: Monitors: An operating system structuring concept. Comm. ACM 17, 549–557 (1974)

    Google Scholar 

  8. Jammel, A., Stiegler, H.: Verwalter, eine Methode der rekursiven Prozeßzerlegung. Leibniz-Rechenzentrum der Bayerischen Akademie der Wissenschaften, LRZ Internschrift 7604/1, München, 1976

  9. Jammel, A., Stiegler, H.: Managers versus Monitors. Submitted to: IFIP Congress (1977)

  10. Knuth, D.E.: The art of computer programming, Vol. 3. Sorting and searching. Reading, Mass.: Addison-Wesley 1972

    Google Scholar 

  11. Metzger, J.K.: Managing simultaneous operations in large ordered indexes. Technische Universität München, Institut für Informatik, TUM-Math. Report, 1975

  12. Schkolnick, M.: Initial specifications for DFMAS. Unpublished document, May 1975

  13. Wedekind, H.: On the selection of access paths in a data base system (J.W. Klimbie, K.L. Koffeman, eds.), Data base management, pp. 385–397. Amsterdam: North-Holland 1974

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bayer, R., Schkolnick, M. Concurrency of operations on B-trees. Acta Informatica 9, 1–21 (1977). https://doi.org/10.1007/BF00263762

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00263762

Keywords

Navigation