Are We Ready For Learned Cardinality Estimation?
arXiv:2012.06743 · doi:10.14778/3461535.3461552
Abstract
Cardinality estimation is a fundamental but long unresolved problem in query optimization. Recently, multiple papers from different research groups consistently report that learned models have the potential to replace existing cardinality estimators. In this paper, we ask a forward-thinking question: Are we ready to deploy these learned cardinality models in production? Our study consists of three main parts. Firstly, we focus on the static environment (i.e., no data updates) and compare five new learned methods with eight traditional methods on four real-world datasets under a unified workload setting. The results show that learned models are indeed more accurate than traditional methods, but they often suffer from high training and inference costs. Secondly, we explore whether these learned models are ready for dynamic environments (i.e., frequent data updates). We find that they cannot catch up with fast data up-dates and return large errors for different reasons. For less frequent updates, they can perform better but there is no clear winner among themselves. Thirdly, we take a deeper look into learned models and explore when they may go wrong. Our results show that the performance of learned methods can be greatly affected by the changes in correlation, skewness, or domain size. More importantly, their behaviors are much harder to interpret and often unpredictable. Based on these findings, we identify two promising research directions (control the cost of learned models and make learned models trustworthy) and suggest a number of research opportunities. We hope that our study can guide researchers and practitioners to work together to eventually push learned cardinality estimators into real database systems.
References in corpus (8)
- XGBoost: A Scalable Tree Boosting System
- Neo: A Learned Query Optimizer
- Deep Reinforcement Learning for Join Order Enumeration
- Deep Unsupervised Cardinality Estimation
- Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources
- VerdictDB: Universalizing Approximate Query Processing
- SkinnerDB: Regret-Bounded Query Evaluation via Reinforcement Learning
- QuickSel: Quick Selectivity Learning with Mixture Models
Cited by in corpus (4)
- ALECE: An Attention-based Learned Cardinality Estimator for SPJ Queries on Dynamic Workloads (Extended)
- Learning to be a Statistician: Learned Estimator for Number of Distinct Values
- How Good are Learned Cost Models, Really? Insights from Query Optimization Tasks
- DotHash: Estimating Set Similarity Metrics for Link Prediction and Document Deduplication