Bao: Making Learned Query Optimization Practical
By Ryan Marcus, Parimarjan Negi, Hongzi Mao, Nesime Tatbul, Mohammad Alizadeh, Tim Kraska. SIGMOD Conference, 2020
321 citations recorded by the source corpus.
Recent efforts applying machine learning techniques to query optimization have shown few practical gains due to substantive training overhead, inability to adapt to changes, and poor tail performance. Motivated by these difficulties, we introduce Bao (the \underlineBa ndit \underlineo ptimizer). Bao takes advantage of the wisdom built into existing query optimizers by providing per-query optimization hints. Bao combines modern tree convolutional neural networks with Thompson sampling, a well-studied reinforcement learning algorithm. As a result, Bao automatically learns from its mistakes and adapts to changes in query workloads, data, and schema. Experimentally, we demonstrate that Bao can quickly learn strategies that improve end-to-end query execution performance, including tail latency, for several workloads containing long-running queries. In cloud environments, we show that Bao can offer both reduced costs and better performance compared with a commercial system.
Subfields: Computer Networks and Communications, Computer Vision and Pattern Recognition, Information Systems
View Paper: https://www.semanticscholar.org/paper/951f876a742dfc28eed01badf8d98318376b72b7
Citations in the corpus
- This is Going to Sound Crazy, But What If We Used Large Language Models to Boost Automatic Database Tuning Algorithms By Leveraging Prior History? We Will Find Better Configurations More Quickly Than Retraining From Scratch! (2025, unknown): “For example, some tuners only consider whether sequential scans or index scans are enabled system-wide [81, 93] or on a per-query [9, 54] basis.”