Abstract
We present the interpolation search tree (ISB-tree), a new cache-aware indexing scheme that supports update operations (insertions and deletions) in O(1) worst-case (w.c.) block transfers and search operations in O(log B log n) expected block transfers, where B represents the disk block size and n denotes the number of stored elements. The expected search bound holds with high probability for a large class of (unknown) input distributions. The w.c. search bound of our indexing scheme is O(log B n) block transfers. Our update and expected search bounds constitute a considerable improvement over the O(log B n) w.c. block transfer bounds for search and update operations achieved by the B-tree and its numerous variants. This is also suggested by a set of preliminary experiments we have carried out. Our indexing scheme is based on an externalization of a main memory data structure based on interpolation search.
This work was partially supported by the IST Programme (6th FP) of EC under contracts IST-2001-33058 (PANDA) and IST-2002-001907 (integrated project DELIS), and by the Action PYTHAGORAS of the Operational Programme for Educational & Vocational Training II, with matching funds from the European Social Fund and the Greek Ministry of Education.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aggarwal, A., Vitter, J.S.: The Input/Output Complexity of Sorting and Related Problems. Communications of the ACM 31(9), 1116–1127 (1988)
Andersson, A., Mattson, C.: Dynamic Interpolation Search in o(loglogn) Time. In: Lingas, A., Carlsson, S., Karlsson, R. (eds.) ICALP 1993. LNCS, vol. 700, pp. 15–27. Springer, Heidelberg (1993)
Bayer, R., McCreight, E.: Organization of large ordered indexes. Acta Informatica 1, 173–189 (1972)
Comer, D.: The Ubiquitous B-tree. ACM Computing Surveys 11(2), 121–137 (1979)
Fagin, R., Nievergelt, J., Pippinger, N., Strong, H.R.: Extendible Hashing-A fast access method for dynamic files. ACM Transactions on Database Systems 4(3), 315–344 (1979)
Ferragina, P., Grossi, R.: The String B-tree: A New Data Structure for String Search in External Memory and Its Applications. Journal of the ACM 46(2), 236–280 (1999)
Fox, E., Chen, Q., Daoud, A.: Practical Minimal Perfect Hash Functions for Large Databases. Communications of the ACM 35(5), 105–121 (1992)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: In Proc. 40th IEEE Symp. on Foundations of Computer Science (FOCS), pp. 285–297 (1999)
Kaporis, A., Makris, C., Sioutas, S., Tsakalidis, A., Tsichlas, K., Zaroliagis, C.: Improved Bounds for Finger Search on a RAM. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 325–336. Springer, Heidelberg (2003); Full version as Tech. Rep. TR-2003/07/01, Computer Technology Institute, Patras (July 2003)
Kaporis, A., Makris, C., Mavritsakis, G., Sioutas, S., Tsakalidis, A., Tsichlas, K., Zaroliagis, C.: ISB-Tree: A New Indexing Scheme with Efficient Expected Behaviour. Computer Technology Institute Tech. Report TR 2005/09/02 (September 2005)
Knuth, D.E.: Sorting and Searching. The Art of Computer Programming, vol. 3. Addison-Wesley, Reading (1973)
Knuth, D.E.: Deletions that preserve randomness. IEEE Trans. Softw. Eng. 3, 351–359 (1977)
Levcopoulos, C., Overmars, M.H.: Balanced Search Tree with O(1) Worst-case Update Time. Acta Informatica 26, 269–277 (1988)
Litwin, W.: Linear Hashing: A new tool for files and tables addressing. In: Proc. Int. Conf. on Very Large Databases (VLDB), vol. 6, pp. 212–223 (1980)
Manolopoulos, Y., Theodoridis, Y., Tsotras, V.: Advanced Database Indexing. Kluwer Academic Publishers, Dordrecht (2000)
Mehlhorn, K., Tsakalidis, A.: Dynamic Interpolation Search. Journal of the ACM 40(3), 621–634 (1993)
Overmars, M., van Leeuwen, J.: Worst Case Optimal Insertion and Deletion Methods for Decomposable Searching Problems. Information Processing Letters 12(4), 168–173
Seeger, B., Larson, P.A.: Multi-Disk B-trees. In: Proc. SIGMOD Conference, pp. 436–445 (1991)
Srinivasan, V., Carey, M.J.: Performance of B+ Tree Concurrency Algorithms. VLDB Journal 2(4), 361–406 (1993)
Vitter, J.S.: External memory algorithms and data structures: dealing with massive data. ACM Computing Surveys 33(2), 209–271 (2001)
Willard, D.E.: Searching Unindexed and Nonuniformly Generated Files in loglogN Time. SIAM Journal of Computing 14(4), 1013–1029 (1985)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kaporis, A. et al. (2005). ISB-Tree: A New Indexing Scheme with Efficient Expected Behaviour. In: Deng, X., Du, DZ. (eds) Algorithms and Computation. ISAAC 2005. Lecture Notes in Computer Science, vol 3827. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11602613_33
Download citation
DOI: https://doi.org/10.1007/11602613_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30935-2
Online ISBN: 978-3-540-32426-3
eBook Packages: Computer ScienceComputer Science (R0)