Skip to main content
QUICK REVIEW

[논문 리뷰] FITing-Tree: A Data-aware Index Structure

Alex Galakatos, Michael Markovitch|TUbilio (Technical University of Darmstadt)|2018. 01. 30.
Advanced Database Systems and Queries참고 문헌 46인용 수 12
한 줄 요약

FITing-Tree는 B+tree 유사 인덱스를 압축하기 위해 조정 가능한 오차 한계를 가진 조각별 선형 함수를 사용하는 데이터 인식 인덱스 구조이다. 이는 저장소를 수 개의 주기수로 감소시키면서도 전체 인덱스와 유사한 검색 성능을 유지한다. 데이터베이스 관리자(DBA)는 지연 시간 또는 저장소 제약 조건을 고려한 비용 모델을 통해 지연 시간과 저장소를 균형 조절할 수 있다.

ABSTRACT

Index structures are one of the most important tools that DBAs leverage to improve the performance of analytics and transactional workloads. However, building several indexes over large datasets can often become prohibitive and consume valuable system resources. In fact, a recent study showed that indexes created as part of the TPC-C benchmark can account for 55% of the total memory available in a modern DBMS. This overhead consumes valuable and expensive main memory, and limits the amount of space available to store new data or process existing data. In this paper, we present FITing-Tree, a novel form of a learned index which uses piece-wise linear functions with a bounded error specified at construction time. This error knob provides a tunable parameter that allows a DBA to FIT an index to a dataset and workload by being able to balance lookup performance and space consumption. To navigate this tradeoff, we provide a cost model that helps determine an appropriate error parameter given either (1) a lookup latency requirement (e.g., 500ns) or (2) a storage budget (e.g., 100MB). Using a variety of real-world datasets, we show that our index is able to provide performance that is comparable to full index structures while reducing the storage footprint by orders of magnitude.

연구 동기 및 목표

  • 메모리 기반 데이터베이스에서 전통적인 B+tree 인덱스의 높은 메모리 오버헤드 문제를 해결한다. 이는 OLTP 워크로드에서 총 메모리의 최대 55%를 차지할 수 있다.
  • 특히 시간 시리즈 또는 센서 데이터와 같이 고카디널리티를 가지는 경우에 선형적으로 증가하는 기존 압축 기법의 한계를 극복한다.
  • 엄격한 최악의 경우 오차 보장을 갖는 학습된 인덱스를 제공하여 삽입 및 페이지 교환에 효율적일 수 있도록 하며, 이는 이전의 학습된 인덱스와 다릅니다.
  • DBA가 지연 시간 요구사항(예: 500ns) 또는 저장소 예산(예: 100MB)을 입력하는 비용 모델을 통해 인덱스 크기와 검색 지연 시간을 튜닝할 수 있도록 한다.

제안 방법

  • 정렬된 클러스터링된 테이블 내 키의 위치를 조각별 선형 함수로 근사하여 고정 크기의 인덱스 페이지를 대체한다.
  • 예측된 위치와 실제 위치 사이의 최대 편차를 제한하는 조정 가능한 오차 파라미터를 도입한다(최대 오차 측정 기준 L∞ 사용).
  • 사용자가 지정한 오차 한계를 만족하면서 데이터를 선형 세그먼트로 분할하는 효율적인 세그멘테이션 알고리즘을 적용한다.
  • 내부 노드가 조각별 선형 근사치를 사용하여 탐색을 안내하는 계층적 트리 구조를 구성하여 대략 로그 시간 복잡도의 검색 시간을 달성한다.
  • 삽입을 위해 세그먼트를 동적으로 조정하거나 오버플로우 구조를 사용하는 하이브리드 접근 방식을 통해 오차와 성능의 경계를 유지한다.
  • FITing-Tree가 내부 수준에서 트리 구조를 유지하므로 표준 노드 수준 압축 기법(예: 접두어 자르기, 히프만 코딩)과 통합할 수 있다.

실험 결과

연구 질문

  • RQ1최악의 경우 오차가 제한된 학습된 인덱스 아키텍처가 전체 B+tree 인덱스와 유사한 저장소 감소를 달성하면서도 낮은 검색 지연 시간을 유지할 수 있는가?
  • RQ2조정 가능한 오차 파라미터를 통해 DBA가 예측 가능하고 구성 가능한 방식으로 저장소 소비와 검색 성능을 균형 조절할 수 있는가?
  • RQ3모노톤 또는 추세가 있는 데이터 분포를 가지는 실제 데이터 세트에서 조각별 선형 근사는 인덱스 크기를 어느 정도 감소시킬 수 있는가?
  • RQ4제안된 비용 모델이 실질적으로 특정 지연 시간 또는 저장소 예산을 충족하기 위해 필요한 오차 파라미터를 정확하게 예측할 수 있는가?
  • RQ5삽입이 수반되는 동적 워크로드 하에서 FITing-Tree는 어떻게 성능을 유지하며, 오차와 성능 보장을 계속 유지할 수 있는가?

주요 결과

  • FITing-Tree는 실제 데이터 세트(시간 시리즈 및 센서 데이터 포함)에서 기존 B+tree 인덱스 대비 최대 세 개의 주기수까지 인덱스 저장소를 감소시킨다.
  • 최악의 데이터 분포 조건에서도 전체 B+tree 인덱스의 10-20% 이내의 검색 성능을 달성하면서도 오차 경계를 유지한다.
  • 500ns의 검색 지연 시간 요구사항을 충족하기 위해 비용 모델은 모든 평가된 데이터 세트에서 500ns 이내의 최악의 경우 검색 시간을 보장하는 오차 파라미터를 정확히 선택한다.
  • 100MB의 저장소 예산이 주어지면 FITing-Tree는 기존에 가용 메모리로는 초과되는 대규모 데이터 세트(예: TPC-C)의 인덱스를 성공적으로 수용한다.
  • 오차와 성능의 경계를 유지하면서도 데이터 증가에 따라도 효율적인 삽입을 지원하며, 동적 워크로드에서 순수 학습된 인덱스보다 뛰어난 성능을 보인다.
  • FITing-Tree를 노드 수준 압축 기법(예: 접두어 자르기)과 통합함으로써 검색 효율성을 훼손하지 않으면서도 인덱스 크기를 추가로 감소시킬 수 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.