Skip to main content

Using logarithmic code-expansion to speedup index access and maintenance

  • Short Presentations
  • Conference paper
  • First Online:

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

Abstract

In this paper we have studied the performance of alternative representations of binary search-trees for indexing a relation kept in main-memory. It was shown that space/time performance of the common techniques, such as sorted heaps, and more complex data structures, such as avl-trees, can be improved considerably. In particular, when an upperbound is determined during program construction on the maximal size of the indices, an efficient mapping, called the virtual tree, from binary search tree to array exists. The resulting search structure ensures an upperbound on the number of comparisons for searching and maintenance will only start to deteriorate when the area set aside for holding the index is nearly full. In addition, we showed that limiting the maximal size of the index structure permits judicious use of code-expansion, i.e. logarithmic code expansion, to further improve the performance of the algorithms. For a search dominant environment our approach is better than the more space consumptive binary trees representations based on pointer chasing. In a volatile environment the space/time performance can be controlled precisely.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bitton, D. and Turbyfill, C., “Performance Evaluation of Main Memory Database Systems”, Tech. Report TR 86-731, Jan. 1986.

    Google Scholar 

  2. DeWitt, D., R.Katz, Olken, F., Shapiro, L., Stonebraker, M., and Wood, D., “Implementation Techniques for Main Memory Database Systems,” Proc. ACM SIGMOD, pp.1–8, June 1984.

    Google Scholar 

  3. Garcia-Molina, H., Lipton, R.J., and Honeyman, P., “A Massive Memory Database Machine”, Tech. report 314, September 1983.

    Google Scholar 

  4. Kersten, M.L., Apers, P.M.G., Houtsma, M.A.W., Kuyk, E.J.A. van, and Weg, R.L.W. van de, “A Distributed Main-Memory Database Machine; Research Issues and a Preliminary Architecture,” Proc. 5th Int Workshop on Database Machines, pp.496–511, Oct 1987.

    Google Scholar 

  5. Kersten, M.L., “A Time and Space Efficient Implementation of a Dynamic Index in a Main-Memory DBS”, CWI technical report CS-R8803, Jan 1988.

    Google Scholar 

  6. Knuth, D., The Art of Computer Programming Vol I and III. Addison-Wesley, 1975.

    Google Scholar 

  7. Lehman, T.J. and Carey, M.J., “Query Processing in Main Memory Database Systems,” Proc. ACM SIGMOD Conference, pp.239–250, May 1986.

    Google Scholar 

  8. Lehman, T.J. and Carey, M.J., “A Study of Index Structures for Main Memory Database Systems,” Proc. Conf. on Very Large Database, pp.293–303, Sep 1986.

    Google Scholar 

  9. Leland, M.D.P. and Roome, W.D., “The Silicon Database Machine: Rationale, Design, and Results,” Proc. 5-th Int. Workshop on Database Machines, pp.454–467, Oct 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Witold Litwin Hans-Jörg Schek

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kersten, M.L. (1989). Using logarithmic code-expansion to speedup index access and maintenance. In: Litwin, W., Schek, HJ. (eds) Foundations of Data Organization and Algorithms. FODO 1989. Lecture Notes in Computer Science, vol 367. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51295-0_131

Download citation

  • DOI: https://doi.org/10.1007/3-540-51295-0_131

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51295-0

  • Online ISBN: 978-3-540-46186-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics