Abstract
Flash memory has been studied as a storage medium in order to improve the performance of the system using its high computing speed in the DBMS field where frequent data access is needed. The most difficulty using the flash memory is the performance degradation and the life span shortening of flash memory coming from inefficient in-place update. Log based approaches have been studied to solve inefficient in-place update problem in the DBMS where write operations occur in smaller size of data than page frequently. However the existing log based approaches suffer from the frequent merging operations, which are the principal cause of performance deterioration. Thus is because their fixed log area management can not guarantee a sufficient space for logs. In this paper, we propose non-fixed log area management technique that can minimize the occurrence of the merging operations by promising an enough space for logs. We also suggest the cost calculation model of the optimal log sector number minimizing the system operation cost in a block. In experiment, we show that our non-fixed log area management technique can have the improved performance compared to existing approaches.
빈번한 데이터 접근이 요구되는 DBMS 분야에서 플래시메모리의 빠른 연산 속도를 이용하여 시스템 성능을 향상시키기 위한 연구가 활발히 이루어지고 있다. 플래시메모리를 DBMS의 저장매체로 사용하는데 가장 큰 문제점 중에 하나는 비효율적인 덮어쓰기 연산으로 인한 성능 저하와 수명 단축이다. 페이지 보다 작은 크기의 쓰기 연산이 빈번히 발생하는 특성을 가진 DBMS 환경에서 비효율적인 덮어 쓰기 문제를 해결하기 위하여 업데이트 내용을 로그 형태로 저장하는 기법들이 연구되었다. 그러나 기존의 연구들은 로그 저장 영역을 고정적으로 관리하여 쓰기 성능 저하의 주요 원인인 합병이 빈번히 발생한다는 문제가 있다. 본 논문에서는 블록의 로그 영역을 비고정적으로 관리하여 로그 저장 공간의 부족으로 인한 합병의 발생을 최소화시키는 기법을 제안한다. 또한 블록 내에서 최소의 비용으로 로그 저장 공간을 사용할 수 있도록 하는 기준을 제시하여 블록의 비고정적인 로그 영역 관리 기법에 적용한다. 실험을 통하여 제안하는 비고정적인 로그 영역 관리 기법이 기존의 고정적으로 관리하는 기법들과의 비교하여 성능 향상을 가져올 수 있는 것을 입증하였다.