Neuro-Symbolic Query Optimization in Knowledge Graphs
Technical University of Munich(慕尼黑工业大学);Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme IAIS(弗劳恩霍夫智能分析与信息系统研究所)
本章提出神经符号查询优化器,融合符号推理与神经计算以改进知识图谱查询执行计划的选择,并分析现有神经组件及实际部署中的挑战。
2024-11-21 cs.AI cs.DB
Join Query Optimization with Deep Reinforcement Learning Algorithms
Zurich University of Applied Sciences(苏黎世应用科技大学)
连接查询优化是一项复杂的任务,是查询处理性能的核心。实际上它属于NP难问题。传统的查询优化器使用动态规划(DP)方法结合一组规则和限制,以避免穷举所有可能的连接顺序。然而,DP方法是非常资源密集的。此外,由于简化假设的属性独立性,传统的查询优化依赖于错误的成本估计,这可能会导致次优的查询计划。深度强化学习(DRL)最近的成功为查询优化领域解决上述问题创造了新的机会。在本文中,我们提出了我们的DRL为基础的完全观察优化(FOOP),这是一个通用的查询优化框架,使插件在不同的机器学习算法。FOOP的主要思想是使用一个数据自适应学习查询优化器,它避免了连接顺序的穷举,因此比基于动态规划的传统方法快得多。特别是,我们评估各种DRL算法,并表明,近端策略优化显着优于Q-学习算法。最后,我们展示了集成学习技术结合DRL可以进一步提高查询优化器。
2019-11-26 cs.AI cs.DB cs.LG
Balsa: Learning a Query Optimizer Without Expert Demonstrations
UC Berkeley(加州大学伯克利分校)
查询优化器是每个数据库系统中的性能关键组件。由于它们的复杂性,优化器需要专家几个月的时间来编写,几年的时间来完善。在这项工作中,我们第一次证明,学习优化查询,而不从专家优化器学习是可能的和有效的。我们介绍了Balsa,一个由深度强化学习构建的查询优化器。Balsa首先从一个简单的、与环境无关的模拟器中学习基本知识,然后在实际执行中进行安全学习。在Join Order Benchmark测试中,Balsa在两个小时的学习时间内,与两个开源和商业的专家查询优化器的性能相匹配,并且在几个小时后的工作负载运行时间内,其性能超过它们高达2.8 $\times$。因此,Balsa开启了在未来不存在专家设计的优化器的计算环境中自动学习优化的可能性。
2022-05-03 cs.DB cs.LG
Bao: Learning to Steer Query Optimizers
查询优化一直是数据管理系统中最具挑战性的问题之一。最近将机器学习技术应用于查询优化挑战的努力是有希望的,但是由于大量的训练开销、无法适应变化以及尾部性能差,几乎没有显示出实际的收益。出于这些困难的动机,并借鉴了对多武装土匪的长期研究历史,我们介绍了Bao(BAndit优化器)。Bao通过提供每个查询优化提示,利用了现有查询优化器中内置的智慧。Bao将现代树卷积神经网络与Thompson采样相结合,Thompson采样是一种有几十年历史且经过充分研究的强化学习算法。因此,Bao会自动从错误中学习,并适应查询工作负载、数据和模式的变化。在实验中,我们证明了Bao可以快速(比以前的方法快一个数量级)学习策略,提高端到端查询执行性能,包括尾部延迟。在云环境中,我们表明,与复杂的商业系统相比,Bao可以提供更低的成本和更好的性能。
2020-04-08 cs.DB
FOSS: A Self-Learned Doctor for Query Optimizer
Renmin University of China(中国人民大学);Shanghai Yunxi Technology Co., Ltd.(上海云玺科技有限公司)
针对现有深度学习查询优化方法训练效率低、搜索空间受限的问题,提出基于深度强化学习的FOSS框架,结合非对称优势模型构建模拟环境自学习优化,在多基准测试中延迟性能优于现有方法,较PostgreSQL最高提速8.33倍。
2024-08-14 cs.AI cs.DB
Can Large Language Models Be Query Optimizer for Relational Databases?
本文提出基于PostgreSQL的LLM查询优化器LLM-QO,通过QInstruct数据配方和两阶段微调直接生成执行计划,在三个工作负载上优于传统与学习型优化器。
2025-02-08 cs.DB
SEFRQO: A Self-Evolving Fine-Tuned RAG-Based Query Optimizer
针对学习型查询优化器的冷启动和工作负载/模式变化需重训问题,提出SEFRQO,基于自进化微调RAG,利用执行反馈、上下文学习优化提示,在CEB和Stack工作负载上较PostgreSQL延迟分别降65.05%和93.57%。
2025-08-24 cs.DB
LaPuda: LLM-Enabled Policy-Based Query Optimizer for Multi-modal Data
University of Hawaii(夏威夷大学);University of Florida(佛罗里达大学)
本文提出LaPuda,一种基于LLM和抽象策略的多模态查询优化器,利用少量策略引导优化并引入GCD算法确保优化方向,实验显示执行速度比基线快1~3倍。
2025-06-21 cs.AI cs.DB cs.IR
A Novel Technique for Query Plan Representation Based on Graph Neural Nets
University of Ottawa(渥太华大学)
针对查询计划表示能力缺乏比较的问题,提出基于门控循环单元聚合双向图神经网络的新型树模型BiGG,显著提升了复杂工作负载下的成本估计和计划选择性能。
2024-06-05 cs.AI cs.DB
RELOAD: A Robust and Efficient Learned Query Optimizer for Database Systems
Yonsei University BDAI Lab(延世大学BDAI实验室);Microsoft Gray Systems Lab(微软Gray系统实验室)
RELOAD通过提升查询优化的鲁棒性和效率,克服了传统查询优化器的不足,实验表明其在鲁棒性和效率上均优于现有基于强化学习的优化方法。
2026-04-16 cs.DB cs.LG
Deploying a Steered Query Optimizer in Production at Microsoft
Microsoft(微软)
现代分析工作负载高度异构且非常复杂,使得通用查询优化器对于许多客户和场景来说都是站不住脚的。因此,将这些优化器专门用于工作负载的实例是很重要的。在本文中,我们继续最近的工作路线,在转向查询优化器更好的计划,为给定的工作负载,并取得重大进展,推动以前的研究思路,生产部署。在此过程中,我们解决了几个运营挑战,包括使转向操作更易于管理,将转向成本保持在预算范围内,以及避免生产中出现意外的性能下降。我们由此产生的系统,QQ顾问,本质上是外化的查询规划器到一个巨大的离线管道,更好的探索和专业化。我们讨论了我们的设计的各个方面,并在Microsoft的生产范围工作负载上显示详细的结果,其中系统当前默认启用。
2022-10-24 cs.DB cs.LG
Jovis: A Visualization Tool for PostgreSQL Query Optimizer
针对PostgreSQL查询优化器内部决策过程不透明的问题,研发了交互式可视化工具Jovis,支持优化过程可视化与用户参与优化,兼具教育与实用价值。
2025-03-25 cs.DB cs.HC
Sampling-Based Query Re-Optimization
尽管经过几十年的工作,查询优化器仍然会在“困难”查询上犯错误,因为基数估计不好,这通常是由于数据中多个谓词和相关性的相互作用。在本文中,我们提出了一个低成本的后处理步骤,可以采取一个计划产生的优化器,检测时,它可能已经犯了这样的错误,并采取措施来修复it.Specifically,我们的解决方案是一个基于采样的迭代过程,几乎不需要改变原来的查询优化器或查询评估机制的系统。我们表明,这确实带来了低开销和捕获的情况下,三个广泛使用的优化器(PostgreSQL和两个商业系统),使大的错误。
2016-01-21 cs.DB
Learned Query Superoptimization
本文提出学习型查询超优化思想,通过探索驱动算法、迭代贝叶斯优化和程序合成自主发现最优查询计划,以更长优化时间换取对大量重复查询的大幅加速。
2023-07-11 cs.DB
Learned Query Optimizer in Alibaba MaxCompute: Challenges, Analysis, and Solutions
Alibaba Group(阿里巴巴集团)
LOAM是为MaxCompute设计的学习查询优化框架,通过无需统计数据的计划编码和领域适应技术,实现高达30%的CPU成本节省。
2026-02-07 cs.DB
Risk-Aware GPU-Assisted Cardinality Estimation for Cost-Based Query Optimizers
Independent Researcher Daegu, Republic of Korea
GACE通过GPU加速测量提升基于成本的查询优化器的稳定性与效率,减少尾部延迟并降低计划翻转率。
2025-12-31 cs.DB
Analyzing Query Optimizer Performance in the Presence and Absence of Cardinality Estimates
本文通过JOB基准对比了有无基数估计的查询优化器在不同环境下的性能,发现基数估计在非索引环境中影响很小,在索引可用时可能导致次优物理算子,而在高并行主存数据库中影响较不显著。
2023-11-29 cs.DB
Learned Offline Query Planning via Bayesian Optimization
本文提出一种结合变分自编码器与贝叶斯优化的离线查询优化器,通过将查询执行作为原语搜索更优计划,在多个数据集上相比PostgreSQL最优计划和近期强化学习方法找到更快的查询计划。
2025-02-07 cs.DB
Redefining The Query Optimization Process
传统上,查询优化器被设计用于共享由CPU、主存储器和磁盘子系统组成的公共体系结构的计算机系统。查询优化器的效率及其成功应用依赖于这些架构在过去几十年中基本保持不变的事实。然而,最近串行指令执行的性能增长已经停滞。因此,计算机体系结构已经开始多样化。结合主存储器的大小已经显著增加的事实,利用计算机系统的固有内部特征(数据一致性机制、TLB和指令高速缓存性能等)而不是主要关注于最小化磁盘I/O变得更加重要。是时候重新评估(传统的)查询优化是如何实现的了。查询优化器必须能够处理计算机体系结构中的破坏性进展,并采用优化特定于体系结构的特性的方法。本文对查询优化过程进行了重新定义,使编译器优化比传统方法更早地进入游戏,并将编译器优化作为查询优化的驱动力。新一代的查询优化器将能够优化查询,使其性能明显优于当代最先进的查询优化器。
2022-03-02 cs.DB cs.PL
HERO: Hint-Based Efficient and Reliable Query Optimizer
本文提出 HERO 学习型查询优化器,通过上下文感知模型集成、图存储及预算受控局部搜索,实现可靠提示推荐、高效探索与快速推理,并在 JOB 上取得 3 倍延迟提升。
2024-12-05 cs.AI cs.DB cs.LG
LQRS: Learned Query Re-optimization Framework for Spark SQL
Renmin University of China(中国人民大学)
LQRS是一种基于学习的查询重优化框架,通过课程强化学习策略和即插即用的计划扩展模块,实现动态计划优化,显著提升了Spark SQL的查询性能。
2026-03-04 cs.DB
JOB-Complex: A Challenging Benchmark for Traditional & Learned Query Optimization
本文提出新基准 JOB-Complex,通过引入字符串列连接和复杂过滤谓词等真实属性,挑战传统与学习型查询优化器,揭示现有成本模型在真实场景下运行时间比最优计划慢达 11 倍。
2025-07-10 cs.DB
Can the Optimizer Cost be Used to Predict Query Execution Times?
预测查询的执行时间是调度、服务水平协议和错误检测等应用中的一个重要问题。在查询规划期间,成本与所选择的执行计划相关联,并用于对竞争计划进行排名。使用该成本来预测执行时间将是方便的,但是在文献中已经声称这是不可能的。在本文中,我们彻底调查这一主张,考虑线性和非线性模型。我们发现,使用更复杂的模型,只有优化成本的准确性是在文献中报道的准确性。在文献中最准确的方法是最近邻回归,不产生一个模型。公布的结果使用了一个大的特征集来识别最近的邻居。我们表明,它是可以实现相同水平的精度只使用成本来确定最近的邻居。使用较小的特征集带来了在用于训练数据的存储空间和产生预测的时间方面减少开销的优点。
2019-05-02 cs.DB
Beyond Relational: Semantic-Aware Multi-Modal Analytics with LLM-Native Query Optimization
Zhejiang University(浙江大学);Aalborg University(奥胡斯大学)
Nirvana通过结合可编程语义运算符和LLM原生查询优化,实现多模态数据分析,显著提升效率和可扩展性。
2025-11-25 cs.AI cs.DB
Exqutor: Extended Query Optimizer for Vector-augmented Analytical Queries
Yonsei University(延世大学);Microsoft(微软)
本文提出Exqutor,一种用于向量增强分析查询的查询优化器,通过改进向量搜索的基数估计方法,提升查询性能,实验证明在pgvector、VBASE和DuckDB中性能提升达四量级。
2026-03-29 cs.DB
Efficient Enumeration of Recursive Plans in Transformation-based Query Optimizers
本文提出 RLQDAG,通过带注释等价节点、分组重写规则和增量注释维护扩展 LQDAG,以支持递归查询的计划空间高效枚举,并验证其显著性能提升。
2024-04-04 cs.DB
Is Your Learned Query Optimizer Behaving As You Expect? A Machine Learning Perspective
本文从机器学习视角审视学习型查询优化器(LQO)的评估流程,提出端到端基准测试框架,并通过严格实验表明PostgreSQL在多数划分下优于现有LQO。
2024-02-26 cs.DB
LIMAO: A Framework for Lifelong Modular Learned Query Optimization
针对学习型查询优化器在动态环境中因重新训练导致灾难性遗忘的问题,提出终身模块化学习框架LIMAO,通过模块化终身学习与注意力架构持续适应新环境,在动态工作负载下显著提升查询性能并降低执行时间方差。
2025-06-30 cs.DB
Towards Query Optimizer as a Service (QOaaS) in a Unified LakeHouse Ecosystem: Can One QO Rule Them All?
本文探讨在统一 LakeHouse 生态系统中将查询优化器从定制或库共享模式转向查询优化器即服务(QOaaS)的可行性,结合 Calcite、Cascades 在 SQL Server、Fabric DW 和 SCOPE 中的实践经验,分析其集中优化、多引擎联邦等优势与挑战。
2024-11-20 cs.DB
Robust Plan Evaluation based on Approximate Probabilistic Machine Learning
University of Ottawa(渥太华大学);IBM Canada Lab(IBM加拿大实验室)
针对传统查询优化器因估计不准而选次优计划的问题,提出基于风险感知学习和近似概率机器学习的Roq框架,以量化鲁棒性并优化计划选择,显著提升鲁棒查询优化性能。
2025-05-25 cs.AI cs.DB
Optimizing Subgraph Queries by Combining Binary and Worst-Case Optimal Joins
University of Waterloo(滑铁卢大学)
本研究针对子图查询优化问题,设计了基于代价的优化器,可生成混合二元连接与最坏情况最优多路交集的计划,还提出执行时自适应调整顶点顺序的技术,经实验验证有效且已集成至Graphflow DBMS。
2019-06-02 cs.DB
Query Performance Tuning with Optimal Exploration of Optimizer Cost Model Parameter Space
Microsoft Research(微软研究院)
本文提出一种确定性方法,系统探索优化器代价模型参数空间,保证找到最优查询计划,避免随机搜索或贝叶斯优化的不稳定性,并在PostgreSQL和SQL Server上验证了显著性能提升。
2026-10-05 cs.DB
Efficient Query Re-optimization with Judicious Subquery Selections
针对现有查询重优化依赖初始计划而可能非最优的问题,提出QuerySplit算法,直接从逻辑计划生成子查询并优先执行低损害子查询,在PostgreSQL上实现,较次优方案执行时间减少35%,与最优优化器差距在4%以内。
2023-06-22 cs.DB
A Learned Cost Model-based Cross-engine Optimizer for SQL Workloads
IBM Research(IBM研究院)
本文提出一种基于学习成本模型的跨引擎优化器,通过多任务学习和查询计划自动为SQL工作负载选择最优执行引擎,实验表明可显著降低Q-error并减少总运行时间。
2025-06-03 cs.DB cs.LG
Including Bloom Filters in Bottom-up Optimization
本文提出在自底向上的代价优化器中纳入布隆过滤器,通过限制搜索空间扩展和启发式策略,在 TPC-H 100GB 上实现 32.8% 的额外延迟降低,适用于所有查询类型。
2025-05-05 cs.DB
NEURON: Query Optimization Meets Natural Language Processing For Augmenting Database Education
关系数据库管理系统(RDBMS)是世界上许多大学的计算机科学课程的一部分。该课程的核心组成部分是关系数据库管理系统中查询优化器的设计和实现。查询优化器的目标是自动识别执行用户提交的声明性SQL查询的最有效执行策略。查询优化过程产生表示查询的执行策略的查询执行计划(QEP)。由于底层查询优化器的复杂性,理解QEP要求学生了解与RDBMS相关的特定于实现的问题。实际上,这是一个不切实际的假设,因为大多数学生都是第一次学习数据库技术。因此,他们通常很难通过仔细阅读QEP来理解DBMS所承担的查询执行策略,从而阻碍了他们的学习过程。在这个演示中,我们提出了一个新的系统,称为神经元,促进自然语言与QEP互动,以提高其理解。NEURON接受SQL查询(可能包括连接、聚合、嵌套等)作为输入,执行它,并生成底层RDBMS部署的执行策略的简化的基于自然语言的描述(文本和语音形式)。此外,它通过基于自然语言的问答框架促进了对与QEP相关的各种特征的理解。我们主张,这样的工具,世界上第一个,可以大大提高学生的学习查询优化的主题。
2018-08-21 cs.DB
Cost Models for Big Data Query Processing: Learning, Retrofitting, and Our Findings
大数据查询处理在现代云计算中无处不在,系统使用基于成本的查询优化器负责挑选物理查询执行计划和运行这些计划所需的资源。因此,一个好的成本模式类似于更好的资源效率和更低的运营成本。不幸的是,微软的生产工作负载表明,为大数据系统建模的成本非常复杂。在这项工作中,我们研究了两个关键问题:(i)我们是否可以学习大数据系统的准确成本模型,以及(ii)我们是否可以将学习的模型集成到查询优化器中。为了回答这些问题,我们做出了三个核心贡献。首先,我们利用工作负载模式来学习大量的单个成本模型,并将它们结合起来,以实现长期的高准确性和覆盖率。其次,我们提出了扩展级联框架,以挑选最佳的资源,即容器的数量,在查询规划。第三,我们将学习到的成本模型集成到微软SCOPE的级联式查询优化器中。我们评估由此产生的系统,Cleo,在生产环境中使用生产和TPC-H工作负载。我们的研究结果表明,学习成本模型的准确性提高了2到3个数量级,与实际运行时间的相关性提高了20倍,大部分(70%)的计划更改导致延迟和资源使用的大幅改善。
2020-02-27 cs.DB
NeuSO: Neural Optimizer for Subgraph Queries
Peking University(北京大学)
本文提出基于学习的子图查询优化器 NeuSO,利用多任务训练的查询图编码器与估计器预测基数和成本,并通过自顶向下枚举生成高质量执行计划,实验证明其优于现有排序方法。
2025-09-28 cs.DB
First Past the Post: Evaluating Query Optimization in MongoDB
本文分析了 MongoDB 的 FPTP 查询优化器有效性,发现其存在偏好索引扫描的偏差,导致所选计划运行时间可达最优计划的两倍以上。
2024-09-25 cs.DB
Reducing Order Enforcement Cost in Complex Query Plans
利用排序顺序的算法被广泛用于实现连接、分组、重复消除和其他集合操作。查询优化器传统上通过使用感兴趣的顺序的概念来处理排序顺序。不幸的是,有趣的订单数量是参与属性数量的阶乘。优化器实现使用排序来修剪感兴趣的订单的数量,但排序的质量尚不清楚。越来越复杂的决策支持查询和越来越多的使用覆盖索引,它提供了多个替代排序顺序的关系,激励我们更好地解决问题的优化与有趣的订单。我们表明,即使是一个简化版本的优化排序顺序是NP难的,并提供原则性的选择有趣的订单。我们已经实现了火山风格的基于成本的优化器中提出的技术,我们的性能研究表明,估计成本显着改善。我们还在一个广泛使用的商业数据库系统和PostgreSQL上执行了我们的计划,并发现在几种情况下,我们的计划的实际执行时间明显优于这些系统生成的计划。
2006-11-20 cs.DB
LLM4Hint: Leveraging Large Language Models for Hint Recommendation in Offline Query Optimization
Key Laboratory of High Confidence Software Technologies, CS, Peking University, China(高性能软件技术重点实验室,计算机科学,北京大学,中国);ZTE Corporation(中兴通讯)
本文提出 LLM4Hint,利用中等规模 LLM 结合轻量级软提示、查询重写和显式匹配提示,为离线重复查询推荐优化提示,以低微调成本提升学习型查询优化器的有效性与泛化性。
2025-07-04 cs.AI cs.DB
Spanning Tree-based Query Plan Enumeration
本研究将最优查询计划查找转化为低代价生成树查找问题,提出结合Prim与Kruskal算法的ESTE策略,在计划质量、优化时间一致性及大查询鲁棒性上优于现有方案,可低成本维持优化器鲁棒性。
2024-03-06 cs.DB
HoTTSQL: Proving Query Rewrites with Univalent SQL Semantics
每个数据库系统都包含一个执行查询重写的查询优化器。不幸的是,开发查询优化器仍然是一项极具挑战性的任务。部分挑战来自于查询语言的复杂性和丰富特性,这使得重写规则的推理变得困难。在本文中,我们提出了一个机器可检查的指称语义的SQL,事实上的语言为关系数据库,严格验证重写规则。与以前提出的非机械化或仅涵盖少量SQL语言功能的语义不同,我们的语义涵盖了SQL的所有主要功能,包括包,相关子查询,聚合和索引。我们的机械化语义,称为HoTTSQL,是基于K-关系和同伦类型论,其中我们表示关系作为数学函数从元组到单价类型。我们已经在Coq中实现了HoTTSQL,它只需要不到300行代码,并且已经证明了广泛的SQL重写规则,包括来自数据库研究文献的规则(例如,魔术集重写)和真实世界的查询优化器(例如,子查询消除)。这些重写规则中有几条以前从未被证明是正确的。此外,虽然查询等价性通常是不可判定的,但我们已经使用HoTTSQL实现了一个自动决策过程,用于合取查询:一个经过充分研究的可判定SQL片段,包含许多真实世界的查询。
2016-08-05 cs.DB cs.LO cs.PL
Budget-aware Query Tuning: An AutoML Perspective
Microsoft Research(微软研究院)
本文将数据库查询优化器中的代价单元从常量重新建模为变量,提出查询调优(QT)和工作负载调优(WT)问题,并借鉴 AutoML 中的超参数优化技术在给定时间预算内实现执行计划优化,实验验证了其有效性。
2024-03-29 cs.AI cs.DB cs.LG
PARQO: Penalty-Aware Robust Plan Selection in Query Optimization
针对查询优化中选择性估计不确定性导致执行计划表现差的问题,提出PARQO系统,通过工作负载剖析建误差模型、敏感性分析找关键维度,能生成鲁棒高性能计划,实现高效参数化优化。
2024-07-15 cs.DB
Cuttlefish: A Lightweight Primitive for Adaptive Query Processing
现代数据处理应用程序执行越来越复杂的分析,需要超越传统关系代数的操作。结果,查询计划中的运算符在多样性和复杂性方面增长。设计查询优化器规则和成本模型来为所有这些新颖的逻辑运算符选择物理运算符是不切实际的。为了解决这一挑战,我们开发了乌贼,一个新的原始的自适应处理在线查询计划,探索候选人的物理运算符实例在查询执行过程中,并利用最快的多臂强盗强化学习技术。我们在Apache Spark中对Cuttlefish进行了原型设计,并自适应地为图像卷积、正则表达式匹配和关系连接选择了运算符。我们的实验表明,基于Cuttlefish的自适应卷积和正则表达式运算符可以达到无所不知的预言机的吞吐量的72-99%,该预言机总是选择最佳算法,即使单个物理运算符比最佳算法慢105倍。此外,与Spark SQL的查询优化器相比,Cuttlefish实现了高达7.5倍的连接吞吐量改进。
2018-02-26 cs.DB cs.DC
Probably Approximately Optimal Query Optimization
在某些情况下,评估数据样本上的查询谓词是估计其选择性的唯一方法。在这些情况下,找到有保证的最优查询计划并不是合理的优化目标,因为它可能需要无限数量的样本。因此,我们引入可能近似最优的查询优化(PAO)的目标是找到一个查询计划,其成本是接近最优的一定的概率。我们将证明为什么PAO是一个合适的形式主义模型的情况下,谓词采样和优化需要交错。我们提出了第一个算法PAO。我们的算法是非侵入性的,并使用标准的查询优化器和采样组件作为子功能。它是通用的,可以应用于广泛的场景。我们的算法是迭代的,并在每次迭代中计算一个查询计划连同一个区域中的选择性空间,该计划具有接近最优的成本。它确定真实选择性值落在上述区域内的置信度,并在置信度未达到指定为问题输入的阈值时基于当前状态选择要采集的下一个样本。我们设计了不同的算法变体,并分析了它们的复杂性。我们通过实验比较了它们在许多不同查询类上的优化器调用、样本和迭代次数。
2015-11-05 cs.DB
Delta: A Learned Mixed Cost-based Query Optimization Framework
Delta提出混合代价查询优化框架,通过兼容性检测与两阶段规划,在三个负载上平均提速2.34倍,优于现有方法。
2025-06-18 cs.DB
Factor Windows: Cost-based Query Rewriting for Optimizing Correlated Window Aggregates
窗口聚集在流处理中是普遍存在的。在Azure流分析(ASA)中,由微软的Azure云托管的流处理服务,我们看到许多客户查询包含多个相关窗口上的聚合函数(例如MIN和MAX)(例如,长度为五分钟和十分钟的翻转窗口)。在本文中,我们提出了一个基于成本的优化框架,通过在多个窗口之间共享计算来优化此类查询。特别是,我们引入了因子窗口的概念,这是辅助窗口,不是在输入查询,但可能有助于降低整体计算成本,我们的成本为基础的优化器可以产生重写的查询计划,具有较低的成本比原来的查询计划,利用因子窗口。由于我们的优化技术是在查询(计划)重写的水平,他们可以实现任何流处理系统,支持声明性的,SQL类查询语言,而不改变底层的查询执行引擎。我们正式的共享计算问题,提出了详细的优化技术,并报告在合成和真实数据集的评估结果。我们的研究结果表明,与原始的查询计划相比,我们基于成本的优化器输出的重写计划可以产生更高的吞吐量(高达16.8倍)。
2022-03-08 cs.DB
Kepler: Robust Learning for Faster Parametric Query Optimization
Google(谷歌);University of Pennsylvania(宾夕法尼亚大学)
针对传统参数化查询优化成本模型不准确的问题,提出基于学习的端到端框架Kepler,利用子计划基数扰动算法RCE和实际执行数据训练ML模型,在PostgreSQL上显著降低查询延迟并避免性能回归。
2023-10-18 cs.DB cs.LG
Efficient and Provable Multi-Query Optimization
大规模数据分析作业的复杂查询已经变得越来越普遍。许多这样的查询包含常见的子表达式,或者在单个查询中,或者在作为批处理提交的多个查询中。传统的查询优化器不利用这些子表达式,并产生次优的计划。多查询优化(MQO)问题是通过一次计算公共子表达式并重用它们来生成最优的组合求值计划。MQO的穷举算法探索O(n^n)搜索空间。因此,这个问题主要是使用各种启发式算法来解决的,而没有提供任何理论保证其解决方案的质量。在本文中,而不是传统的成本最小化问题,我们把这个问题作为最大化的成本函数的线性变换。我们提出了一个贪心算法的问题,这在弱,直观的假设下,这个配方提供了一个近似因子的保证。我们继续证明这个因子是最优的,除非P = NP。关于我们的算法的另一个值得注意的点是,它可以很容易地纳入现有的基于转换的优化。最后,我们提出了优化,可用于提高我们的算法的效率。
2017-01-19 cs.DB
Willump: A Statistically-Aware End-to-end Optimizer for Machine Learning Inference
Stanford University(斯坦福大学)
ML推理系统目前已被广泛部署,但它们通常使用为传统数据服务工作负载设计的技术来优化ML推理工作负载,并错过了利用ML统计性质的关键机会。在本文中,我们介绍了Willump,一个ML推理优化器,它引入了两个针对ML应用程序的自动优化,其性能瓶颈是特征计算。首先,Willump自动级联分类查询的特征计算:Willump仅使用通过ML模型性能的经验观察选择的高价值,低成本特征对大多数数据输入进行分类,将查询性能提高了5倍,而没有统计上显著的准确性损失。其次,Willump准确地近似ML top-K查询,使用自动构建的近似模型丢弃低得分输入,然后使用更强大的模型对其余部分进行排名,以最小的准确性损失将查询性能提高10倍。Willump会自动调整这些优化参数,以最大限度地提高查询性能,同时满足准确性目标。此外,Willump通过编译器优化来补充这些统计优化,以自动生成ML应用程序的快速推理代码。我们表明,Willump将从主要数据科学竞赛中策划的真实世界ML推理管道的端到端性能提高了16倍,而没有统计上显著的准确性损失。
2020-03-05 cs.DB cs.LG
Cardinality Estimation in DBMS: A Comprehensive Benchmark Evaluation
Alibaba Group(阿里巴巴集团);MIT(麻省理工学院);Nanyang Technological University(南洋理工大学);Peking University(北京大学)
基数估计(CardEst)在为DBMS中的查询优化器生成高质量的查询计划方面起着重要作用。在过去的十年中,已经提出了越来越多的先进的CardEst方法(特别是ML为基础的)具有出色的估计精度和推理延迟。然而,目前还没有研究系统地评估这些方法的质量,并回答根本问题:这些方法在多大程度上可以提高查询优化器在现实世界中的性能,这是CardEst方法的最终目标。在本文中,我们全面和系统地比较了CardEst方法在一个真正的DBMS的有效性。我们为CardEst建立了一个新的基准,它包含一个新的复杂的真实世界的数据集STATS和一个多样化的查询工作负载STATS-CEB。我们将多个最具代表性的CardEst方法集成到开源数据库系统PostgreSQL中,并全面评估它们在提高查询计划质量方面的真正有效性,以及影响其适用性的其他重要方面,从推理延迟,模型大小和训练时间,到更新效率和准确性。我们获得了一些关键的调查结果的CardEst方法,在不同的数据和查询设置。此外,我们还发现,在查询优化过程中,广泛使用的估计精度度量(Q-Error)无法区分不同子计划查询的重要性,从而无法真实反映CardEst方法生成的查询计划质量。因此,我们提出了一个新的度量P-Error来评估CardEst方法的性能,它克服了Q-Error的局限性,能够反映CardEst方法的整体端到端性能。我们已经在https://g…
2021-09-15 cs.AI cs.DB
Tempura: A General Cost Based Optimizer Framework for Incremental Data Processing (Extended Version)
增量处理在许多应用中被广泛采用,从增量视图维护、流计算到最近出现的渐进式数据仓库和间歇式查询处理。尽管有许多算法开发了这个主题,他们都不能产生一个增量计划,总是达到最佳性能,因为最佳计划是数据相关的。在本文中,我们开发了一种新的基于成本的优化器框架,称为天妇罗,用于优化增量数据处理。我们提出了一个增量查询规划模型称为TIP的概念的基础上,随时间变化的关系,它可以正式建模增量处理的最一般的形式。我们给出了一个完整的规范天妇罗,它不仅可以统一各种现有的技术,以产生一个最佳的增量计划,但也允许开发人员添加他们的重写规则。我们研究如何探索计划空间,寻找最佳的增量计划。我们进行了彻底的实验评估天妇罗在各种增量处理方案,以显示其有效性和效率。
2020-09-28 cs.DB