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

Making Cache-Conscious CCMR-trees for Main Memory Indexing

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

초록

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

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.

키워드

참고문헌

  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