:: The Journal of the Institute of Internet, Broadcasting and Communication ::, Vol.22 No.4 | (2022) pp.17~22

키밸류 저장소 성능 제어를 위한 삭제 키 분리 LSM-Tree

Eunji Lee

(정회원, 숭실대학교 AI융합학부)

Abstract

최근 웹 서비스의 확산과 함께 데이터의 형태는 더욱 다양해지고 있다. 이미지, 동영상, 텍스트 등 데이터를 저장하는 형태 뿐 아니라 해당 데이터를 표현하는 속성 및 메타데이터 등도 개수 및 형태가 데이터 별로 상이하다. 이러 한 비정형 데이터를 효율적으로 처리하기 위해 키밸류 스토어(Key-Value Store)의 사용이 확산되고 있다. LSM-Tree(Log Structured Merge Tree)는 다양한 상용 키밸류 스토어의 핵심 자료구조이다. LSM-Tree 는 모든 쓰기 및 삭제 연산을 로그 방식으로 기록함으로써 소량의 쓰기에 높은 성능을 제공하도록 최적화 되어 있다. 그러나 최근 유효성 만료 데이터의 대용량 삭제 연산이 LSM-Tree에 특수 키밸류 데이터로 삽입됨에 따라 사용자 요청의 지연시간 및 처리속도가 저하된다는 문제점이 있다. 본 논문은 기존 LSM-Tree의 장점을 모두 유지하면서도 삭제된 키를 주요 트리 구조에서 분리하여 상기 문제를 해결하는 Filtered LSM-Tree (FLSM-Tree)를 제안한다. 제안하는 기법은 상용 키밸류 저장소인 LevelDB에 구현되었으며 성능 평가에서 읽기 성능이 최대 47% 향상됨을 보인다.
With the spread of web services, data types are becoming more diversified. In addition to the form of storing data such as images, videos, and texts, the number and form of properties and metadata expressing the data are different for each data. In order to efficiently process such unstructured data, a key-value store is widely used for state-of-the-art applications. LSM-Tree (Log Structured Merge Tree) is the core data structure of various commercial key-value stores. LSM-Tree is optimized to provide high performance for small writes by recording all write and delete operations in a log manner. However, there is a problem in that the delay time and processing speed of user requests are lowered as batches of deletion operations for expired data are inserted into the LSM-Tree as special key-value data. This paper presents a Filtered LSM-Tree (FLSM-Tree) that solves the above problem by separating the deleted key from the main tree structure while maintaining all the advantages of the existing LSM-Tree. The proposed method is implemented in LevelDB, a commercial key-value store and it shows that the read performance is improved by up to 47% in performance evaluation.
  Key-value Store,LSM-Tree,NoSQL System

Download PDF List