A Decidable Case of Query Determinacy: Project-Select Views
本文证明了在无自连接的投影-选择-连接查询中,若选择谓词属于可判定可满足性的一阶理论,则查询确定性是可判定的。
2024-11-13 cs.DB
Sub-trajectory Similarity Join with Obfuscation
由于智能手机等配备GPS的设备的普及,用户轨迹数据变得越来越容易获得。许多现有的研究集中在查询轨迹是彼此相似的整体。我们观察到,部分相似的轨迹彼此包含有用的信息,用户的旅行模式,不应该被忽视。这种部分相似的轨迹在流行病接触者追踪等应用中至关重要。因此,我们建议查询的轨迹是在一个给定的距离范围内,从对方在一个给定的时间段。我们制定这个问题作为一个子轨迹相似性连接查询命名为STS-连接。我们进一步提出了一个分布式索引结构和查询算法的STS加入,用户保留他们的原始位置数据,只发送混淆的轨迹到服务器进行查询处理。这有助于保护用户位置隐私,这在处理此类数据时至关重要。理论分析和实际数据实验验证了本文提出的索引结构和查询算法的有效性和高效性。
2021-06-07 cs.DB
Debunking the Myth of Join Ordering: Toward Robust SQL Analytics
本文从稳健性视角重新审视 Predicate Transfer 技术,提出 RPT 框架及两种新算法,集成至 DuckDB 中,在保证无环查询对任意连接顺序稳健性的同时,显著提升了端到端查询性能。
2025-03-06 cs.DB
Size bounds and query plans for relational joins
关系联接是关系代数的核心,而关系代数又是标准数据库查询语言SQL的核心。由于它们的评估是昂贵的,并且经常由输出大小决定,因此数据库查询优化器计算连接大小的估计并为连接序列找到良好的执行计划是一项重要任务。我们研究这些问题从理论的角度来看,无论是在最坏的情况下的模型,并在平均情况下的模型,数据库是根据一个已知的概率分布选择。在前一种情况下,我们的第一个关键观察是,最坏情况下的查询大小的特征在于其底层超图的分数边缘覆盖数,一个组合参数,以前已知提供一个上限。我们完成了图片证明匹配的下限,并通过显示存在的查询,联合项目计划建议的分数边缘覆盖的方法可能会大大优于任何连接计划,不使用中间预测。另一方面,我们表明,在平均情况下的模型中,每个联合项目计划可以变成一个计划,不包含预测,以这样的方式,预期的时间来评估计划只增加了一个恒定的因素,独立于数据库的大小。毫不奇怪,在这种情况下,关键的组合参数是底层超图的最大密度。我们展示了如何有效地利用这个参数来消除投影。
2017-11-10 cs.DB
Indexing Join Inputs for Fast Queries and Maintenance
本文提出 merged index,结合传统索引与物化连接视图,支持全连接类型、非阻塞查询及高效维护,实验表明其兼具两者优势。
2025-02-15 cs.DB
One Join Order Does Not Fit All: Reducing Intermediate Results with Per-Split Query Plans
针对环查询多连接处理中间结果过大的难题,提出将分片作为一等算子的SplitJoin框架,适配不同数据分区使用不同查询计划,在DuckDB和Umbra上均实现了查询完成数、运行速度与中间结果规模的显著优化。
2025-10-29 cs.DB
Join Query Optimization Techniques for Complex Event Processing Applications
复杂事件处理(CEP)是一种在许多现代应用中用于监视和跟踪海量数据流中感兴趣的事件的重要技术。CEP引擎检查实时信息流,并尝试检测与预定义模式匹配的事件组合。这是通过根据模式检测计划以类似于在传统数据管理系统中执行多连接查询的方式组合基本数据项(也称为原始事件)来完成的。尽管这种相似性,很少的工作已经做了利用现有的连接优化方法,以提高基于CEP的系统的性能。在本文中,我们提供了这两个研究领域之间的关系的第一个理论和实验研究。我们正式证明,CEP计划生成问题是等价的连接查询计划生成问题的一个限制类的模式,并可以减少到它的一个相当广泛的类。这一结果表明CEP计划生成问题是NP完全的。我们进一步展示了如何加入查询优化技术,在过去的几十年中开发的,可以适应和利用,以提供实际有效的解决方案,复杂的事件检测。我们的实验表明,这些技术的优越性,在吞吐量,延迟和内存消耗方面的CEP优化现有的战略。
2018-04-29 cs.DB
Fast Distributed Complex Join Processing
在这项工作中,我们研究了问题的协同优化通信,预计算,计算成本在一轮多路连接评估。本文提出了一种多路连接的复杂连接方法ADJ(Adaptive Distributed Join),它通过在预计算、通信和计算之间进行权衡来寻找一个最优的查询计划,并分析了一个给定连接查询的输入关系,在一组特定形式的查询计划中找到一个最优的查询计划,同时通过抽样进行高质量的成本估计。我们广泛的实验证实,ADJ优于现有的多路连接方法的数量级。
2021-02-26 cs.DB
Optimizing Queries with Many-to-Many Joins
针对含多对多连接的多路查询优化难题,提出改进代价模型及对应优化算法,实验对比三类方法并分析连接顺序鲁棒性,可降低对复杂优化技术的需求。
2025-05-19 cs.DB
Putting Things into Context: Rich Explanations for Query Answers using Join Graphs (extended version)
在许多数据分析应用程序中,需要解释为什么查询会产生令人惊讶或有趣的结果。解释结果的先前方法直接或间接地使用数据出处(对感兴趣的结果有贡献的输入元组),这受到用于解释答案的相关信息可能不完全包含在出处中的事实的限制。我们提出了一种新的方法来解释查询结果,通过增加出处与数据库中的其他相关表的信息。我们开发了一套优化技术,并通过使用真实数据集的实验和用户研究表明,我们的方法通过有效地导航可能的解释的大搜索空间产生有意义的结果。
2021-03-29 cs.DB
Spec-QP: Speculative Query Planning for Joins over Knowledge Graphs
组织以知识图谱(KG)的形式存储来自多个异构源的大量数据。查询这些KG的方法之一是在数据库引擎上使用SPARQL查询。由于SPARQL遵循精确匹配语义,因此查询可能会返回太少或没有结果。最近的作品提出了查询松弛,查询引擎明智地取代查询谓词与类似的谓词使用加权松弛规则挖掘KG。可能的松弛空间可能太大而无法完全探索,并且用户通常只对前k个结果感兴趣,因此这样的查询引擎使用前k个算法进行查询处理。然而,它们可能仍然处理所有的松弛,其中许多答案并不有助于top-k答案。这会导致计算开销和延迟的响应时间。我们提出了Spec-QP,一个查询规划框架,推测性地确定哪些放松将在前k个答案的结果。只有这些弛豫是使用top-k运算符处理的。因此,我们减少了计算开销,实现了更快的响应时间,而不会对结果质量产生不利影响。我们在两个数据集上测试了Spec-QP- XKG和Twitter,以证明我们的规划框架在减少运行时间方面的效率,并且对于支持放松的查询引擎具有合理的准确性。
2017-11-20 cs.DB
Forecasting the cost of processing multi-join queries via hashing for main-memory databases (Extended version)
数据库管理系统(DBMS)仔细优化复杂的多连接查询,以避免昂贵的磁盘I/O。由于今天的服务器具有数十或数百GB的RAM,许多分析数据库的很大一部分成为内存驻留。即使在针对内存环境进行了仔细调优之后,线性磁盘I/O模型(如PostgreSQL中实现的模型)也可能对查询响应时间进行预测,其速度可能比内存驻留数据的最佳多连接查询计划慢2倍。本文介绍了一个内存I/O成本模型,以确定良好的评估策略,复杂的查询计划与多个基于哈希的等价连接内存驻留数据。使用三个不同的系统(包括Amazon EC2实例)仔细验证了建议的成本模型的准确性,以控制特定于硬件的差异。并行查询评估的先前工作提倡右深和浓密树的多连接查询,由于其更大的并行化和流水线的潜力。一个令人惊讶的发现是,基于磁盘的无共享系统的传统智慧并不直接适用于现代的一切共享存储层次结构。正如我们的模型所证实的那样,随着查询中连接数量的增加,最佳左深查询计划和右深查询计划之间的性能差距可以增长到大约10倍。
2015-07-21 cs.DB
Equi join query acceleration using algebraic signatures (Published at IADIS'2008 Applied Computing conf.)
本文提出利用代数签名结合哈希连接技术加速等值连接查询,证明在属性为长字符串时能显著提升字符串匹配速度、缩短查询时间并减少内存与磁盘I/O需求。
2025-01-29 cs.DB
Simpli-Squared: A Very Simple Yet Unexpectedly Powerful Join Ordering Algorithm Without Cardinality Estimates
由于其复杂性和完备性,连接顺序基准(JOB)已经成为事实上的标准来评估关系数据库查询优化器的性能。为了计算最佳执行计划-连接顺序-现有的解决方案采用了大量的数据概要和表属性之间的相关性-函数依赖性。这些结构在设计、构建和维护方面会产生大量开销。在本文中,我们提出了\textit{Simpli}城市\textit{Simpli}字段(\textit{Simpli-Squared}),一个非常简单的连接排序算法,取得了意想不到的好结果。Simpli-Squared计算连接顺序时不使用任何统计信息或基数估计值。它只接受模式定义中声明的引用完整性约束和基表中元组的数量(大小)作为输入。给定查询的连接顺序是通过沿着多对多连接分割连接图并根据表的大小对表进行排序来计算的。一对多联接中涉及的表根据大小和查询联接图而被广泛包括。由此产生的计划可以有效地产生一个轻量级的查询重写过程。在PostgreSQL中的JOB基准测试上的实验表明,Simpli-Squared实现的运行时间仅增加了16%-有时甚至减少-与四个更复杂的最先进的解决方案相比。基于这些结果,我们质疑JOB是否充分测试查询优化器,或者准确的基数估计是否是在JOB基准测试中表现良好的基本要求。
2021-10-30 cs.DB
Learned Cardinalities: Estimating Correlated Joins with Deep Learning
我们描述了一种新的深度学习方法来估计基数。MSCN是一个多集合卷积网络,专门用于表示关系查询计划,它采用集合语义来捕获查询特征和真实基数。MSCN建立在基于采样的估计的基础上,解决了它在没有采样元组限定谓词时的弱点,以及捕获连接交叉相关性。我们使用真实数据集对MSCN进行的评估表明,深度学习显著提高了基数估计的质量,这是查询优化的核心问题。
2018-12-18 cs.DB
Free Join: Unifying Worst-Case Optimal and Traditional Joins
在过去的十年中,最坏情况下的最优连接(WCOJ)算法已经成为一个新的范例,在查询处理的最基本的挑战之一:计算连接效率。这样的算法可以比传统的二进制连接快得多,同时仍然易于理解和实现。然而,他们已被发现是效率较低的旧范式,传统的二进制连接计划,在实践中发现的典型的非循环查询。一些支持WCOJ的数据库系统使用混合方法:使用WCOJ处理查询的循环子部分(如果有的话),否则依赖于传统的二进制连接。在本文中,我们提出了一个新的框架,称为自由加入,统一了这两种范式。我们描述了一种新型的计划,一种新的数据结构(它统一了两种范式使用的哈希表和尝试),以及一套优化技术。我们的系统在Rust中实现,在标准查询基准上匹配或优于传统的二进制连接和泛型连接。
2023-01-27 cs.DB
Fast Join Project Query Evaluation using Matrix Multiplication
University of Wisconsin-Madison(威斯康星大学麦迪逊分校);Duke University(杜克大学)
本文研究如何利用最坏情况最优算法和矩阵乘法加速带投影的连接查询,提出参数化输出大小的算法,实验显示性能提升可达50倍。
2026-07-02 cs.DB
Bridging the Semantic Gap with SQL Query Logs in Natural Language Interfaces to Databases
构建数据库的自然语言接口(NLIDB)的一个关键挑战是弥合自然语言查询(NLQ)和底层数据之间的语义鸿沟。这个挑战的两个具体表现方式是通过关键字映射和连接路径推理。关键字映射是将原始NLQ中的各个关键字映射到数据库元素(例如关系,属性或值)的任务。这是具有挑战性的,由于在映射用户的心理模型和措辞的模式定义和底层数据库的内容的模糊性。连接路径推断是在最终SQL查询的FROM子句中选择关系和连接条件的过程,并且是困难的,因为NLIDB用户缺乏数据库模式或SQL的知识,因此不能显式地指定构造最终SQL查询所需的中间表和连接。在本文中,我们建议利用数据库的SQL查询日志中的信息来提高现有NLIDBs的性能,以应对这些挑战。我们提出了一个可用于增强现有NLIDB的系统Templar。我们广泛的实验评估表明,我们的方法的有效性,导致高达138%的改善前1的准确性,在现有的NLIDBs利用SQL查询日志信息。
2019-01-31 cs.DB
ADOPT: Adaptively Optimizing Attribute Orders for Worst-Case Optimal Join Algorithms via Reinforcement Learning
提出查询引擎ADOPT,结合自适应查询处理与最坏情况最优连接算法,通过强化学习在查询执行中动态探索并快速收敛至接近最优的属性顺序,在复杂查询上优于现有商业和开源系统。
2023-07-31 cs.DB
Efficient Routing for Cost Effective Scale-out Data Architectures
在使用大数据系统时,有效的信息检索至关重要。在大型横向扩展数据体系结构中,数据跨多台机器分布和复制。发送到这样的数据架构的数据/任务被发送到路由器,该路由器确定包含所请求的数据的机器。理想情况下,为了降低分析的总体成本,路由器应该返回满足查询所需的最小机器集。在数学上,这可以被建模为集合覆盖问题,这是NP难的,从而使路由过程在最优性和性能之间取得平衡。即使存在用于路由单个查询的有效贪婪近似算法,当前也没有比对每个查询重复运行贪婪集合覆盖算法更好的用于处理多个查询的方法。这种方法对于大数据系统是不切实际的,最先进的技术将查询路由到所有机器,并选择响应最快的机器作为覆盖。在本文中,我们提出了一种有效的技术,以加快路由的大量实时查询,同时尽量减少每个查询接触(查询跨度)的机器的数量。我们证明,通过分析已知查询和执行查询聚类之间的相关性,我们可以减少集合覆盖计算时间,从而显着加快未知查询的路由。实验表明,我们的增量集覆盖为基础的路由是2.5倍的速度,可以返回平均少50%的机器每次查询相比,重复贪婪集覆盖和基线路由技术。
2016-06-28 cs.DB
RelJoin: Relative-cost-based Selection of Distributed Join Methods for Query Plan Optimization
RelJoin提出基于相对代价的分布式连接方法选择模型,利用运行时统计精确估计网络与本地计算代价,在SparkSQL中实现,TPC-DS上62/97查询最优,平均查询时间降低21%。
2023-11-24 cs.DB cs.DC
A fusion algorithm for joins based on collections in Odra (Object Database for Rapid Application development)
在本文中,我们提出了一个目前正在开发的数据库编程方法,称为OSPOT(对象数据库快速应用程序开发)的工作原理完全面向对象的原则的功能。数据库程序设计语言称为SBQL(基于堆栈的查询语言)。我们讨论了ODB2中的一些概念,例如ODB2的工作,ODB2运行时环境如何操作,ODB2与.net和java的互操作性。目前,ODB2的开发阶段是查询优化。因此,我们提出了以前的工作,是在OSTOM有关查询优化,我们还提出了一个新的融合算法,OSTOM如何处理连接的基础上收集,如集,列表和数组的查询优化。
2011-11-13 cs.DB
Detecting Logic Bugs of Join Optimizations in DBMS
Zhejiang University(浙江大学);Alibaba Group(阿里巴巴集团)
TQS是一种新型测试框架,用于检测数据库管理系统中多表连接查询的逻辑错误,通过数据引导的模式和查询生成技术有效发现115个错误。
2026-02-25 cs.DB
Recursive Mechanism: Towards Node Differential Privacy and Unrestricted Joins [Full Version, Draft 0.1]
现有的差分隐私研究主要考虑数据集上的聚合,其中每个条目对应于要保护的特定参与者。在许多情况下,用户可能会对敏感数据库提出关系代数查询,并希望对查询结果进行差异化私有聚合。但是,当查询包含不受限制的联接操作时,没有已知的工作能够释放这种聚合。这严重限制了现有的差分隐私技术的应用,因为许多数据分析任务需要无限制的连接。一个例子是图上的子图计数。现有的差分隐私子图计数方法只解决边差分隐私问题,并且受到非常简单的子图的影响。在此之前,任何非平凡的图统计数据是否可以在节点差分隐私下以合理的精度发布仍然是一个悬而未决的问题。在本文中,我们提出了一种新的差分私有机制,释放一个近似的线性统计的结果,一些积极的关系代数计算敏感数据库。我们的机制支持无限制的连接。近似答案的误差界大致与查询的\emph{empirical sensitivity}成比例-这是一个新概念,用于测量当参与者从敏感数据库中撤回其数据时查询答案的最大可能变化。对于子图计数,我们的机制提供了第一个解决方案,以实现节点差分隐私,任何类型的子图。
2013-04-17 cs.DB
Trade-offs Computing Minimum Hub Cover toward Optimized Graph Query Processing
随着图形查询处理技术的成熟,优化的需求越来越迫切。索引是通过基于成本的优化实现高效查询处理策略的关键因素之一。由于明显缺乏一个通用的表示模型,很难集中精力开发访问结构、评估查询成本的指标和选择替代方案。在这种情况下,最近的兴趣覆盖为基础的图匹配似乎是一个很有前途的研究方向。在本文中,我们的目标是正式引入一个新的图形表示模型,称为最小枢纽覆盖,并证明这种表示提供了有趣的战略优势,有利于建设的候选图从图片段,并有助于利用索引的新方式进行查询优化。然而,类似于其他覆盖问题,最小枢纽覆盖是NP难的,因此是一个自然的候选优化。我们声称,计算最小枢纽覆盖导致图查询处理的成本大幅降低。我们提出了一个基于整数规划的最小枢纽覆盖的计算特征,以证实我们的主张,并调查其计算成本的各种图形类型。
2013-11-08 cs.DB cs.DS
Degree Sequence Bound For Join Cardinality Estimation
最近的工作表明,查询处理时间的基数估计差的灾难性影响。特别是,低估查询基数可能会导致过于乐观的查询计划,其完成时间比使用真实基数生成的查询计划长几个数量级。基数边界通过使用关于数据库的统计信息(如表大小和度,即值频率)计算查询输出大小的严格上限来避免这个陷阱。在本文中,我们通过证明一个新的界限称为度序列界限,考虑到充分的度序列和最大元组的多重性来扩展这条工作线。这一界限改善了以往的工作,将程度的限制,集中在最大程度,而不是程度序列。此外,我们描述了如何实际计算这个界限使用学习近似的真实度序列。
2022-03-30 cs.DB
XQuery Join Graph Isolation
真正的XQuery语义的纯关系解释可以将任何关系数据库系统转变为XQuery处理器。然而,编译完全组合的XQuery语言的嵌套表达式会产生奇怪的代数计划形状,其特点是连接运算符的分散分布,目前商业SQL查询优化器无法解决这些问题。此工作在提交到关系数据库后端之前重写此类计划。一旦转换成连接图的形状,我们已经找到了现成的关系查询优化器-特别是B树索引子系统和连接树规划器-来应对甚至能够自主地“重新发明”最初专门为XQuery领域设计的高级处理策略,例如,单步重排序、轴反转和路径缝合。性能评估提供的证据表明,关系查询引擎是当今最通用、最高效的XQuery处理器之一。
2008-10-27 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
Native Execution of GraphQL Queries over RDF Graphs Using Multi-way Joins
提出一种受最坏情况最优算法启发的多路左连接算法,实现GraphQL查询在RDF知识图谱上的原生执行,实验表明在查询运行时间和可扩展性上优于现有最先进方案。
2024-09-19 cs.DB
Optimizing Subgraph Queries by Combining Binary and Worst-Case Optimal Joins
University of Waterloo(滑铁卢大学)
本研究针对子图查询优化问题,设计了基于代价的优化器,可生成混合二元连接与最坏情况最优多路交集的计划,还提出执行时自适应调整顶点顺序的技术,经实验验证有效且已集成至Graphflow DBMS。
2019-06-02 cs.DB
Consistent Query Answering for Primary Keys on Path Queries
本文研究含主键冲突数据库中路径查询的一致性回答复杂性,证明允许自连接时 CERTAINTY(q) 在 FO、NL、PTIME 与 coNP 完全间四分且可多项式判定。
2023-09-26 cs.DB
A Trichotomy in the Data Complexity of Certain Query Answering for Conjunctive Queries
如果可能违反主键码约束,则称关系数据库是不确定的。不确定数据库的修复(或可能世界)是通过选择最大数量的元组而无需选择具有相同主键码值的两个不同元组来获得的。对于任何布尔查询q,CERTAINTY(q)是在输入上接受不确定的数据库db的问题,并询问q是否在db的每次修复中为真。这个问题的复杂性已经特别研究了q范围内的自连接自由布尔合取查询类。研究的一个挑战是确定,给定q,CERTAINTY(q)是否属于复杂性类FO,P或coNP-完全。在本文中,我们结合现有的技术研究上述复杂性分类任务。我们表明,对于任何self-join-free布尔合取查询q,它可以决定是否CERTAINTY(q)是在FO。进一步地,对于任何自连接自由的布尔合取查询q,CERATAINTY(q)要么在P中要么是coNP完全的,并且复杂性二分法是有效的。这解决了一个自[9]以来已经开放了十年的研究问题。
2015-01-30 cs.DB
Structure-Guided Query Evaluation: Towards Bridging the Gap from Theory to Practice
针对多关系连接查询优化难题,本文通过将SQL查询重写为Yannakakis算法的执行序列,提出结构引导的查询求值方法,证明考虑查询结构能显著提升现代DBMS在复杂场景下的性能。
2023-05-22 cs.DB
Computing Local Sensitivities of Counting Queries with Joins
给定数据库实例D的查询Q的局部敏感性,即当元组被添加到D或从D删除时输出Q(D)改变多少,具有许多应用,包括查询分析、离群值检测和差分隐私。然而,它是NP-难找到的局部灵敏度的一个合取查询的查询的大小,即使是非循环查询的类。虽然当查询大小固定时,复杂度是多项式的,但是对于大型数据库和涉及多个连接的查询,朴素算法是不有效的。在本文中,我们提出了一种新的方法来计算局部灵敏度的计数查询,涉及连接操作,通过跟踪和总结元组的灵敏度-最大的变化,一个元组可以导致查询结果时,它被添加或删除。我们给出了算法的敏感性问题,充分的非循环连接查询使用连接树,运行在多项式时间的数据库和查询的大小为一个有趣的子类的查询,我们称之为“双非循环查询”,包括路径查询,并在多项式时间的组合复杂度时,在连接树的最大程度是有界的。我们的算法可以扩展到某些非非循环查询使用广义超树分解。我们评估我们的方法实验,并显示我们的算法的应用程序,以获得更好的结果差分隐私的数量级。
2020-04-09 cs.CR cs.DB
LevelHeaded: Making Worst-Case Optimal Joins Work in the Common Case
结合SQL风格的商业智能(BI)查询和线性代数(LA)的管道在工业中变得越来越普遍。因此,越来越需要将这些工作负载统一到一个框架中。不幸的是,现有的解决方案要么牺牲了专门使用关系数据库的固有好处(例如,逻辑和物理独立性),要么与专用引擎相比导致数量级的性能差距(或两者)。在这项工作中,我们研究应用一种新的类型的查询处理架构的标准BI和LA基准。为了做到这一点,我们提出了一个新的内存查询处理引擎称为LevelHeaded。LevelHeaded使用最坏情况下的最优连接作为BI和LA查询的核心执行机制。使用LevelHeaded,我们展示了如何在最坏情况下的最佳查询架构中捕获BI和LA查询的关键优化。通过这些优化,LevelHeaded在标准LA基准测试中的性能超过其他关系数据库引擎(LogicBlox、MonetDB和HyperPer)几个数量级,而在其自己的基准测试中,其性能平均仅为同类最佳BI(HyperPer)和LA(英特尔MKL)解决方案的31%。我们的研究结果表明,这样一个单一的查询处理架构是能够提供有竞争力的性能BI和LA查询。
2017-08-25 cs.DB
Glue: Adaptively Merging Single Table Cardinality to Estimate Join Query Size
Alibaba Group(阿里巴巴集团);Renmin University of China(中国人民大学)
基数估计(CardEst)是查询优化器的核心组件,在DBMS中生成高质量查询计划方面起着重要作用。在过去的几十年里,CardEst问题已经被广泛研究,使用传统的和ML增强的方法。然而,CardEst中最困难的问题,即,如何估计多个表上的连接查询大小尚未得到广泛解决。现有的方法要么依赖于独立性假设,要么采用负担沉重的技术,其性能还远不能令人满意。更糟糕的是,现有的CardEst方法通常被设计为优化一个目标,即,推理速度或估计精度,不能适应不同的场合。在本文中,我们提出了一个非常通用的框架,称为胶水,以应对这些挑战。它的核心思想是优雅地解耦不同表之间的相关性,并对单个表CardEst结果进行丢失合并,以估计连接查询的大小。Glue支持使用任何现有的CardEst方法获得单个表式CardEst结果,并可以处理任何复杂的连接模式。因此,它很容易适应具有不同性能要求的不同场景,即,快速估计时间的OLTP或高估计精度的OLAP。同时,我们表明,胶水可以无缝集成到计划搜索过程中,并能够支持计数不同数量的值。所有这些属性都展示了在现实世界的DBMS中部署Glue的潜在优势。
2021-12-07 cs.AI cs.DB
Hybrid Mixed Integer Linear Programming for Large-Scale Join Order Optimisation
针对大规模连接顺序优化问题,提出基于混合整数线性规划(MILP)的混合框架,通过新型MILP模型优化任意灌木状树结构,可扩展至连接100个关系,并实现最稳健的计划质量。
2025-10-23 cs.DB
Calibration: A Simple Trick for Wide-table Delta Analytics
规范化数据库上的数据分析通常需要计算和具体化昂贵的连接(宽表)。分解查询执行将执行建模为连接图中关系之间的消息传递,并通过连接推送聚合以减少中间结果大小。虽然这加快了查询执行速度,但它只优化了单个宽表查询。相比之下,宽表分析通常是交互式的,用户希望将delta应用于初始查询结构。例如,用户希望对维度进行切片、切割和下钻,更新部分表并与新表连接以进行扩充。这种宽表Delta分析提供了新的工作共享机会。这项工作表明,在查询执行期间仔细地具体化消息可以使宽表Delta分析的速度比因子分解执行快10^5倍,并且只会产生恒定的因子开销。关键的挑战是消息对消息传递顺序很敏感。为了应对这一挑战,我们借用概率图模型中的校准概念来实现足够的消息来支持任何排序。我们体现了这些想法在新的校准连接超树(CJT)数据结构,这是快速建立,积极地重用消息,以加速未来的查询,并逐步维护更新。我们进一步展示了CJT如何使OLAP、查询解释、流数据和ML的数据增强等应用程序受益。我们的实验评估了在单线程自定义引擎、云数据库和Pandas中运行的三个版本的CJT,并在上述应用程序上显示出比最先进的因子分解执行算法提高了30倍到10^5倍。
2022-10-07 cs.DB
Oblivious Query Processing
受云安全问题的影响,人们对可以存储和支持对加密数据的查询的数据库系统越来越感兴趣。这种系统的常见架构是使用可信组件,例如用于查询处理的密码协处理器,其用于安全地解密数据并以明文执行计算。可信组件具有有限的内存,因此大部分(输入和中间)数据在不可信的存储中保持加密,并根据“需求”移动到可信组件。“”在这种设置下,即使使用强加密,来自不可信存储的数据访问模式也有可能泄露敏感信息;实际上,所有使用可信组件对加密数据进行查询处理的现有系统都存在此漏洞。在本文中,我们进行了第一次正式的研究安全查询处理,对手有充分的知识的查询(文本),并观察查询执行学习没有关于底层数据库以外的数据库上的查询的结果大小。我们引入了一个更简单的概念,不经意的查询处理,并正式表明,一个查询承认安全的查询处理,当它承认不经意的查询处理。我们提出了一个丰富的数据库查询,涉及选择,连接,分组和聚合的不经意的查询处理算法。对于我们的算法不处理的查询,我们提供了一些初步的证据,设计不经意(因此安全)的算法将很难通过减少两个简单的,研究充分的问题,通常认为是困难的。我们对不经意查询处理的研究也揭示了与数据库连接理论的有趣联系。
2013-12-14 cs.DB
Learning to Optimize Join Queries With Deep Reinforcement Learning
通常会避免穷举所有可能的连接顺序,并且大多数优化器会利用穷举来修剪搜索空间。当成本模型大致为线性时,可以很好地理解成本模型的设计和实现,并且我们发现,当成本中存在非线性时,这些成本模型可能显着次优。理想情况下,我们不需要固定的启发式算法,而是需要一种策略来以更数据驱动的方式引导搜索空间--根据特定的数据集和查询工作负载定制搜索。认识到经典的动态规划枚举方法和强化学习(RL)的最新成果之间的联系,我们提出了一种新的方法来学习优化的连接搜索策略。我们提出了我们的基于RL的DQ优化器,目前优化选择项目连接块。我们实现了三个版本的DQ来说明集成到现有DBMS中的容易性:(1)构建在Apache Calcite之上的版本,(2)集成到PostgreSQL中的版本,以及(3)集成到SparkSQL中的版本。我们的广泛评估表明,DQ实现了优化成本和查询执行时间与每个系统中的本地查询优化器竞争的计划,但在学习后可以执行得更快(通常是数量级)。
2019-01-10 cs.DB
Left Bit Right: For SPARQL Join Queries with OPTIONAL Patterns (Left-outer-joins)
SPARQL基本图形模式(BGP)(也称为SQL内部连接)查询优化是一个很好的研究领域。然而,OPTIONAL模式查询的优化(a.k.a. SQL左外连接)由于左外连接的\textit{reordering}上的限制而带来了额外的挑战。这种查询的出现往往高达总查询的50%(例如,DBPedia查询日志)。在本文中,我们提出了\textit{Left Bit Right}(LBR),\textit{well-designed}嵌套BGP和OPTIONAL模式查询的技术。通过LBR,我们提出了一种新的方法来表示这样的查询使用的图的\textit{supernodes},这是用来积极修剪RDF三元组,与压缩索引的帮助下。我们还提出了新的优化策略-第一种,据我们所知-结合在一起的\textit{acyclicity}的查询,\textit{minimality},和\textit{nullification},\textit{best-match}运营商的特点。在本文中,我们专注于没有UNION或FILTER的OPTIONAL模式,但我们也展示了如何使用\textit{query rewrite}使用我们的技术处理UNION和FILTER。我们在8 GB内存的商用笔记本电脑上对多达10亿个三元组的RDF图进行了评估,结果表明,与Virtuoso和MonetDB等最先进的RDF列存储相比,L…
2015-04-01 cs.DB
Succinct Structure Representations for Efficient Query Optimization
EPFL(洛桑联邦理工学院);Nanyang Technological University(南洋理工大学)
本文提出了一种紧凑的元分解表示,用于高效查询优化,通过在多项式时间内构造并枚举所有可能的连接树,提升了查询优化效率。
2026-08-19 cs.DB
Gradient-Based Join Ordering
Technical University of Munich(慕尼黑技术大学)
本文提出基于梯度的连接顺序方法,通过连续松弛和可微约束,在放松空间中寻找低成本计划,优于传统离散搜索方法。
2026-05-15 cs.DB cs.LG
Algorithms for Optimizing Acyclic Queries
UCLA(加州大学洛杉矶分校);University of Bergen(卑尔根大学)
本文提出三种方法用于构建无环查询的连接树,包括基于编辑的枚举算法、最大基数搜索算法和转换连接树的简单算法,以提升无环查询的优化效率。
2026-01-07 cs.DB cs.DS
Prune First, Decide Fast: Scalable Semantic Query Processing with JEVDB
Purdue Data & AI System Lab (PDAIS)(普渡数据与人工智能系统实验室);University of Utah(犹他大学)
JEVDB通过类型化决策模型和语义布隆过滤器减少语义查询延迟与成本,在SemBench和Shelob上实现低延迟、低成本和高F1,同时保持答案质量。
2026-10-02 cs.DB
Output-sensitive Conjunctive Query Evaluation
本文提出一种输出敏感的无环合取查询求值算法,通过推广Yannakakis算法在多项式因子意义上改进运行时间,不依赖快速矩阵乘法,并给出基于k-团猜想变体的匹配下界,在路径和星形等常见查询上改进了已有最优结果。
2024-10-23 cs.DB
Selectivity Estimation of Inequality Joins In Databases
选择性估计是指SQL查询优化器估计查询中谓词的结果大小的能力。它是主要的计算,优化器可以根据它来选择要执行的最便宜的计划。虽然这个问题在70年代中期就已经被人们所知,但令我们惊讶的是,文献中没有针对不等式连接的选择性估计的解决方案。通过测试四种常见的数据库系统:Oracle,SQL-Server,PostgreSQL和MySQL,我们发现开源系统PostgreSQL和MySQL缺乏这种估计。Oracle和SQL-Server做出了相当准确的估计,但它们的算法是保密的。因此,本文提出了一个算法不等式连接选择性估计。该算法已在PostgreSQL中实现,并作为补丁发送,将包含在下一个版本中。
2022-06-15 cs.DB
A Set-Theoretic Approach to Detecting Logic Bugs in DBMS Inner Join Optimizations
East China Normal University(华东师范大学);Digital Technologies, Ant Group(蚂蚁集团数字技术);Tsinghua University(清华大学)
提出基于集合论的蜕变测试方法,通过交集运算和三种语义保持变换规则生成等价查询,比较结果发现DBMS优化器逻辑错误,在主流系统中发现29个新问题。
2026-06-26 cs.DB cs.SE
Intermediate Relation Size Bounds for Select-Project-Join-Union Query Plans
King’s College London(伦敦国王学院)
研究允许一元键约束的SPJU查询计划静态优化问题,提出“中间度”度量并给出算法,能计算出具有最小中间度且语义等价的SPJU计划。
2025-11-02 cs.DB
Output-Optimal Algorithms for Join-Aggregate Queries
本文首次用自由连接分数超树宽度刻画无环连接-聚合查询的输出最优复杂度,证明半环算法的匹配上下界,实现了40年来对Yannakakis算法的首次多项式改进。
2025-03-12 cs.DB
Parallel Acyclic Joins with Canonical Edge Covers
在PODS'21中,Hu提出了大规模并行计算(MPC)模型中的一种算法,该算法以渐进最优负载处理任何非循环连接。在本文中,我们提出了一种替代分析她的算法。我们的分析的新颖性是在一个新的数学结构的启示-我们命名为“典型的边覆盖”-无圈超图。我们证明了规范的边缘覆盖,为我们提供了一个图论的角度来看,为什么胡的算法的工作原理非平凡的属性。
2022-01-11 cs.DB
MosaicJoin: Compact Semantic Sketches for Value-Level Join Discovery
New York University(纽约大学)
研究针对数据集搜索中连接发现问题,提出MosaicJoin方法,通过新颖草图策略平衡值级比较方法和列级方法的权衡,实现高扩展性,实验证明其性能优越,无需训练或微调,能处理大数据量。
2026-07-27 cs.AI cs.DB
Partition Constraints for Conjunctive Queries: Bounds and Worst-Case Optimal Joins
本文提出分区约束这一新统计信息,通过将关系划分为具有更紧度约束的子关系来捕捉潜在结构,从而改进合取查询的基数界限和最坏情况最优连接算法。
2025-01-10 cs.DB
Bitvector-aware Query Optimization for Decision Support Queries (extended version)
位向量过滤是一种重要的查询处理技术,可以显著降低执行成本,特别是对于具有多个连接的复杂决策支持查询。尽管它有广泛的应用,但是,它对查询优化的影响还没有得到很好的理解。在这项工作中,我们研究了位向量过滤器如何影响查询优化。我们表明,直接将位向量过滤器纳入查询优化可以增加计划的空间复杂度的查询中的关系的数量的指数因子。我们分析的计划与位向量过滤器的星和雪花查询的右深树没有交叉产品的计划空间。令人惊讶的是,通过一些简化的假设,我们证明了,可以从查询中的关系数量中的线性数量的计划中找到具有位向量过滤器的最小成本的计划。这大大降低了这种查询的计划空间复杂度,从指数到线性。基于我们的分析,我们提出了一个算法,占位向量过滤器在查询优化的影响。我们的算法优化了连接顺序的任意决策支持查询选择从一个线性数量的候选计划在查询中的关系的数量。我们实现了我们的算法在Microsoft SQL Server作为一个转换规则。我们对行业标准基准测试和客户工作负载的评估表明,与原始Microsoft SQL Server相比,我们的技术将工作负载的总CPU执行时间减少了22%-64%,单个查询的CPU执行时间减少了两个数量级。
2020-05-07 cs.DB