Skip to main content
Log in

Unsafe operations in B-trees

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

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.

Similar content being viewed by others

References

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

    Google Scholar 

  2. Comer, D.: The ubiquitous B-tree. ACM Comput. Surv. 11, 121–137 (1979)

    Google Scholar 

  3. Huang, S.: Height-balanced trees of order (β, γ, δ). ACM Trans. Database Syst. 10, 261–284 (1985)

    Google Scholar 

  4. Knuth, D.: The art of Computer Programming, Vol 3. Reading, Mass.: Addison-Wesley 1973

    Google Scholar 

  5. Rosenberg, A.L., Snyder, L.: Time- and Space-optimality in B-trees. ACM Trans. Database Syst. 6, 174–193 (1981)

    Google Scholar 

  6. Yao, A.: On random 2–3 trees. Acta Inf. 9, 159–170 (1978)

    Google Scholar 

  7. Bayer, R., Schkolnick, M.: Concurrency of Operations on B-trees. Acta Inf. 9, 1–21 (1977)

    Google Scholar 

  8. Sagiv, Y.: Concurrent Operations on B *-trees with Overtaking. J. Comput. Syst. Sci. 33, 275–296 (1986)

    Google Scholar 

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

  10. Lehman, P., Yao, B.: Efficient Locking for Concurrent Operations on B-trees. ACM Trans. Database Syst. 6, 650–670 (1981)

    Google Scholar 

  11. Loeve, M.: Probability Theory. Berlin Heidelberg New York: Springer 1977

    Google Scholar 

  12. Maier, D., Salveter, S.: Hysterical B-trees. Inf. Process. Lett. 12, 199–202 (1981)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation