Skip to main content
QUICK REVIEW

[논문 리뷰] Exact Selectivity Computation for Modern In-Memory Database Query Optimization

Jun Hyung Shin, Florin Rusu|arXiv (Cornell University)|2019. 01. 06.
Data Management and Algorithms참고 문헌 11인용 수 4
한 줄 요약

이 논문은 메모리 기반 및 GPU 가속 데이터베이스를 위한 새로운 쿼리 최적화 패러다임인 정확한 선택도 계산(ESC)을 제안한다. ESC는 최적화 중 하위 쿼리를 실행하여 선택도를 정확히 계산함으로써 정확하지 않은 요약 자료에 의존하지 않는다. ESC는 GPU에서 30ms 이내의 오버헤드를 기록하며, 정확한 카디널리티 추정과 필터링된 결과의 물리적 재사용을 통해 쿼리 실행 계획을 최적화하여 최대 32배 빠른 실행 성능을 달성한다.

ABSTRACT

Selectivity estimation remains a critical task in query optimization even after decades of research and industrial development. Optimizers rely on accurate selectivities when generating execution plans. They maintain a large range of statistical synopses for efficiently estimating selectivities. Nonetheless, small errors -- propagated exponentially -- can lead to severely sub-optimal plans---especially, for complex predicates. Database systems for modern computing architectures rely on extensive in-memory processing supported by massive multithread parallelism and vectorized instructions. However, they maintain the same synopses approach to query optimization as traditional disk-based databases. We introduce a novel query optimization paradigm for in-memory and GPU-accelerated databases based on extit{exact selectivity computation (ESC)}. The central idea in ESC is to compute selectivities exactly through queries during query optimization. In order to make the process efficient, we propose several optimizations targeting the selection and materialization of tables and predicates to which ESC is applied. We implement ESC in the MapD open-source database system. Experiments on the TPC-H and SSB benchmarks show that ESC records constant and less than 30 milliseconds overhead when running on GPU and generates improved query execution plans that are as much as 32X faster.

연구 동기 및 목표

  • 복잡한 조건 및 비균형 데이터에서 지속적으로 발생하는 선택도 추정의 정확도 문제를 해결하기 위해.
  • 히스토그램과 샘플링과 같은 통계적 요약 자료에 의존하는 것을 제거하여, 속성 간 상관관계를 정확히 반영하지 못하는 문제를 해결하기 위해.
  • 저지연 실행이 가능한 현대의 메모리 기반 및 GPU 가속 데이터베이스에서 정확하고 정확한 선택도 계산을 가능하게 하기 위해.
  • 정확한 카디널리티를 활용하여 실행 계획을 개선하고, 더 나은 조인 순서 선택과 성능 향상을 이끌어내기 위해.
  • 선택적 적용과 결과 물리적 재사용을 통해 정확한 계산의 성능 비용을 최소화하기 위해.

제안 방법

  • ESC는 복잡한 조건을 만족하는 행의 정확한 수를 파악하기 위해 최적화 중 하위 쿼리를 실행함으로써 선택도를 계산한다.
  • 최적화기는 복잡도와 잠재적 성능 향상도를 고려해 ESC를 적용할 특정 테이블과 조건을 선택한다.
  • 하위 쿼리의 결과는 물리적으로 재사용되며, 재계산을 방지한다.
  • 이 방법은 쿼리 최적화기의 최소한의 변경으로도 MapD 오픈소스 데이터베이스에 통합되었다.
  • 최적화 방법으로는 영향력이 큰 조건에 대해서만 ESC를 적용하고, GPU의 병렬 처리 기능을 활용해 하위 쿼리 실행을 저지연으로 수행한다.
  • 메모리 기반 시스템에서는 캐시 효율성 향상과 I/O 감소를 위해 파이프라인 처리보다 결과 물리적 재사용을 우선시한다.

실험 결과

연구 질문

  • RQ1하위 쿼리를 통한 정확한 선택도 계산이, 복잡하거나 상관관계가 있는, 또는 비균형 데이터에서 전통적인 요약 기반 추정보다 우월한가?
  • RQ2현대의 GPU 가속 메모리 기반 데이터베이스에서 정확한 선택도 계산을 실행할 경우 성능 오버헤드는 얼마나 되는가?
  • RQ3정확한 선택도 계산이 더 나은 쿼리 실행 계획을 도출할 수 있으며, 성능 향상은 어느 정도 이루어지는가?
  • RQ4조건의 복잡도와 속성 수가 증가함에 따라 ESC의 오버헤드는 어떻게 변화하는가?
  • RQ5초기 계산 비용이 있음에도 불구하고, 하위 쿼리 결과의 물리적 재사용이 실행 시간을 추가로 단축시킬 수 있는가?

주요 결과

  • 모든 테스트 워크로드에서 ESC는 GPU에서 일정한 오버헤드를 30밀리초 이내로 기록하였다. 복잡한 조건과 높은 속성 수 조건에서도 동일하게 유지되었다.
  • TPC-H 벤치마크에서 ESC는 쿼리 실행 속도를 최대 32.27배 향상시켰으며, 특히 더 나은 조인 순서 선택이 이루어진 경우에 두드러진 성능 향상을 보였다.
  • 스케일 팩터 80인 SSB 벤치마크에서 ESC는 최대 7배의 성능 향상을 기록했으며, 더 높은 선택도를 가지는 쿼리에서 가장 큰 성능 향상이 관찰되었다.
  • CPU에서 ESC 오버헤드는 속성 수 증가에 따라 캐시 효과로 인해 증가했지만, 네 개의 속성 조건에서도 340ms 이내로 유지되었다.
  • GPU에서 ESC 하위 쿼리 실행은 CPU보다 항상 빠르게 수행되었으며, 일부 TPC-H 쿼리에서는 4.88배의 성능 우수성을 보였다.
  • 필터링된 결과의 물리적 재사용은 반복적인 필터링을 제거함으로써 실행 시간을 크게 단축시켰다.

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

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

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

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