[논문 리뷰] An End-to-End Learning-based Cost Estimator
이 논문은 쿼리 비용과 선택도를 동시에 추정하는 엔드 투 엔드 딥러닝 기반 비용 및 카디널리티 추정기인 트리 구조 신경망을 제안한다. 패턴 기반 문자열 인코딩과 트리 풀링을 도입하여 일반화 능력을 향상시키고 복잡한 조건을 처리하며, 실제 워크로드에서 기존 방법보다 훨씬 낮은 추정 오차를 기록한다.
Cost and cardinality estimation is vital to query optimizer, which can guide the plan selection. However traditional empirical cost and cardinality estimation techniques cannot provide high-quality estimation, because they cannot capture the correlation between multiple columns. Recently the database community shows that the learning-based cardinality estimation is better than the empirical methods. However, existing learning-based methods have several limitations. Firstly, they can only estimate the cardinality, but cannot estimate the cost. Secondly, convolutional neural network (CNN) with average pooling is hard to represent complicated structures, e.g., complex predicates, and the model is hard to be generalized. To address these challenges, we propose an effective end-to-end learning-based cost estimation framework based on a tree-structured model, which can estimate both cost and cardinality simultaneously. To the best of our knowledge, this is the first end-to-end cost estimator based on deep learning. We propose effective feature extraction and encoding techniques, which consider both queries and physical operations in feature extraction. We embed these features into our tree-structured model. We propose an effective method to encode string values, which can improve the generalization ability for predicate matching. As it is prohibitively expensive to enumerate all string values, we design a patten-based method, which selects patterns to cover string values and utilizes the patterns to embed string values. We conducted experiments on real-world datasets and experimental results showed that our method outperformed baselines.
연구 동기 및 목표
- 기존 비용 및 카디널리티 추정기의 한계를 해결하기 위해, 다중 컬럼 상관관계를 포착하지 못하고 수동 튜닝이 필요하다는 점을 해결하고자 한다.
- 비용과 카디널리티를 동시에 추정하는 통합된 엔드 투 엔드 학습 기반 프레임워크를 개발하여, 이전의 단방향 학습 기반 방법의 한계를 극복하고자 한다.
- 문자열 값 조건에 대한 일반화 능력을 향상시키고자 하며, 문자열 값의 희소성과 높은 카디널리티로 인해 임베딩하기 어려운 점을 해결하고자 한다.
- 계층적이고 트리 구조적 쿼리 계획을 효과적으로 포착할 수 있는 모델을 설계하여, 복잡한 쿼리에 대한 견고한 추정을 가능하게 하고자 한다.
- 배치 처리와 최적화된 신경망 아키텍처를 통해 높은 효율성을 확보하여, 실제 데이터베이스 시스템에 구현 가능한 추정기 구축을 목표로 한다.
제안 방법
- 프레임워크는 쿼리 계획을 모델링하기 위해 트리 구조 신경망을 사용하며, 각 노드는 물리적 연산자를 나타내고 자식 노드로부터 표현을 학습한다.
- 모델에 쿼리 특징, 메타데이터(예: 테이블 크기, 선택도), 그리고 숫자 및 문자열 값 정보를 포함시킨다.
- 문자열 값의 경우, 모든 문자열을 임베딩하는 대신 대표적인 패턴(예: ‘%co-production%’)을 추출하고 이를 사용하여 문자열 값을 임베딩하는 패턴 기반 인코딩 방법을 제안한다. 이는 일반화 능력을 향상시킨다.
- 복합적인 복합 조건을 더 잘 포착하기 위해, 표준 LSTM 기반 접근 방식과 비교해 복잡한 조건 표현 레이어에서 Min-Max 풀링을 적용한다.
- 다중 쿼리를 동시에 처리하는 배치 평가 기법을 적용하여 추론 시간을 단축하고 계산 효율성을 향상시킨다.
- 실제 실행 데이터를 사용해 예측된 비용과 카디널리티 간의 차이를 최소화하도록 엔드 투 엔드로 모델을 훈련한다.
실험 결과
연구 질문
- RQ1딥러닝 모델이 엔드 투 엔드 방식으로 쿼리 비용과 카디널리티를 동시에 추정할 수 있는가? 이는 기존 방법이나 단방향 학습 기반 방법보다 향상된 성능을 보일 수 있는가?
- RQ2높은 카디널리티를 가지는 문자열 값 조건을 체계적인 열거 없이 신경망에 효과적으로 임베딩할 수 있는가?
- RQ3Min-Max 풀링을 적용한 트리 구조 모델이 표준 LSTM 기반 모델보다 복잡한 쿼리 계획과 조건을 표현하는 데 더 우수한 성능을 보이는가?
- RQ4규칙 기반 문자열 패턴 추출이 모델의 일반화 능력과 추정 정확도를 얼마나 향상시키는가?
- RQ5제안된 모델이 실질적인 데이터베이스 쿼리 최적화기 구현을 위해 높은 정확도와 수용 가능한 효율성을 동시에 달성할 수 있는가?
주요 결과
- JOB-LIGHT 워크로드에서 제안된 방법은 평균 오차를 50 이상(예: MSCN)에서 24.9로 감소시키고 최대 오차를 1,000 이상에서 289로 낮춰 뚜렷한 향상을 보였다.
- 트리 풀링과 규칙 기반 문자열 패턴을 사용한 TPoolEmbRMCost 버전은 비용 추정에서 TLSTMHashMCost 대비 평균 오차 2배, 최대 오차 3배 향상되었다.
- 패턴 기반 문자열 인코딩을 사용한 모델(TLSTMEmbNRMCost)은 해시 기반 문자열 임베딩 대비 99번째 백분위수 오차를 99% 감소시켜 뛰어난 일반화 능력을 입증했다.
- 배치 처리로 추론 시간이 한 단계 감소: TPoolBatch는 쿼리당 3.63ms를 기록한 반면, 배치 없이 TPool를 사용한 경우 47.3ms였다.
- TPoolEmbRMCost의 오차 분포는 실제 실행 시간과 매우 밀접하게 집중되어 있었고, PostgreSQL과 MSCN는 큰 과대추정과 높은 분산을 보였다.
- 트리 풀링은 LSTM 기반 조건 모델링 대비 추론 시간 50% 단축과 배치 모드에서 2배 향상된 성능를 기록했으며, 이는 계산량 감소와 더 나은 구조적 표현 덕분이었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.