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.
Similar content being viewed by others
References
Astrahan, M.M., et al.: System R: Relational approach to database management. ACM Transactions on Database Systems 1, 97–137 (1976)
Bayer, R., McCreight, E.: Organization and maintenance of large ordered indexes. Acta Informat. 1, 173–189 (1972)
Bayer, R., Metzger, J.: On the Encypherment of Search Trees and Random Access Files. ACM Transactions on Database Systems 1, 37–52 (1976)
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)
Brinch Hansen, P.: A programming methodology for operating system design. IFIP Congress 1974, Stockholm, pp. 394–397. Amsterdam: North Holland 1974
Held, G., Stonebraker, M.: B-trees reexamined. ERL, College of Engineering, Univ. of California, Berkeley, Calif., Memo. #ERL-M528, July 2, 1975
Hoare, C.A.R.: Monitors: An operating system structuring concept. Comm. ACM 17, 549–557 (1974)
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
Jammel, A., Stiegler, H.: Managers versus Monitors. Submitted to: IFIP Congress (1977)
Knuth, D.E.: The art of computer programming, Vol. 3. Sorting and searching. Reading, Mass.: Addison-Wesley 1972
Metzger, J.K.: Managing simultaneous operations in large ordered indexes. Technische Universität München, Institut für Informatik, TUM-Math. Report, 1975
Schkolnick, M.: Initial specifications for DFMAS. Unpublished document, May 1975
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
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00263762