Skip to main content
QUICK REVIEW

[논문 리뷰] Improved Cardinality Estimation by Learning Queries Containment Rates

Rojeh Hayek, Oded Shmueli|arXiv (Cornell University)|2019. 08. 21.
Advanced Database Systems and Queries참고 문헌 43인용 수 10
한 줄 요약

이 논문은 특정 데이터베이스에서 SQL 쿼리 간의 포함률을 추정하기 위해 학습된 쿼리 구성 요소의 벡터 표현을 사용하는 새로운 딥러닝 기반 방법, CRN을 제안한다. 이러한 포함률을 활용함으로써 기존의 카디널리티 추정 방법을 수정하지 않고도 모델 재학습 없이도 기존 쿼리 최적화기의 성능을 향상시키는 데 성공적으로 기여한다. 특히 5조인 쿼리에서 MSCN 대비 최대 1,650배 높은 정확도를 달성하여 강력하고 즉각 적용 가능한 솔루션을 제공한다.

ABSTRACT

The containment rate of query Q1 in query Q2 over database D is the percentage of Q1's result tuples over D that are also in Q2's result over D. We directly estimate containment rates between pairs of queries over a specific database. For this, we use a specialized deep learning scheme, CRN, which is tailored to representing pairs of SQL queries. Result-cardinality estimation is a core component of query optimization. We describe a novel approach for estimating queries result-cardinalities using estimated containment rates among queries. This containment rate estimation may rely on CRN or embed, unchanged, known cardinality estimation methods. Experimentally, our novel approach for estimating cardinalities, using containment rates between queries, on a challenging real-world database, realizes significant improvements to state of the art cardinality estimation methods.

연구 동기 및 목표

  • 복잡한 조인을 포함한 쿼리에서 카디널리티 추정의 정확도가 떨어지는 데 기인한 핵심 과제를 해결하기 위해.
  • 특정 데이터베이스에서 한 쿼리의 결과 튜플 중 다른 쿼리의 결과 튜플에 포함된 비율을 정의한 새로운 지표인 포함률을 도입하기 위해.
  • 테이블, 조인, 조건을 기반으로 쿼리 표현을 학습하여 포함률을 정확히 추정할 수 있는 딥러닝 모델인 CRN을 개발하기 위해.
  • 기존의 카디널리티 추정 방법을 수정하지 않고도 포함률 추정이 기존 방법의 성능을 크게 향상시킬 수 있음을 입증하기 위해.
  • 실제 데이터베이스인 IMDb와 같은 환경에서 쿼리 최적화기 성능 향상을 위한 실용적이고 저비용의 프레임워크를 제공하기 위해.

제안 방법

  • CRN은 각 쿼리를 세 집합으로 인코딩한다: 테이블(T), 조인(J), 그리고 컬럼 조건(P)이며, 각각 가중치를 학습할 수 있는 벡터로 표현된다.
  • 모델은 T, J, P의 임베딩을 어텐션 메커니즘을 사용해 조합하여 단일 쿼리 표현 벡터를 생성한다.
  • 두 쿼리 간의 포함률은 전용 신경망 레이어를 통해 학습된 표현 벡터 간의 거리를 측정하여 추정된다.
  • 이 방법은 세 단계 프레임워크를 사용한다: (1) CRN을 통해 포함률 추정, (2) 이 추정치를 기반으로 카디널리티 추정치를 보정, (3) 기존 추정기의 수정 없이 통합.
  • 재귀적 분해와 집합 기반 추론을 통해 복합 조건, 문자열 등가(해싱을 통한), EXCEPT, UNION, OR 연산자를 포함한 복잡한 쿼리에 대한 확장도 지원한다.
  • 동적 데이터베이스의 경우, 업데이트된 스키마와 데이터를 기반으로 증분 재학습 또는 전체 재학습이 가능하며, 향후 스키마 변경을 위한 자리표시자 메커니즘도 제공한다.

실험 결과

연구 질문

  • RQ1특정 데이터베이스에서 쿼리 간의 포함률을 학습함으로써 카디널리티 추정 정확도를 향상시킬 수 있는가?
  • RQ2제안된 CRN 모델은 포함률 및 카디널리티 추정에서 최신 기술 대비 어떻게 비교되는가?
  • RQ3다중 조인 쿼리에서 카디널리티 추정 오차를 얼마나 줄일 수 있는가?
  • RQ4기존의 카디널리티 추정 모델은 포함률 기반 프레임워크에 통합함으로써 향상시킬 수 있는가?
  • RQ5CRN 모델은 문자열 조건, IN, BETWEEN, 집합 연산자 등을 포함한 복잡한 SQL 구문을 어떻게 확장할 수 있는가?

주요 결과

  • 제안된 방법은 PostgreSQL 대비 150배, MSCN 대비 175배의 카디널리티 추정 정확도 향상을 4조인 쿼리에서 달성한다.
  • 5조인 쿼리에서는 MSCN 대비 1,650배 향상되고, PostgreSQL 대비 120배 향상된 카디널리티 추정 정확도를 달성한다.
  • CRN를 통한 포함률 추정은 분석적으로 포함되지 않은 쿼리 간에도 데이터 기반 상관관계 덕분에 매우 효과적이다.
  • 기존의 카디널리티 추정기라면 어떤 것이라도 포함률 기반의 세 단계 프로세스에 통합함으로써 향상시킬 수 있다.
  • 재귀적 분해와 집합 연산을 통해 CRN 모델은 UNION, EXCEPT, OR 조건이 포함된 복잡한 쿼리에 대해서도 잘 일반화된다.
  • 증분 재학습과 스키마 진화를 위한 자리표시자 메커니즘을 지원함으로써, 동적 데이터베이스 환경에서도 실용적이다.

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

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

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

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