Performance Evaluation of Main-Memory R-tree Variants

  • Sangyong Hwang
  • Keunjoo Kwon
  • Sang K. Cha
  • Byung S. Lee
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2750)


There have been several techniques proposed for improving the performance of main-memory spatial indexes, but there has not been a comparative study of their performance. In this paper we compare the performance of six main-memory R-tree variants: R-tree, R*-tree, Hilbert R-tree, CR-tree, CR*-tree, and Hilbert CR-tree. CR*-trees and Hilbert CR-trees are respectively a natural extension of R*-trees and Hilbert R-trees by incorporating CR-trees’ quantized relative minimum bounding rectangle (QRMBR) technique. Additionally, we apply the optimistic, latch-free index traversal (OLFIT) concurrency control mechanism for B-trees to the R-tree variants while using the GiST-link technique. We perform extensive experiments in the two categories of sequential accesses and concurrent accesses, and pick the following best trees. In sequential accesses, CR*-trees are the best for search, Hilbert R-trees for update, and Hilbert CR-trees for a mixture of them. In concurrent accesses, Hilbert CR-trees for search if data is uniformly distributed, CR*-trees for search if data is skewed, Hilbert R-trees for update, and Hilbert CR-trees for a mixture of them. We also provide detailed observations of the experimental results, and rationalize them based on the characteristics of the individual trees. As far as we know, our work is the first comprehensive performance study of main-memory R-tree variants. The results of our study provide a useful guideline in selecting the most suitable index structure in various cases.


Leaf Node Data Size Search Performance Node Size Concurrency Control 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BMR01]
    Bohannon, P., McIlroy, P., Rastogi, R.: Improving Main-Memory Index Performance with Partial Key Information. In: Proc. of ACM SIGMOD Conf., pp. 163–174 (2001)Google Scholar
  2. [BS77]
    Bayer, R., Schkolnick, M.: Concurrency of Operations on BTrees. Acta Informatica 9, 1–21 (1977)zbMATHCrossRefMathSciNetGoogle Scholar
  3. [BK+90]
    Beckmann, N., Kriegel, H.-P., Schneider, R., Seeger, B.: The R*-tree: An Efficient and Robust Access Method for Points and Rectangles. In: Proc. of ACM SIGMOD Conf., pp. 322–331 (1990)Google Scholar
  4. [CGM01]
    Chen, S., Gibbons, P.B., Mowry, T.C.: Improving Index Performance through Prefetching. In: Proc. of ACM SIGMOD Conf., pp. 235–246 (2001)Google Scholar
  5. [CH+01]
    Cha, S.K., Hwang, S., Kim, K., Kwon, K.: Cache-Conscious Concurrency Control of Main-Memory Indexes on Shared-Memory Multiprocessor Systems. In: Proc. of VLDB Conf. (2001)Google Scholar
  6. [Enb99]
    Enbody, R.: Perfmon Performance Monitoring Tool (1999), available from
  7. [Gut84]
    Guttman, A.: R-trees: A Dynamic Index Structure for Spatial Searching. In: Proc. of ACM SIGMOD Conf., pp. 125–135 (1984)Google Scholar
  8. [JJ+01]
    Jain, R., Jensen, C.S., Güting, R.-H., Reuter, A., Pitoura, E., Wolfson, O., Samaras, G., Malaka, R.: Managing location information for billions of gizmos on the move—what’s in it for the database folks? In: IEEE ICDE 2001 Panel (2001)Google Scholar
  9. [KCK01]
    Kim, K., Cha, S.K., Kwon, K.: Optimizing Multidimensional Index Trees for Main Memory Access. In: Proc. of ACM SIGMOD Conf., pp. 139–150 (2001)Google Scholar
  10. [KF94]
    Kamel, I., Faloutsos, C.: Hilbert R-tree: An Improved Rtree using Fractals. In: Proc. of VLDB Conf., pp. 500–509 (1994)Google Scholar
  11. [KMH97]
    Kornacker, M., Mohan, C., Hellerstein, J.M.: Concurrency and Recovery in Generalized Search Trees. In: Proc. of ACM SIGMOD Conf., pp. 62–72 (1997)Google Scholar
  12. [LKC01]
    Lee, J., Kim, K., Cha, S.K.: Differential Logging: A Commutative and Associative Logging Scheme for Highly Parallel Main Memory Database. In: Proc. of IEEE ICDE Conf., pp. 173–182 (2001)Google Scholar
  13. [LY81]
    Lehman, P.L., Yao, S.B.: Efficient Locking for Concurrent Operations on B-Trees. In: ACM TODS, vol. 6(4), pp. 650–670 (1981)Google Scholar
  14. [RR00]
    Rao, J., Ross, K.: Making B+-trees Cache Conscious in Main Memory. In: Proc. of ACM SIGMOD Conf., pp. 475–486 (2000)Google Scholar
  15. [SY+02]
    Sakurai, Y., Yoshikawa, M., Uemura, S., Kojima, H.: Spatial Index of High-dimensional Data Based on Relative Approximation. VLDB Journal 11(2), 93–108 (2002)CrossRefGoogle Scholar
  16. [TN00]
    Theodoridis, Y., Nascimentoa, M.A.: Generating Spatio temporal Datasets on the WWW. In: ACM SIGMOD Record(September 2000)Google Scholar
  17. [TR02]
    Hwang, S., Kwon, K., Cha, S.K., Lee, B.S.: Performance Evaluation of Main-Memory R-tree Variants, Technical Report (2002), available at

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Sangyong Hwang
    • 1
  • Keunjoo Kwon
    • 1
  • Sang K. Cha
    • 1
  • Byung S. Lee
    • 2
  1. 1.Seoul National University 
  2. 2.University of Vermont 

Personalised recommendations