초록 열기/닫기 버튼

휘발성 장치인 DRAM을 주 저장소로 사용하는 인메모리 데이터베이스인 Redis는 신속한 데이터 처리의장점을 지녔지만, 데이터 유실 위험이 크다. Redis는 데이터 유실 방지를 위해, 수행한 명령어를 로그 파일에덧붙여 기록하는 AOF 기법을 제공한다. 하지만 계속되는 기록으로 인하여 로그 파일이 기약 없이 증가하는현상이 발생한다. Redis는 로그 파일 재구축 기법을 제공하여 로그 파일 급증을 방지하지만, 부가적인 메모리사용과 데이터 처리 지연이 요구되어 성능 및 자원 측면에서 부담이 가중된다. 본 연구에서는 로그 파일 재구축 시 발생하는 부하를 개선하기 위해 데이터 병렬성을 활용한 로그 파일 재구축 기법을 제안한다. 또한, 재구축 부하의 주요 원인이 되는 AOF Rewrite 버퍼 없이 재구축 작업을 수행하여, 메모리 사용량과 데이터처리 성능을 향상시킨다. 제안하는 모델은 memtier-benchmark를 통해 평가되었으며, 재구축 부하가 크게개선되었음을 확인하였다.


Redis, an in-memory database that uses DRAM which is a volatile device as its main repository, has the advantage of rapid data processing but the risk of data loss is high. To prevent the data loss, Redis provides AOF method that appends log records for performed commands to the log file. However, there is a constant increase in the log file due to continuous records. Although Redis provides log file reconstruction methods to prevent sudden increase in the log file, additional memory usage and latency in data processing are required, adding to the burden in terms of performance and resources. In this research, we propose the log file reconstruction method using data parallelism to improve the overhead occurred in the log file reconstruction. Also, we perform reconstruction without AOF Rewrite buffer that is the major cause of reconstruction overhead through our method, so the memory usage and data processing performance are improved. The proposed model is evaluated via memtier-benchmark and we confirmed the reconstruction overhead has been considerably improved.