Abstract
Recently, main memory access is a performance bottleneck for many computer applications. Cache memory is introduced in order to reduce memory access latency. However, it is possible for cache memory to reduce memory access latency, when desired data are located on cache. EST tree is proposed to solve this problem by improving T tree. However, when doing a range search, EST tree has to search unnecessary nodes. Therefore, this paper proposes $CST^+$ tree which has the merit of CST tree and is possible to do a range search by linking data nodes with linked lists. By experiments, we show that $CST^+$ is $4{\sim}10$ times as fast as CST and $CSB^+$. In addition, rebuilding an index Is an essential step for the database recovery from system failure. In this paper, we propose a fast tree index rebuilding algorithm called MaxPL. MaxPL has no node-split overhead and employs a parallelism for reading the data records and inserting the keys into the index. We show that MaxPL is $2{\sim}11$ times as fast as sequential insert and batch insert.
최신 컴퓨터 시스템의 새로운 병목 현상이 메모리 접근에서 발생하고 있다. 메모리의 접근 속도를 줄이기 위해 캐시 메모리가 도입되었지만, 캐시 메모리는 원하는 데이타가 캐시에 옮겨져 있어야 메모리 접근 속도를 줄일 수 있다. 이를 해결하기 위해 기존의 T 트리를 개선한 CST 트리가 제안되었다. 하지만, CST 트리는 범위 검색 시, 불필요한 노드를 검색해야 한다는 단점이 있다. 본 논문은 캐시 효율적인 CST 트리의 장점을 가지며, 범위 검색이 가능하도록 하기 위해 연결 리스트로 각 노드를 연결한 $CST^+$ 트리를 제안하였으며, CST 및 $CSB^+$에 비해 $4{\sim}10$배의 성능 향상을 보였다. 또한, 메인 메모리 데이타베이스 시스템 장애 시, 빠른 데이타베이스 복구를 위해 인덱스의 빠른 재 구축은 전체 데이타 복구 성능에 있어 매우 중요한 부분이다. 이를 위해 본 논문은 병렬 삽입 기법을 제안하였다. 병렬 삽입은 노드 분할 오버헤드가 없으며, 데이타 복구 단계와 인덱스 구축 단계를 병렬로 수행할 수 있는 장점이 있다. 병렬 삽입은 순차 삽입 및 일괄 삽입에 비해 $2{\sim}11$배의 성능 향상을 보였다.