Back to Search Start Over

ByteCard: Enhancing ByteDance's Data Warehouse with Learned Cardinality Estimation

Authors :
Han, Yuxing
Wang, Haoyu
Chen, Lixiang
Dong, Yifeng
Chen, Xing
Yu, Benquan
Yang, Chengcheng
Qian, Weining
Publication Year :
2024

Abstract

Cardinality estimation is a critical component and a longstanding challenge in modern data warehouses. ByteHouse, ByteDance's cloud-native engine for extensive data analysis in exabyte-scale environments, serves numerous internal decision-making business scenarios. With the increasing demand for ByteHouse, cardinality estimation becomes the bottleneck for efficiently processing queries. Specifically, the existing query optimizer of ByteHouse uses the traditional Selinger-like cardinality estimator, which can produce substantial estimation errors, resulting in suboptimal query plans. To improve cardinality estimation accuracy while maintaining a practical inference overhead, we develop a framework ByteCard that enables efficient training and integration of learned cardinality estimators. Furthermore, ByteCard adapts recent advances in cardinality estimation to build models that can balance accuracy and practicality (e.g., inference latency, model size, training overhead). We observe significant query processing speed-up in ByteHouse after replacing the existing cardinality estimator with ByteCard for several optimization scenarios. Evaluations on real-world datasets show the integration of ByteCard leads to an improvement of up to 30% in the 99th quantile of latency. At last, we share our valuable experience in engineering advanced cardinality estimators. This experience can help ByteHouse integrate more learning-based solutions on the critical query execution path in the future.

Subjects

Subjects :
Computer Science - Databases

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.2403.16110
Document Type :
Working Paper