Skip to main content
QUICK REVIEW

[논문 리뷰] FactorJoin: A New Cardinality Estimation Framework for Join Queries

Zi‐Niu Wu, Parimarjan Negi|arXiv (Cornell University)|2022. 12. 11.
Data Management and Algorithms인용 수 4
한 줄 요약

FactorJoin는 단일 테이블의 학습된 분포와 요인 그래프 추론을 결합하여 조인 쿼리 선택도를 효율적이고 정확하게 추정하는 새로운 기법이다. 기존의 학습 기반 방법에 비해 40배 빠른 지연, 100배 작은 모델 크기, 100배 빠른 학습 속도를 달성하면서도 실제 벤치마크에서 최신 기술 수준의 정확도를 유지하거나 초월한다.

ABSTRACT

Cardinality estimation is one of the most fundamental and challenging problems in query optimization. Neither classical nor learning-based methods yield satisfactory performance when estimating the cardinality of the join queries. They either rely on simplified assumptions leading to ineffective cardinality estimates or build large models to understand the data distributions, leading to long planning times and a lack of generalizability across queries. In this paper, we propose a new framework FactorJoin for estimating join queries. FactorJoin combines the idea behind the classical join-histogram method to efficiently handle joins with the learning-based methods to accurately capture attribute correlation. Specifically, FactorJoin scans every table in a DB and builds single-table conditional distributions during an offline preparation phase. When a join query comes, FactorJoin translates it into a factor graph model over the learned distributions to effectively and efficiently estimate its cardinality. Unlike existing learning-based methods, FactorJoin does not need to de-normalize joins upfront or require executed query workloads to train the model. Since it only relies on single-table statistics, FactorJoin has small space overhead and is extremely easy to train and maintain. In our evaluation, FactorJoin can produce more effective estimates than the previous state-of-the-art learning-based methods, with 40x less estimation latency, 100x smaller model size, and 100x faster training speed at comparable or better accuracy. In addition, FactorJoin can estimate 10,000 sub-plan queries within one second to optimize the query plan, which is very close to the traditional cardinality estimators in commercial DBMS.

연구 동기 및 목표

  • 속성 간 독립성과 균일한 조인 키 분포를 가정하는 전통적 기법의 한계를 해결한다.
  • 정규화 해제 또는 병합된 데이터에 대한 대규모 학습이 필요한 기존의 학습 기반 방법의 비효율성과 확장성 문제를 해결한다.
  • 쿼리 최적화를 위해 공간과 시간 오버헤드를 최소화하면서도 높은 정확도를 유지하는 실용적이고 구현 가능한 프레임워크를 개발한다.
  • 생산 환경에서 동적 쿼리 최적화를 지원하기 위해 매초 수만 개의 쿼리 계획을 실시간으로 추정할 수 있도록 한다.

제안 방법

  • 속성 간 상관관계와 조인 키 분포를 포괄하기 위해 오프라인 준비 단계에서 단일 테이블 조건부 분포(예: 베이지안 네트워크 또는 딥 생성 모델을 통해)를 구축한다.
  • 각 조인 쿼리를 학습된 단일 테이블 분포 위에 요인 그래프로 표현함으로써, 카디널리티 추정을 확률적 추론 문제로 변환한다.
  • 계산 복잡도를 줄이기 위해 이산화된 조인 키를 효율적으로 선택하기 위해 경계 기반 박스 선택 알고리즘(GBSA)을 사용한다.
  • 필터 조건이 조인 키 분포에 미치는 영향을 모델링하는 조건부 분포를 통합함으로써, 정규화 해제 없이도 정확도를 향상시킨다.
  • 요인 그래프 메시지 전파를 통해 복잡한 다중 조인 쿼리를 다룰 수 있는 추론 작업으로 분해함으로써, 관계의 전체 재-materialization을 피한다.
  • 어떤 단일 테이블 카디널리티 추정기와도 플러그인 방식으로 통합 가능하게 하여 프레임워크의 모듈성과 확장성을 확보한다.

실험 결과

연구 질문

  • RQ1단일 테이블의 학습된 통계와 요인 그래프 추론을 조합한 프레임워크가, 전통적 기법이나 종단 간 학습 기법보다 조인 카디널리티 추정에서 더 높은 정확도를 달성할 수 있는가?
  • RQ2정규화 해제와 전체 테이블 재-materialization을 피할 경우, 모델 크기와 학습 시간은 얼마나 줄어들 수 있으며, 추정 정확도는 유지되는가?
  • RQ3조건부 분포(P(join_key | filter) 등)의 통합은 독립성을 가정하지 않고도 속성 간 상관관계를 효과적으로 포착하는 데 얼마나 효과적인가?
  • RQ4프레임워크는 매초 10,000개의 서브 계획을 추정할 수 있을 정도로 확장 가능한가? 실시간 쿼리 최적화를 실현할 수 있는가?
  • RQ5다양한 실제 워크로드에서, 정확도, 지연, 모델 크기, 학습 속도 측면에서 기존의 최신 기술 수준 기법보다 우수한 성능을 보일 수 있는가?

주요 결과

  • FactorJoin는 이전 최신 기술 수준의 학습 기반 방법 대비 추정 지연을 40배 감소시켜 10,000개의 서브 계획에 대해 밀리초 이내의 추정을 달성한다.
  • FactorJoin의 모델 크기는 기존의 학습 기반 방법 대비 100배 작으며, 이는 생산 환경에서의 효율적 구현 가능성을 보장한다.
  • 정규화 해제 및 공동 분포 학습이 불필요하기 때문에, 기존의 학습 기반 방법 대비 학습 속도가 100배 향상되었다.
  • 경계 최적화와 조건부 최적화를 모두 통합한 FactorJoin는 이전 최신 기술 수준인 JoinHist 대비 종단 간 쿼리 최적화 시간을 45.9% 개선하였다.
  • FactorJoin는 Postgres와 모든 기존 최신 기술 수준 기법보다 쿼리 실행 시간에서 뛰어난 성능을 보이며, 다양한 워크로드와 하이퍼파라미터 설정에서도 뛰어난 안정성을 입증하였다.
  • GBSA 박스 선택 알고리즘이 고품질의 계획을 효과적으로 생성하며, 다양한 단일 테이블 추정기 사용 시에도 프레임워크는 안정적이고 정확한 성능을 유지한다.

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

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

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

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