Summary
A simple mathematical model for analyzing the dynamics of a B-tree node is presented. From the solution of the model, it is shown that the simple technique of allowing a B-tree node to be slightly less than half full can significantly reduce the rate of split, merge and borrow operations. We call split, merge, borrow and balance operations unsafe operations in this paper. In a multi-user environment, a lower unsafe operation rate implies less blocking and higher throughput, even when tailored concurrency control algorithms (e.g., that proposed by Lehman and Yao [10]) are used. A lower unsafe operation rate also means a longer life time of an optimally initialized B-tree (e.g., compact B-tree). It is in general useful to have an analytical model which can predict the rate of unsafe operations in a dynamic data structure, not only for comparing the behavior of variations of B-trees, but also for characterizing workload for performance evaluation of different concurrency control algorithms for such data structures. The model presented in this paper represents a starting point in this direction.
Similar content being viewed by others
References
Bayer, R., McCreight, E.: Organization and maintenance of large order indexes. Acta Inf. 1, 173–189 (1972)
Comer, D.: The ubiquitous B-tree. ACM Comput. Surv. 11, 121–137 (1979)
Huang, S.: Height-balanced trees of order (β, γ, δ). ACM Trans. Database Syst. 10, 261–284 (1985)
Knuth, D.: The art of Computer Programming, Vol 3. Reading, Mass.: Addison-Wesley 1973
Rosenberg, A.L., Snyder, L.: Time- and Space-optimality in B-trees. ACM Trans. Database Syst. 6, 174–193 (1981)
Yao, A.: On random 2–3 trees. Acta Inf. 9, 159–170 (1978)
Bayer, R., Schkolnick, M.: Concurrency of Operations on B-trees. Acta Inf. 9, 1–21 (1977)
Sagiv, Y.: Concurrent Operations on B *-trees with Overtaking. J. Comput. Syst. Sci. 33, 275–296 (1986)
Mond, Y., Raz, Y.: Concurrency control in B +-trees database using preparatory operations. Proceedings of the 11th International Conference on Very Large Data Bases, Stockholm, Sweden, pp. 331–334, 1985
Lehman, P., Yao, B.: Efficient Locking for Concurrent Operations on B-trees. ACM Trans. Database Syst. 6, 650–670 (1981)
Loeve, M.: Probability Theory. Berlin Heidelberg New York: Springer 1977
Maier, D., Salveter, S.: Hysterical B-trees. Inf. Process. Lett. 12, 199–202 (1981)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Zhang, B., Hsu, M. Unsafe operations in B-trees. Acta Informatica 26, 421–438 (1989). https://doi.org/10.1007/BF00289145
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00289145