Permutable Compiled Queries: Dynamically Adapting Compiled Queries without Recompiling
Prashanth Menon, Amadou Ngom, Todd C. Mowry, Andrew Pavlo, Lin Ma
Abstract
Just-in-time (JIT) query compilation is a technique to improve analytical query performance in database management systems (DBMSs). But the cost of compiling each query can be significant relative to its execution time. This overhead prohibits the DBMS from employing well-known adaptive query processing (AQP) methods to generate a new plan for a query if data distributions do not match the optimizer's estimations. The optimizer could eagerly generate multiple sub-plans for a query, but it can only include a few alternatives as each addition increases the compilation time. We present a method, called Permutable Compiled Queries (PCQ), that bridges the gap between JIT compilation and AQP. It allows the DBMS to modify compiled queries without needing to recompile or including all possible variations before the query starts. With PCQ, the DBMS structures a query's code with indirection layers that enable the DBMS to change the plan even while it is running. We implement PCQ in an in-memory DBMS and compare it against non-adaptive plans in a microbenchmark and against state-of-the-art analytic DBMSs. Our evaluation shows that PCQ outperforms static plans by more than 4X and yields better performance on an analytical benchmark by more than 2X against other DBMSs.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers9
- Procedural Extensions of SQL: Understanding their usage in the wildSurabhi Gupta, Karthik RamachandraVLDB 2021 · 34 citations
- Babelfish: Efficient Execution of Polyglot QueriesPhilipp Marian Grulich, Steffen Zeuch, Volker MarklVLDB 2022 · 32 citations
- Excalibur: A Virtual Machine for Adaptive Fine-grained JIT-Compiled Query Execution based on VOILATim Gubner, Peter BonczVLDB 2023 · 10 citations
- ADOPT: Adaptively Optimizing Attribute Orders for Worst-Case Optimal Join Algorithms via Reinforcement LearningJunxiong Wang, Immanuel Trummer, Ahmet Kara, Dan OlteanuVLDB 2023 · 10 citations
- Skeena: Efficient and Consistent Cross-Engine TransactionsJianqiu Zhang, Kaisong Huang, Tianzheng Wang, King LvSIGMOD 2022 · 10 citations
Builds on3
- Quantifying TPC-H Choke Points and Their OptimizationsMarkus Dreseler, Martin Boissier, Tilmann Rabl, Matthias UflackerVLDB 2020 · 91 citations
- Mainlining Databases: Supporting Fast Transactional Workloads on Universal Columnar Data File FormatsTianyu Li, Matthew Butrovich, Amadou Ngom, Wan Shen Lim et al.VLDB 2021 · 28 citations
- Dynamic Speculative Optimizations for SQL Compilation in Apache SparkFilippo Schiavio, Daniele Bonetta, Walter BinderVLDB 2020 · 11 citations
Related papers
- Improving Execution Efficiency of Just-in-time Compilation based Query Processing on GPUsJohns Paul, Bingsheng He, Shengliang Lu, Chiew Tong LauVLDB 2021 · 28 citations
- [Experiment, Analysis, and Benchmark] Systematic Evaluation of Plan-Based Adaptive Query ProcessingPei Mu, Anderson Chaves Carniel, Antonio Barbalace, Amir ShaikhhaICDE 2026 · 2 citations
- Adaptive Code Generation for Data-Intensive AnalyticsWangda Zhang, Junyoung Kim, Kenneth A. Ross, Eric Sedlar et al.VLDB 2021 · 12 citations
- LAQy: Efficient and Reusable Query Approximations via Lazy SamplingViktor Sanca, Periklis Chrysogelos, Anastasia AilamakiSIGMOD 2023 · 5 citations
- POLAR: Adaptive and Non-invasive Join Order Selection via Plans of Least ResistanceDavid Justen, Daniel Ritter, Campbell Fraser, Andrew Lamb et al.VLDB 2024 · 11 citations
