Abstract

B-트리는 공간 효율성과 빠른 키 검색 시간으로 인해 하드 디스크 기반 DBMS의 색인 기법으로 널리 쓰이고 있다. 하지만 B-트리를 플래시 메모리에 저장해 사용한다면, 높은 노드 갱신 비용으로 인해 DBMS 성능을 크게 저하시킬 수 있다. 이는 B-트리 단말노드에 발생하는 임의(random) 갱신 연산이 플래시 저장 장치의 과도한 가비지 수집 비용을 낳을 수 있기 때문이다. 논문에서는 이런 문제를 막기 위해 단말노드의 부모 계층 노드들을 물리적으로 저장하지 않고 가상(virtual) 노드로 둔다. 키 검색을 위해 가상 노드가 필요할 때는 자식 노드들을 참조하여 가상 노드를 동적으로 생성한 후 버퍼에 두고 사용한다. 제안된 플래시 B-트리 알고리즘은 노드 갱신과 트리 재구성 동작이 단일 플래시 블록 안에서 수행되기 때문에 가비지 수집 비용과 노드 갱신 비용을 낮게 할 수 있다. 또한 기존에 제안된 플래시 기반 B-트리와 비교하여 매우 빠른 키 검색 시간을 보장한다. 논문에서는 수학적 성능 모델을 통해 제안된 플래시 B-트리의 성능을 검증한다. Because of efficient space utilization and fast key search times, B-trees have been widely accepted for the use of indexes in HDD-based DBMSs. However, when the B-ree is stored in flash memory, its costly operations of node updates may impair the performance of a DBMS. This is because the random updates in B-tree's leaf nodes could tremendously enlarge I/O costs for the garbage collecting actions of flash storage. To solve the problem, we make all the parents of leaf nodes the virtual nodes, which are not stored physically. Rather than, those nodes are dynamically generated and buffered by referring to their child nodes, at their access times during key searching. By performing node updates and tree reconstruction within a single flash block, our proposed B-tree can reduce the I/O costs for garbage collection and update operations in flash. Moreover, our scheme provides the better performance of key searches, compared with earlier flash-based B-trees. Through a mathematical performance model, we verify the performance advantages of the proposed flash B-tree.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call