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.
References
Bitton, D. and Turbyfill, C., “Performance Evaluation of Main Memory Database Systems”, Tech. Report TR 86-731, Jan. 1986.
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.
Garcia-Molina, H., Lipton, R.J., and Honeyman, P., “A Massive Memory Database Machine”, Tech. report 314, September 1983.
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.
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.
Knuth, D., The Art of Computer Programming Vol I and III. Addison-Wesley, 1975.
Lehman, T.J. and Carey, M.J., “Query Processing in Main Memory Database Systems,” Proc. ACM SIGMOD Conference, pp.239–250, May 1986.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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