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배 이상의 빠른 검색 속도를 나타냈다.