earticle

논문검색

Convergence o Internet, Broadcasting and Communication

MVCC 지원 스킵 리스트의 범위 탐색 향상 기법

원문정보

An Enhancing Technique for Scan Performance of a Skip List with MVCC

김이주, 이은지

피인용수 : 0(자료제공 : 네이버학술정보)

초록

영어

Recently, unstructured data is rapidly being produced based on web-based services. NoSQL systems and key value stores that process unstructured data as key and value pairs are widely used in various applications. In this paper, a study was conducted on a skip list used for in-memory data management in an LSM-tree based key value store. The skip list used in the key value store is an insertion-based skip list that does not allow overwriting and processes all changes only by inserting. This behavior can support Multi-Version Concurrency Control (MVCC), which can simultaneously process multiple read/write requests through snapshot isolation. However, since duplicate keys exist in the skip list, the performance significantly degrades due to unnecessary node visits during a list traverse. In particular, serious overhead occurs when a range query or scan operation that collectively searches a specific range of data occurs. This paper proposes a newly designed Stride SkipList to reduce this overhead. The stride skip list additionally maintains an indexing pointer for the last node of the same key to avoid unnecessary node visits. The proposed scheme is implemented using RocksDB's in-memory component, and the performance evaluation shows that the performance of SCAN operation improves by up to 350 times compared to the existing skip list for various workloads.

한국어

본 논문에서는 LSM-tree 기반 키밸류 스토어에서 인메모리 데이터 관리를 위해 사용되는 스킵 리스트에 대한 연구를 수행하였다. 키밸류 스토어에서 사용되는 스킵 리스트는 덮어쓰기를 허용하지 않고 삽입만으로 모든 변경을 처리 하는 삽입 기반 스킵 리스트이다. 이러한 동작 방식은 스냅샷 분리(Snapshot Isolation)을 통해 다중 읽기/쓰기 요청을 동시다발적으로 처리할 수 있는 MVCC(Multi-Version Concurrency Control)을 지원할 수 있다. 그러나 중복된 키가 다수 스킵 리스트에 존재함에 따라 리스트 탐색 시 불필요한 노드 방문으로 성능이 심각하게 저하될 수 있다. 특히 특정 범위의 데이터를 집합적으로 탐색하는 범위 탐색(Range Query)나 스캔(Scan) 연산 발생 시 심각한 오버헤드가 발생한 다. 본 논문은 이러한 오버헤드를 줄이기 위해 새롭게 고안된 스트라이드 스킵 리스트(Stride Skip List)를 제안한다. 스트라이드 스킵 리스트는 동일 키의 마지막 노드에 대한 인덱싱 포인터를 추가적으로 유지하여 불필요한 노드 방문을 피할 수 있도록 한다. 제안된 기법은 RocksDB의 인메모리 컴포넌트를 활용하여 구현되었으며 다양한 워크로드에서 SCAN 연산의 성능을 기존 스킵 리스트 대비 최대 350배까지 향상시켰다.

목차

요약
Abstract
Ⅰ. 서론
Ⅱ. 연구배경
Ⅲ. 스트라이드 스킵 리스트
Ⅳ. 성능평가
Ⅳ. 관련연구
Ⅴ. 결론
References

저자정보

  • 김이주 Leeju Kim. 비회원, 숭실대학교 스마트시스템소프트웨어학과
  • 이은지 Eunji Lee. 정회원, 숭실대학교 스마트시스템소프트웨어학과

참고문헌

자료제공 : 네이버학술정보

    함께 이용한 논문

      ※ 기관로그인 시 무료 이용이 가능합니다.

      • 4,000원

      0개의 논문이 장바구니에 담겼습니다.