Worst-case Optimal Binary Join Algorithms under General $\ell_p$ Constraints
到目前为止,已经在两个广泛的上下文中研究了最坏情况下的最优连接算法--当我们被给定输入关系大小时的$(1)$ [Atserias等人,FOCS 2008,Ngo等人,PODS 2012,Velduizhen et.等人,ICDT 2014] $(2)$当除了大小之外,我们还被给予关于关系的度界限[Abo Khamis等人,PODS 2017]。据我们所知,这个问题还没有被研究超出这两个统计,即使是输入关系的arity(最多)2的情况下。在本文中,我们提出了一个最坏情况下的最优连接算法,当给定的$\ell_{p}$-范数的大小界的输入关系的元数至多为2 $p \in (1, 2]$。($p=1$对应于关系大小界限,而$p=\infty$对应于度界限。)最坏情况下的最优性也保持任何固定的$p \in (2, \infty)$(只要连接查询图具有足够大的围长)。我们的算法是{\em simple},不依赖于$p$(或)$\ell_{p}$-范数边界,并避免了与最知名的算法PANDA [Abo Khamis等人,PODS 2017]用于问题的大小和度界限设置。在这个过程中,我们(部分)解决了[Ngo,2018年PODS宝石]中的两个开放问题。我们相信我们的算法有{\em潜力}为实际的最坏情况下的最优连接算法的情况下的大小界限铺平了道路。
2021-12-02 cs.DB
A Unified Architecture for Efficient Binary and Worst-Case Optimal Join Processing
本文提出统一架构,同时支持传统二进制连接与最坏情况最优连接(WCOJ),涵盖哈希和排序两种物理实现,在标准基准查询中相比Generic Join和Free Join实现分别获得最高3.1倍和4.8倍的性能提升。
2025-05-26 cs.DB
Worst-Case Optimal Join Algorithms: Techniques, Results, and Open Problems
最坏情况最优连接算法是一类连接算法,其运行时匹配给定连接查询的最坏情况输出大小。虽然第一个可证明的最坏情况下的最优连接算法是最近才发现的,但围绕这些算法的技术和结果是从广泛领域的数十年研究中发展出来的,这些领域将图论、算法、信息论、约束满足、数据库理论和几何不等式紧密联系在一起。这些想法不仅仅是纸质的:除了学术项目的实现,这些算法的两个变体是商业数据库和数据分析引擎的工作马连接算法。本文旨在简要介绍最坏情况下的最优连接算法的设计和分析。我们讨论了证明运行时间和输出大小界限的关键技术。我们特别关注连接算法和信息论不等式之间的迷人联系,以及如何将证明转化为算法的想法。最后,我们得出一个有代表性的清单,在这一领域的基本开放的问题。
2018-06-26 cs.DB cs.DS
Old Techniques for New Join Algorithms: A Case Study in RDF Processing
最近,人们对设计专门的RDF引擎产生了浓厚的兴趣,因为传统的查询处理机制在许多RDF工作负载上产生了数量级的性能差距。与此同时,研究人员已经发布了新的最坏情况下的最优连接算法,可以渐近优于传统引擎中的连接算法。在本文中,我们应用最坏情况下的最佳连接算法的标准RDF工作负载,LUBM基准,第一次。我们使用两个最坏情况下的最优引擎:(1)LogicBlox,一个商业数据库引擎,和(2)EmptyHeaded,我们的原型研究引擎,具有增强的最坏情况下的最优连接算法。我们表明,没有任何增加的优化LogicBlox和EmptyHeaded优于两个国家的最先进的专门的RDF引擎,RDF-3X和TripleBit,高达6倍的循环连接查询,查询传统的优化器是次优的。在剩下的,不太复杂的查询在LUBM基准测试,我们表明,三个经典的查询优化技术,使EmptyHeaded与RDF引擎竞争,即使没有渐近优势的最坏情况下的最佳方法。我们验证了我们的设计具有优点,因为EmptyHeaded的性能优于MonetDB三个数量级,LogicBlox两个数量级,同时保持在RDF-3X和TripleBit的数量级内。
2016-02-10 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
Worst-Case Optimal Radix Triejoin
最近,连接处理领域已经被一类新的多路连接算法的发现所动摇。新算法同时连接多个关系,而不是执行一系列成对连接。新的连接算法比任何现有的基于成对连接的方法都能满足更强的最坏情况运行时复杂度保证--它们在数据复杂度方面是最坏情况下的最优。这些研究工作产生了一系列的论文,记录了理论和一些实际的贡献。然而,仍然存在使新的最坏情况下的最优连接算法在以下方面真正实用的追求:(1)易于实现和(2)二级索引效率(根据为回答查询而创建的索引的数量)。在本文中,我们提出了一个简单的最坏情况下的最佳多路连接算法称为基数triejoin。Radix triejoin使用二进制编码来减少数据库的域。我们的主要技术贡献是域缩减允许属性值的位交织,从而产生查询独立的关系表示,允许在相同关系的最坏情况下计算多个查询,而无需构建额外的二级索引。我们还将核心算法推广到具有不等式约束的合取查询,并为最坏情况下的最优连接结果提供了一种新的证明技术。
2019-12-29 cs.DB cs.DS
Joins via Geometric Resolutions: Worst-case and Beyond
我们提出了一个简单的几何框架的关系连接。使用这个框架,我们设计了一个算法,实现了分数超树宽度界,这概括了经典和最近的最坏情况下的算法计算连接的结果。此外,我们使用我们的框架和相同的算法来展示一系列通俗地称为超越最坏情况的结果。该框架允许我们证明存储在B树、多维数据结构甚至每个表多个索引中的数据的结果。在我们的框架中的一个关键思想是形式化的推理与索引作为一种类型的几何分辨率;变换的算法问题计算连接到一个几何问题。我们的几何归结的概念可以被看作是逻辑归结的几何类比。除了几何和逻辑的联系,我们的算法也可以被认为是回溯搜索与记忆。
2016-12-23 cs.DB cs.DS
Distributed Datalog at Scale with Worst-Case Optimal Joins
University of Illinois Chicago(伊利诺伊大学芝加哥分校);Syracuse University(雪城大学);Washington State University(华盛顿州立大学)
该研究提出首个采用最坏情况最优连接(WCOJ)的分布式内存Datalog引擎,基于HyperCube分区设计,在超级计算机基准测试中展现强可扩展性,性能优于多数现有Datalog引擎。
2026-10-12 cs.DB
Leapfrog Triejoin: a worst-case optimal join algorithm
近年来,连接算法取得了令人兴奋的发展。在2008年,Atserias,Grohe和Marx(以下简称AGM)证明了一个完整合取查询的最大结果大小的紧界,给定输入关系大小的约束。2012年,Ngo、Porat、R{é}和Rudra(以下简称NPRR)设计了一个最坏情况下运行时间与AGM边界成比例的连接算法。我们的商业数据库系统LogicBlox采用了一种新的连接算法,\emph{leapfrog triejoin},比较显着以及NPRR算法在初步的基准测试。这促使我们分析跳耦连接的复杂性。在本文中,我们建立了蛙跳triejoin也是最坏情况下的最佳,对数因子,在NPRR的意义。我们改进NPRR的结果证明,蛙跳triejoin实现最坏情况下的最优的细粒度类的数据库实例,如那些定义的约束投影基数。我们表明,NPRR是\emph{not}最坏情况下的最佳此类,给出一个反例,其中蛙跳triejoin运行在$O(n \log n)$时间相比,$Θ(n^{1.375})$时间为NPRR。实际上,蛙跳triejoin可以使用传统的数据结构(如B树)来实现,并自然地扩展到$\exists_1$查询。我们相信我们的算法提供了一个有用的除了现有的连接算法的工具箱,易于吸收,实现简单,并有一个简洁的最优性证明。
2013-12-20 cs.DB cs.DS
Fast Join Project Query Evaluation using Matrix Multiplication
University of Wisconsin-Madison(威斯康星大学麦迪逊分校);Duke University(杜克大学)
本文研究如何利用最坏情况最优算法和矩阵乘法加速带投影的连接查询,提出参数化输出大小的算法,实验显示性能提升可达50倍。
2026-07-02 cs.DB
Uplifting the Superpowers of Worst-Case-Optimal Join Algorithms
Universidade da Coruña(科鲁尼亚大学);IMFD — Millennium Institute for Foundational Research on Data(数据基础研究千年研究所);Department of Computer Science, University of Chile(智利大学计算机系)
本文提出将最坏情况最优连接算法原生融入过滤器处理,扩展紧凑索引Ring以处理属性图,实验显示该方法性能优于多种基准系统。
2026-08-10 cs.DB cs.DS
HoneyComb: A Parallel Worst-Case Optimal Join on Multicores
本文提出 HoneyComb,一种面向多核共享内存系统的并行最坏情况最优连接算法,通过对所有查询变量域进行分区、引入急切构建的 CoCo 索引以及重写 WCOJ 计划消除冗余计算,解决了现有并行 WCOJ 的工作倾斜、线程争用和冗余计算问题。
2025-02-10 cs.DB
Worst-case Optimal Join Algorithms
有效的连接处理是数据库研究中最基本和研究最多的任务之一。在这项工作中,我们研究算法的自然连接查询在许多关系,并描述了一种新的算法来处理这些查询最佳的最坏情况下的数据复杂性。我们的结果建立在Atserias、Grohe和Marx最近的工作基础上,他们根据查询主体中各个关系的大小给出了完整合取查询大小的界限。然而,这些界限不是建设性的:它们依赖于希勒的熵不等式,这是信息论的。因此,以前的结果留下开放的问题,是否存在算法的运行时间达到这些最佳的界限。这个问题的答案可能是有趣的数据库实践,因为它是已知的,通常在RDBMS中采用的传统的选择-项目-连接风格的计划的基础上的任何算法是渐近慢于某些查询的最佳。我们构造了一个算法,其运行时间是最坏情况下的所有自然连接查询的最优。我们的结果可能是独立的利益,因为我们的算法也产生了一个建设性的证明一般分数覆盖范围由Atserias,Grohe,马克思不使用希勒不等式。这个界包含了两个著名的几何不等式:Loomis-Whitney不等式和Bollobás-Escherason不等式。因此,我们的结果也证明了这些不等式。最后,我们将讨论如何使用我们的算法来计算一个宽松的连接概念。
2012-03-08 cs.DB cs.DS math.CO
Distributed Evaluation of Subgraph Queries Using Worstcase Optimal LowMemory Dataflows
我们研究了在一个不断变化的大规模图中发现和监控固定大小的子图的问题。我们提出了第一种方法,(i)执行最坏情况下的最佳计算和通信,(ii)保持输入边缘数量的总内存占用线性,(iii)随着工人数量的增加,即使在不利的倾斜输入下,也线性地降低每个工人的计算,通信和内存需求。我们的方法是基于最坏情况下的最优连接算法,重铸为数据并行的并行计算。我们描述了一般的算法和修改,使其强大的偏斜数据,证明其资源需求的理论界限的大规模并行计算模型,并实施和评估它的图形包含多达64亿边缘。底层算法和思想从查找和监视子图推广到计算和维护动态关系上的关系等价连接的更一般问题。
2018-02-11 cs.DB cs.DC
Scaling Worst-Case Optimal Datalog to GPUs
Syracuse University(雪城大学);University of Illinois, Chicago(伊利诺伊大学芝加哥分校);Washington State University(华盛顿州立大学)
本文提出SRDatalog,首个基于WCOJ的GPU Datalog引擎,通过改进存储和内存管理解决二进制连接的OOM问题,并通过负载平衡和规则复用提升性能,实现在实际程序分析任务中21至47倍的加速。
2026-04-23 cs.DB cs.PL
Instance and Output Optimal Parallel Algorithms for Acyclic Joins
大规模并行连接算法近年来受到了广泛的关注,而大多数先前的工作集中在最差最优算法。然而,这些连接算法的最坏情况下的最优性依赖于具有非常大的输出大小的硬实例,这在实践中很少出现。最优性的一个更强的概念是{ \em output-optimal},它要求算法在共享相同输入和输出大小的所有实例的类中是最优的。更强的最优性是{ \em实例最优},即,该算法在每一个实例上都是最优的,但是这并不总是可以实现的。在传统的RAM计算模型中,经典的Yannakakis算法在任何非循环连接上都是实例最优的。但在大规模并行计算(MPC)模型中,情况变得更加复杂。我们首先表明,类的r-层次连接,实例最优仍然可以实现MPC模型。然后,我们给出了一个新的MPC算法的任意非循环连接负载$O ({\IN \over p} + {\sqrt{\IN \cdot \OUT} \over p})$,其中$\IN,\OUT$是输入和输出的连接大小,和$p$是MPC模型中的服务器的数量。这通过$O (\sqrt{\OUT \over \IN} )$因子改进了Yannakakis算法的MPC版本。此外,我们还证明,对于每个非循环但非r层次连接,当使用$\OUT = O(p \cdot \IN)$时,这是输出最优的。最后,我们给出了MPC模型中三角连接的第一个输出敏感下界,表明它本质上比非循环连接更困难。
2019-03-28 cs.DB
Optimal Joins using Compact Data Structures
最坏情况下的最优连接算法在数据库文献中得到了很多关注。我们现在使用几种在最坏情况下最优的算法,其中许多算法已经在实践中实现和验证。然而,这些算法的实现通常需要增强的索引结构:为了实现最优性,我们要么需要构建全新的索引,要么必须用索引的几个实例(如B $+$树)填充数据库。无论哪种方式,这意味着花费额外的存储空间,这可能是不可忽略的。我们表明,最佳算法可以直接从一个表示,认为在变维网格的点集的关系,而不需要额外的存储。我们的表示是一个紧凑的四叉树的静态索引,和一个动态的四叉树共享子树(我们称之为qdag)的中间结果。我们开发了一个组合算法来处理这种表示下的全连接查询,并表明,该算法的运行时间是最坏情况下的数据复杂度最优。值得注意的是,我们可以通过引入一个懒惰版本的qdags(lqdags)来扩展我们的框架,以评估关系代数中更具表达力的查询。再次,我们可以证明我们的算法的运行时间是最坏情况下的最优。
2020-01-09 cs.CG cs.DB cs.DS
Size bounds and query plans for relational joins
关系联接是关系代数的核心,而关系代数又是标准数据库查询语言SQL的核心。由于它们的评估是昂贵的,并且经常由输出大小决定,因此数据库查询优化器计算连接大小的估计并为连接序列找到良好的执行计划是一项重要任务。我们研究这些问题从理论的角度来看,无论是在最坏的情况下的模型,并在平均情况下的模型,数据库是根据一个已知的概率分布选择。在前一种情况下,我们的第一个关键观察是,最坏情况下的查询大小的特征在于其底层超图的分数边缘覆盖数,一个组合参数,以前已知提供一个上限。我们完成了图片证明匹配的下限,并通过显示存在的查询,联合项目计划建议的分数边缘覆盖的方法可能会大大优于任何连接计划,不使用中间预测。另一方面,我们表明,在平均情况下的模型中,每个联合项目计划可以变成一个计划,不包含预测,以这样的方式,预期的时间来评估计划只增加了一个恒定的因素,独立于数据库的大小。毫不奇怪,在这种情况下,关键的组合参数是底层超图的最大密度。我们展示了如何有效地利用这个参数来消除投影。
2017-11-10 cs.DB
Computing Join Queries with Functional Dependencies
最近,Gottlob,Lee,Valiant,和Valiant(GLVV)提出了一个输出大小界的连接查询与功能依赖(FD),基于线性规划的polymatroids。GLVV界严格地概括了Atserias,Grohe和Marx(AGM)对于没有FD的查询的界,在这种情况下,存在在AGM界内运行的已知算法,因此是最坏情况下的最优算法。本文的一个主要结果是一个算法计算连接查询FD,运行在GLVV绑定到一个多日志因子。特别是,我们的算法是最坏情况下的最佳任何查询的GLVV界是紧的。作为一个意想不到的副产品,我们的算法设法解决一个更难的问题,其中(一些)输入关系可能有规定的最大程度的界限,其中函数依赖关系和基数界限是特殊情况。我们扩展了Gottlob等人的框架,用闭集的格替换所有变量子集(在给定的FD下)。这给了我们新的见解的结构的最坏情况的界限和最坏情况的情况下。虽然一般情况下GLVV界是否是紧的还没有定论,但我们证明了它在分配格和其他一些简单格上是紧的。分布格捕获没有FD和具有简单FD的查询的严格超集。我们还提出了两个更简单的算法,也是最坏情况下的最佳分配格内的一个单一的$\log$因素,但他们不匹配的GLVV约束上的一般格。我们的算法是基于一个新的原则设计的:我们把一个基于多项式的输出大小绑定到一个算法的证明。
2016-04-07 cs.DB cs.DS cs.IT
Worst-Case Optimal Algorithms for Parallel Query Processing
本文研究了在$p$服务器上并行计算大型数据库上的合取查询问题的通信复杂性。与以前的工作,在通信上的上限和下限被指定为特定的数据结构(无论是数据没有歪斜,或数据与特定类型的歪斜),在这项工作中,我们专注于最坏情况下的通信成本分析。目标是找到最坏情况下的最优并行算法,类似于[18]中针对顺序算法的工作。我们首先表明,对于一个单一的回合,我们可以获得一个最佳的最坏情况下的算法。当所有关系的大小都等于$M$时,合取查询$q$的最优负载为$O(M/p^{1/ψ^*})$,其中$ψ^*$是一个新的与查询相关的量,称为边拟填充数,它不同于查询超图的边填充数和边覆盖数.对于多轮,我们提出的算法是最佳的几类查询。最后,我们展示了一个令人惊讶的连接到外部存储器模型,它允许我们翻译并行算法到外部存储器算法。这种技术使我们能够恢复(在一个多对数因子)的I/O计算连接查询的复杂性的几个最近的结果,并获得其他类别的查询的最佳算法。
2016-04-07 cs.DB
Covering the Relational Join
在本文中,我们开始了我们所谓的连接覆盖问题的理论研究。给出了一个基于$n$属性和$m$关系$(R_i)_{i \in [m]}$的自然连接查询实例$Q$。令$J_{Q} = \ \Join_{i=1}^m R_i$表示$Q$的连接输出。除了$Q$,我们给出了一个参数$Δ: 1\le Δ\le n$,我们的目标是计算最小子集$\mathcal{T}_{Q, Δ} \subseteq J_{Q}$,使得$J_{Q}$中的每个元组都在距离$\mathcal{T}_{Q, Δ}$中某个元组的汉明距离$Δ- 1$内。连接覆盖问题捕获了从数据库理论计算自然连接和从编码理论构造具有覆盖半径$Δ- 1$的覆盖码作为特殊情况。我们考虑组合版本的连接覆盖问题,我们的目标是确定最坏情况下的$|\mathcal{T}_{Q, Δ}|$的结构方面的$Q$和值的$Δ$。上界$|\mathcal{T}_{Q, Δ}|$的一个明显的方法是利用来自编码理论的(汉明距离的)距离属性,并将其与Atserias、Grohe和Marx [SIAM J.of Computing '13]的自然连接的输出大小的最坏情况界限(AGM界限)相结合。有些令人惊讶的是,这种方法并不严格,即使在输入关系的arity最多为2的情况下。相反,我们表明,使用多拟阵度为基础的限制的Abo Khamis,Ngo和Suciu [PODS '17]的…
2020-03-21 cs.DB
Towards Efficient Random-Order Enumeration for Join Queries
本文研究连接查询结果的随机顺序枚举问题,提出一种无需特定预处理、复杂度无大隐藏常数且在最坏情况下近最优的高效算法,并辅以两种加速技术,实验证明其显著优于现有方法。
2025-07-01 cs.DB
Join Processing for Graph Patterns: An Old Dog with New Tricks
几十年来,连接优化一直由Selinger风格的成对优化器主导。但是,Selinger风格的算法是渐近次优的图形分析应用程序。这种次优性是许多人主张用专门的图形处理引擎来补充关系引擎的原因之一。最近,新的连接算法已经被发现,实现最佳的最坏情况下的运行时间的任何连接,甚至所谓的超越最坏情况(或实例最佳)运行时间保证专门类的连接。这些新算法匹配或改进了专用图形处理系统中使用的算法。本文问这些新的连接算法是否可以让关系引擎缩小与图引擎的性能差距?我们研究这个问题的图形模式查询或连接查询。我们发现,经典的关系数据库,如Postgres和MonetDB或较新的图形数据库/存储,如Virtuoso和Neo4j可能会比这些新方法慢几个数量级,与使用这些新思想的功能齐全的RDBMS LogicBlox相比。我们的研究结果表明,具有这种新算法的RDBMS可以像GraphLab这样的专用引擎一样执行-同时保留高级接口。我们希望这能增加正在进行的关于图加速器、新图系统和关系系统在现代工作负载中的作用的辩论。
2015-03-18 cs.DB cs.DS
Flexible Caching in Trie Joins
传统的多路连接计算算法基于重写连接顺序和合并中间子查询的结果。最近,已经提出了几种方法的算法是“最坏情况下的最佳”,其中所有的关系被同时扫描。Veldhuizen的Leapfrog Trie Join(LFTJ)。LFTJ的一个重要优点是内存占用小,因为中间结果是可以立即转储的完整元组。然而,由于该算法不存储中间结果,因此必须从源关系重建循环连接,从而导致过多的内存流量。在本文中,我们解决这个问题,将缓存到LFTJ。我们通过采用连接优化的最新发展,将变量排序与树分解联系起来来做到这一点。虽然传统的使用树分解提前计算每个包的结果,我们提出的方法将缓存直接到LFTJ,可以动态调整缓存的大小。因此,我们的解决方案平衡了内存使用和重复计算,正如我们在SNAP数据集上的实验所证实的那样。
2016-02-28 cs.DB
General-Purpose Join Algorithms for Listing Triangles in Large Graphs
我们研究应用通用连接算法的三角列表问题在一个核心外的上下文中。特别是,我们专注于Veldhuizen 2014年提出的Leapfrog Triejoin(LFTJ),这是一种最近提出的最坏情况最优算法。我们提出了“装箱”:一种新颖的,但概念上简单的方法,用于馈送输入数据到LFTJ。我们的广泛分析表明,这种方法是I/O高效的,是最坏情况下的最佳选择(在某种意义上)。此外,如果输入数据仅是比可用存储器大的常数因子,则盒装LFTJ本质上保持普通LFTJ的CPU数据复杂度。接下来,专注于LFTJ应用于三角形查询,我们表明,对于许多图装箱LFTJ匹配的I/O复杂度最近由胡,陶和Yufei提出的专门算法MGT上市tiangles在一个外的核心设置。我们还加强了LFTJ的计算复杂性的三角形查询的分析,考虑家庭的输入图形,其特征在于不仅由边缘的数量,但也由其密度的措施。例如,在一个示例中,我们表明,对于平面图,LFTJ的CPU复杂度为O(|E| log |E|),而对于一般图,没有算法比O(|E| ^{1.5})更快。最后,我们对三角形列表问题进行了实验评估,证实了我们的理论结果,并显示了我们的方法的整体有效性。在我们所有的真实世界和合成数据集(其中一些包含超过12亿条边)上,单线程模式下的LFTJ是专用MGT的3倍;正如我们所证明的那样,并行化可以减轻这种惩罚。
2015-01-27 cs.DB
SieveJoin: Boosting Multi-Way Joins with Reusable Bloom Filters
SieveJoin通过可重用布隆过滤器传播实现多路连接中提前停止,消除无用中间结果,显著提升查询响应时间。
2023-08-31 cs.DB
K-Join: Combining Vertex Covers for Parallel Joins
University of Wisconsin–Madison(威斯康星大学麦迪逊分校)
K-Join通过结合顶点覆盖与超立方体原语,提出了一种改进并行连接处理的算法,优化了负载分布并引入了新的超图度量。
2026-10-08 cs.DB
Skew Strikes Back: New Developments in the Theory of Join Algorithms
关系连接的计算是数据库系统中的核心算法之一,也是研究得最多的问题。已经考虑了数量惊人的变体,包括块嵌套循环连接,散列连接,宽限期,排序合并讨论更现代的问题)。商业数据库引擎使用微调连接算法,考虑到各种各样的因素,包括各种谓词的选择性,内存,IO等,尽管这种研究的连接查询,教科书的连接处理的描述是次优的。本调查描述了最近的结果连接算法,有可证明的最坏情况下的最优运行时保证。我们调查最近的工作,并提供了一个更简单和统一的描述这些算法,我们希望是有用的理论头脑的读者,算法设计师和系统实现。
2013-10-16 cs.DB cs.DS
Native Execution of GraphQL Queries over RDF Graphs Using Multi-way Joins
提出一种受最坏情况最优算法启发的多路左连接算法,实现GraphQL查询在RDF知识图谱上的原生执行,实验表明在查询运行时间和可扩展性上优于现有最先进方案。
2024-09-19 cs.DB
It's all a matter of degree: Using degree information to optimize multiway joins
我们使用度信息优化关系表上的多路对等连接。我们给出了一个新的界限,使用度信息更紧密地约束查询的最大输出大小。在真实数据上,我们对社交网络中三角形数量的限制可以比现有的最坏情况限制严格$95$倍。我们表明,只使用一个常数量的程度信息,我们能够获得连接算法的运行时间,有一个较小的指数比现有的算法-{ \em的任何数据库实例}。我们还表明,这种程度的信息可以在接近线性的时间,这产生渐近更快的算法在串行设置和较低的通信算法在MapReduce设置。在串行设置中,连接处理的数据复杂度可以表示为关于输入大小$\IN$和输出大小$\OUT$的函数$O(\IN^x + \OUT)$,其中$x$取决于查询。分数超树宽给出了$x$的上界。我们感兴趣的情况下,我们可以得到的算法,其中$x$是严格小于分数超树宽。如果$x < 2$,我们说连接可以在次二次时间内处理。基于用于在二次时间内处理循环连接的AYZ算法,对于我们称之为$1$ -串-并行图的限制性连接类别,我们获得了用于识别次二次可解性的完整决策过程(服从需要二次时间的$3$ -SUM问题)。我们的$3$ -SUM为基础的二次下界是紧的,使其成为唯一已知的紧界连接,不需要任何假设的矩阵乘法指数$ω$。我们还给出了一个MapReduce算法,满足我们改进的通信边界和处理本质上是最佳的并行性。
2015-12-22 cs.DB
Graphical Join: A New Physical Join Algorithm for RDBMSs
University of Warwick(华威大学)
连接操作(特别是n路、多对多连接)是非常耗时和耗费资源的。在大规模下,关于表和连接结果大小,现有技术的方法(包括使用嵌套循环/散列/排序合并连接算法的二进制连接计划,或者可替代地,最坏情况下的最佳连接算法(WOJA))在给定合理的资源和时间约束的情况下甚至可能无法产生任何答案。在这项工作中,我们介绍了一种用于n路等连接处理的新方法,即图形连接(GJ)。关键的想法是双重的:首先,将物理连接计算问题映射到PGM,并引入调整的推理算法,该算法可以计算基于行程长度编码(RLE)的连接结果摘要,需要实现连接结果所需的所有统计数据。第二,也是最重要的一点,要证明像GJ这样的连接算法,它产生上面的连接结果摘要,然后对其进行反求和,可以在时间和空间上带来很大的性能优势。对JOB,TPCDS和lastFM数据集的连接查询进行了全面的实验,将GJ与PostgresQL和MonetDB以及Umbra系统中实现的最先进的WOJA进行了比较。内存连接计算的结果显示,性能分别比PostgreSQL、MonetDB和Umbra快64倍、388倍和6倍。对于磁盘连接计算,GJ比PostgreSQL,MonetDB和Umbra分别快820倍,717倍和165倍。此外,GJ的空间需求分别比PostgresQL、MonetDB和Umbra小21,488倍、38,333倍和78,750倍。
2022-06-22 cs.AI cs.DB
Optimal Oblivious Algorithms for Multi-way Joins
针对多路连接中访问模式泄露问题,本文提出基于排序、无需 ORAM 的可证明不经意算法,在时间与缓存复杂度上仅差对数因子即达到不安全最优界限。
2025-01-09 cs.CR cs.DB
Understanding the hardness of approximate query processing with joins
我们研究的硬度近似查询处理(AQP)的各种类型的查询,涉及连接多个表的可能不同的大小。在查询结果是单个值的情况下(例如,的最坏情况下的信息理论下界的AQP问题,给定参数$ε$和$δ$,并返回估计结果的一个因素的1+ $ε$的真实结果与错误概率最多$δ$。特别是,在各种设置下的连接基数估计的下界包含在我们的结果。非正式地,我们的研究结果表明,对于各种数据库查询与连接,除非限制到一组查询的结果总是保证在一个非常大的阈值以上,AQP算法需要返回一个准确的近似值的信息量至少是线性的行数在最大的表。类似的下限甚至适用于一些特殊情况,其中附加信息,如前K个重击球手和所有频率矢量可用。在查询结果不是单个数字的GROUP-BY的情况下,我们研究了任何近似算法所使用的信息量的下限,该算法不报告任何不存在的组,也不错过总大小较大的组。我们的工作扩展了Alon,Gibbons,Matias和Szegedy [AGMS 99]的工作。我们将我们的下限与Bernoulli采样所需的信息量进行比较,以给出准确的近似。对于在相同大小的多个表上进行连接的查询,上限与下限匹配,除非问题设置限制为查询集,其结果始终保证高于非常大的阈值。
2020-10-01 cs.DB cs.IT math.IT