Making Cache-Conscious CCMR-trees for Main Memory Indexing

주기억 데이타베이스 인덱싱을 위한 CCMR-트리

  • 윤석우 (홍익대학교 컴퓨터공학과) ;
  • 김경창 (홍익대학교 정보컴퓨터공학부)
  • Published : 2003.12.01

Abstract

To reduce cache misses emerges as the most important issue in today's situation of main memory databases, in which CPU speeds have been increasing at 60% per year, and memory speeds at 10% per year. Recent researches have demonstrated that cache-conscious index structure such as the CR-tree outperforms the R-tree variants. Its search performance can be poor than the original R-tree, however, since it uses a lossy compression scheme. In this paper, we propose alternatively a cache-conscious version of the R-tree, which we call MR-tree. The MR-tree propagates node splits upward only if one of the internal nodes on the insertion path has empty room. Thus, the internal nodes of the MR-tree are almost 100% full. In case there is no empty room on the insertion path, a newly-created leaf simply becomes a child of the split leaf. The height of the MR-tree increases according to the sequence of inserting objects. Thus, the HeightBalance algorithm is executed when unbalanced heights of child nodes are detected. Additionally, we also propose the CCMR-tree in order to build a more cache-conscious MR-tree. Our experimental and analytical study shows that the two-dimensional MR-tree performs search up to 2.4times faster than the ordinary R-tree while maintaining slightly better update performance and using similar memory space.

매년 CPU 속도가 60% 정도 증가되고, 메모리 속도가 10% 증가되는 현실에서, 캐쉬 미스(Cache miss)를 얼마나 줄이느냐 하는 문제가 현재의 주기억 데이타베이스 환경에서 가장 중요한 문제로 대두되었다. 최근 연구들에서는 R-트리의 변형 모델인 CR-트리와 같은 인덱스 구조들이 제시되었으나, 이는 손실 발생 가능한 압축 기법을 사용함으로써 검색 성능이 더 나빠질 수 있다는 문제점이 있다. 본 논문에서는 MR-트리라고 이름 붙여진 캐쉬 동작에 민감한 R-트리의 새로운 변형 모델을 제시한다. MR-트리는 리프가 아닌 중간 노드 엔트리들을 100%에 가깝게 사용하여 결과적으로 트리의 높이와 중간 노드 엔트리의 MBR을 줄여주는 효과를 준다. 이를 위해 노드 분할 발생시 입력 경로 상에 하나 이상의 빈 엔트리를 지니는 중간 노드가 존재할 경우에만, 노드 분할을 상위로 전송하고, 존재하지 않을 경우 새롭게 생성된 노드는 분할된 노드의 자식 노드가 된다. MR-트리는 이와 같은 동작으로 인해 발생 가능한 트리 불균형 문제를 높이 균형화(HeightBalance) 알고리즘을 수행함으로써 해결한다. 한편, 본 논문에서는 MR-트리를 캐쉬 동작에 더욱 민감한 트리형태로 만들기 위해 CCMR-트리를 제안한다. 본 논문의 실험과 분석 결과, 2차원의 MR-트리는 약간의 개선된 수정 속도와 비슷한 메모리 사용량을 기록하며, 기존의 R-트리에 비해 2.4배 이상의 빠른 검색 속도를 나타냈다.

Keywords

References

  1. Phi Bernstein, et al. 'The Asilomar report on database research,' Sigmod Record, 1998, 27(4) https://doi.org/10.1145/306101.306137
  2. J. Rao, K. A. Ross, 'Making B+-trees Cache Conscious in Main Memory,' Proceedings of ACM SIGMOD Conference, 2000, pp. 475-486
  3. A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood, 'DBMSs on a Modem Processor: Where Does Time Go?,' Proceedings of VLDB Conference, 1999, pp. 267-277
  4. P. Bones, S. Manegold, and M. Kersten, 'Database Architecture Opimized for the New Bottleneck: Memory Access,' Proceedings of VLDB Conference, 1999, pp. 54-65
  5. J. Rao, K. A. Ross, 'Cache Conscious Indexing for Decision-support in Main Memory,' Proceedings of VLDB Conference, 1999, pp. 78-89
  6. K. Kim, S. K. and, Cha, K. Kwon, 'Optimizing Multidimensional Index Trees for Main Memory Access,' Proceedings of ACM SIGMOD Conference, 2001, pp.139-150
  7. V. Gaede and O. Gnther, 'Multidimensional Access Methods,' Computing Surveys, 30(2), 1998, pp, 170-231 https://doi.org/10.1145/280277.280279
  8. Kenneth A. Ross, Inga Sizmann and Peter J. Stuckey, 'Cost-based Unbalanced R-trees,' Technical Report, CSSE, The university of Melbourne, 2000
  9. K. Ravi Kanth, D. Agrawal, and A. E. Abbadi, 'Indexing non-uniform spatial data,' Proceedings of IDEA, 1997, pp 289-298 https://doi.org/10.1109/IDEAS.1997.625695
  10. Trishul M. Chilimbi, Mark D. Hill, and James R. La겨s, 'Making Pointer-Based Data Structures Cache Conscious,' IEEE Computer, TBD 2000 pp. 67-74 https://doi.org/10.1109/2.889095
  11. A. Guttman, 'R-tree: A Dynamic Index Structure for Spatial Searching,' Proceedings of ACM SIGMOD Conference, 1984, pp. 47-57
  12. D. A. White, R. Jain., 'Similarity Indexing with the SS-tree,' Proceedings of the Int. Conf. On Data Engineering, 1996, pp. 516-523 https://doi.org/10.1109/ICDE.1996.492202
  13. N. Katayama, S. Satoh, 'The SR-tree: An Index Structure for High-Dimensional Nearest Neighbor Queries,' Proceedings of ACM SIGMOD Conference, 1997, pp. 369-380 https://doi.org/10.1145/253260.253347
  14. N. Beckmann, H.-P. Kriegel, R. Schneider, B. Seeger, 'The R*-tree: An Efficient and Robust Access Method for Points and Rectangles,' Proceedings of ACM SIGMOD Conference, 1990, pp. 322-331 https://doi.org/10.1145/93597.98741
  15. T. Sellies, N. Roussopoulos, and C. Faloutsos, 'The R+-tree: A Dynamic Index for Multidimensional Objects,' Proceedings of VLDB Conference, 1987, pp. 507-518
  16. C. Faloutsos, I. Kamel, 'Beyond Uniformity and Independence: Anaylysis of R'-trees Using the Concept of Fractal Dimension,' Proceedings of ACM PODS Symposium, 1994, pp. 4-13 https://doi.org/10.1145/182591.182593
  17. I. Kamel and C. Faloutsos, 'Hilbert R-tree: An Improved R-tree Using Fractals,' Proceedings of VLDB Conference, 1994, pp. 500-509
  18. I. Kamel and C. Faloutsos, 'On Packing Rr trees,' Proceedings of ACM CIKM Conference, 1993, pp. 490-499 https://doi.org/10.1145/170088.170403
  19. B.-U. Pagel, H.-W. Six, H. Toben, and P. Widmayer, 'Towards an analysis of range query performance in spatial data structures,' Proceedings of ACM PODS, 1993, pp. 214-221 https://doi.org/10.1145/153850.153878
  20. J. M. Hellerstein, 'Indexing Research: Forest or Trees',' Proceedings of ACM SIGMOD Conference, 2000, pp574, Panel