Worst-Case Optimal Algorithms for Parallel Query Processing
本文研究了在$p$服务器上并行计算大型数据库上的合取查询问题的通信复杂性。与以前的工作,在通信上的上限和下限被指定为特定的数据结构(无论是数据没有歪斜,或数据与特定类型的歪斜),在这项工作中,我们专注于最坏情况下的通信成本分析。目标是找到最坏情况下的最优并行算法,类似于[18]中针对顺序算法的工作。我们首先表明,对于一个单一的回合,我们可以获得一个最佳的最坏情况下的算法。当所有关系的大小都等于$M$时,合取查询$q$的最优负载为$O(M/p^{1/ψ^*})$,其中$ψ^*$是一个新的与查询相关的量,称为边拟填充数,它不同于查询超图的边填充数和边覆盖数.对于多轮,我们提出的算法是最佳的几类查询。最后,我们展示了一个令人惊讶的连接到外部存储器模型,它允许我们翻译并行算法到外部存储器算法。这种技术使我们能够恢复(在一个多对数因子)的I/O计算连接查询的复杂性的几个最近的结果,并获得其他类别的查询的最佳算法。
2016-04-07 cs.DB
Multi-Resource Parallel Query Scheduling and Optimization
调度查询执行计划在无共享并行系统中是特别复杂的问题,其中每个站点由本地时间共享(例如,CPU或磁盘)和空间共享(例如,存储器)资源,并通过消息传递与远程站点通信。并行查询调度的早期工作采用(a)并行任务调度的一维模型,有效地忽略了资源共享的潜在好处,或(b)全局可访问的资源单元的模型,这是只适用于共享内存架构,因为他们不能捕捉系统资源的亲和力网站。在本文中,我们开发了一种通用的方法,捕捉调度分布式,多维资源单位的所有形式的并行内部和跨查询和操作符的全部复杂性。我们提出了一个基于层次的列表调度启发式算法的独立查询任务(即,物理操作符流水线),其对于给定程度的分区并行性(具有取决于每个站点的时间共享和空间共享资源的数量以及克隆的粒度的最坏情况性能比)而言可证明是接近最优的。我们还提出了扩展来处理逻辑运算符中的阻塞约束(例如,散列连接)流水线和丛式查询计划以及在线任务到达(例如,在动态或多查询执行环境中)。我们的调度算法上实现的一个详细的仿真模型的实验验证了其有效性相比,现有的方法在现实的设置。基于我们的分析和实验结果,我们重新审视了开放的问题,设计高效的并行查询优化的成本模型,并提出了一个解决方案,捕获所有重要参数的并行执行。
2014-03-30 cs.DB
Effective Spatial Data Partitioning for Scalable Query Processing
最近,基于MapReduce的空间查询系统已经成为大规模空间数据处理和分析的一种具有成本效益和可扩展性的解决方案。基于MapReduce的系统通过划分数据并在这些分区上并行运行查询任务来实现巨大的可伸缩性。因此,有效的数据划分对于任务并行化、负载均衡至关重要,并直接影响系统性能。然而,空间数据划分的几个陷阱使这项任务特别具有挑战性。首先,数据倾斜在空间应用中非常常见。为了实现最佳查询性能,需要减少数据倾斜。其次,空间分区方法生成跨越多个分区的边界对象,并增加额外的查询处理开销。因此,需要最小化边界对象。第三,空间划分算法的高计算复杂性与大量数据相结合,需要一种有效的方法来划分,以实现整体快速查询响应。在本文中,我们提供了一个系统的评估多个空间分区方法与一组不同的分区策略,并研究其对MapReduce的空间查询的性能的影响。我们还研究了基于采样的分区方法及其对查询的影响,并提出了几种基于MapReduce的高性能空间分区方法。我们的工作的主要目标是提供一个全面的指导,最佳的空间数据分区,以支持可扩展的和快速的空间数据处理的大规模并行数据处理框架,如MapReduce。在这项工作中开发的算法是开源的,可以很容易地集成到不同的高性能空间数据处理系统。
2015-09-03 cs.DB
Skew Handling in Aggregate Streaming Queries on GPUs
如今,数据库系统要处理的数据已经变得如此之大,以至于任何传统的集中式技术都是不够的。与此同时,基于GPU的通用计算(GPGPU)最近成功地引起了数据管理社区的关注,因为它能够以较小的成本实现显著的速度提升。高效的偏斜处理是并行查询中的一个众所周知的问题,与执行环境无关。在这项工作中,我们调查的问题,在GPU上的并行聚合查询的负载不平衡的解决方案是由偏斜的数据。我们提出了一个通用的负载平衡框架,以及几个实例,我们的实验评估。据我们所知,这是第一次尝试在GPU上为数据库操作提供运行时负载平衡技术。
2013-09-03 cs.DB cs.DC
Query Density-Driven Partitioning for Spatiotemporal Load Balancing on Processing-in-Memory Systems
The University of Tokyo(东京大学);The University of Electro-Communications(电气通信大学)
针对存算一体系统中PIM-tree牺牲空间局部性导致范围聚合查询处理受阻的问题,提出查询密度驱动分区方案及B⁺-Forest,实现时空负载均衡与高效范围聚合查询,性能优于对比方案。
2026-08-03 cs.DB
Fast Parallel Hypertree Decompositions in Logarithmic Recursion Depth
数据汇集的现代趋势正在使当前主流的数据库查询处理技术达到其极限。因此,各种新的方法,有效的查询处理正在积极研究。一种这样的方法是基于超树分解(HD),这已被证明具有很大的潜力,更有效地处理复杂的查询,并具有更强的理论保证。然而,使用HD进行查询执行依赖于计算查询结构的分解的困难任务,其指导查询的高效执行。从理论结果,我们知道,纯粹的顺序方法的性能是固有的限制,但问题是容易并行化。在本文中,我们提出了第一个算法计算超树分解,非常适合并行化。所提出的算法log-k-decomp只需要对数数量的递归级别,并允许高度并行修剪的搜索空间的限制平衡分隔符。我们提供了详细的实验评估HyperBench基准,并证明我们的方法是非常有效的,特别是对于复杂的查询。
2022-04-12 cs.DB
Scripting Relational Database Engine Using Transducer
我们允许数据库用户使用过程语言编写并行关系数据库引擎的脚本。过程语言代码作为用户定义的关系查询操作符(称为transducer)执行。Transducer与关系引擎紧密集成,包括查询优化器,查询执行器,并可以像其他查询操作器一样并行执行。使用transducer,我们可以有效地执行在SQL中很难表达的查询。作为例子,我们展示了如何在并行关系数据库中运行时间序列和图形查询等。
2018-05-11 cs.DB
Parallel Query Processing with Heterogeneous Machines
本文研究异构机器上并行计算合取查询的问题,在单轮通信模型下针对同基数关系数据库给出一般成本函数的最优上下界,并为不同基数关系数据库中的笛卡尔积、连接、星型查询和三角形查询提供了匹配的上下界。
2025-03-10 cs.DB
Large-Scale Query and XMatch, Entering the Parallel Zone
当前和未来的天文调查正在产生数百万和数十亿物体的目录。为了数据采掘和互相关而在线访问这样的大数据集通常是高度期望的,因为不可行。提供这些能力对于虚拟天文台框架正变得至关重要。在本文中,我们提出了各种性能测试,显示如何使用关系数据库管理系统(RDBMS)和分区算法的分区和并行计算,我们可以方便大规模的查询和交叉匹配。
2007-01-26 cs.CE cs.DB
Technical Report: Parallel Distance Threshold Query Processing for Spatiotemporal Trajectory Databases on the GPU
处理移动对象的轨迹出现在许多应用领域,并已解决了从业者在时空数据库和地理信息系统社区。在这项工作中,我们专注于一个轨迹相似性搜索,距离阈值查询,它发现在给定的距离d内的搜索轨迹在一个时间间隔内的所有轨迹。我们展示了一个多线程实现的性能,其特点是使用一个R-树索引,并具有很高的并行效率(78%-90%)。我们介绍了一个GPGPU的实现,它避免了使用索引树,而是具有GPU友好的索引方法。我们比较多线程和GPU实现的性能,并表明,可以使用后者获得的加速比。我们提出了两类算法,SetSplit和GreedySetSplit,以创建高效的查询批次,减少内存压力和GPU上的计算成本。然而,我们发现使用固定大小的批次在实践中是足够有效的。我们开发了一个经验的性能模型,我们的GPGPU实现,可用于预测的响应时间的距离阈值查询。这个模型可以用来选择一个好的查询批量大小。
2014-09-13 cs.DB cs.DC
Parallel-Correctness and Containment for Conjunctive Queries with Union and Negation
单轮多路连接算法首先在许多服务器上重新洗牌数据,然后以并行和无通信的方式评估手头的查询。一个关键的问题是,一个给定的分配策略的洗牌是足够的计算一个给定的查询,也被称为并行正确性。本文扩展了并行正确性及其组成部分,并行可靠性和并行完整性的复杂性的研究,工会的合取查询和不否定。作为一个副产品,它示出的合取查询与否定的包含问题是coNEXPTIME完全的。
2015-12-19 cs.DB
Robust Recursive Query Parallelism in Graph Database Management Systems
本文提出一种混合morsel分发策略,在源节点和前沿两个粒度上并行化图数据库递归查询,并在Kuzu系统中验证其鲁棒性和性能优势。
2025-08-26 cs.DB cs.PF
Parallel Stream Processing Against Workload Skewness and Variance
基于键的工作负载分区是并行流处理引擎中使用的常见策略,其实现逻辑运算符中的工作线程上的有效键-值元组分布。虽然当键通常遵循静态分布时,对键的随机化散列能够平衡基于键的分区的工作负载,但是当传入数据流上发生工作负载变化时,它可能会生成较差的平衡性能。本文提出了一种新的基于键的工作负载划分框架,并给出了支持有状态操作员动态工作负载分配的实用算法。该框架结合了基于散列和显式基于键的路由策略来进行工作负载分配,该策略为少数键指定目标工作线程,并为其他键分配散列函数。当传入数据流发生短期分布波动时,系统自适应地更新包含所选键的路由表,以便在有状态操作符内以最小的迁移开销重新平衡工作负载。我们制定的再平衡操作作为一个优化问题,具有多个目标,最大限度地减少状态迁移成本,控制路由表的大小,打破工作线程之间的工作负载不平衡。尽管NP-硬度的性质背后的优化配方,我们仔细研究和证明背后的关键(重新)路由和状态迁移的算法,以促进快速响应的工作量变化与可分配的成本在分布式系统中的正常处理。对合成数据和真实世界流应用的实证研究验证了我们的建议的有用性,并证明了我们的方法在文献中的最先进的解决方案的巨大优势。
2016-12-13 cs.DB cs.DC
Adding Domain Knowledge to Query-Driven Learned Databases
本文针对查询驱动学习型基数估计器依赖大量标注查询且分布外错误严重的问题,提出基于约束的半监督学习方法,将传统优化器的领域知识融入学习型查询优化,从而提升基数估计准确性、减少标注依赖并增强端到端性能鲁棒性。
2023-12-02 cs.DB
Communication Steps for Parallel Query Processing
我们考虑的问题,计算一个关系查询$q$上的大型输入数据库的大小$n$,使用大量的$p$的服务器。计算是按轮执行的,每个服务器只能接收$O(n/p^{1-\varepsilon})$位数据,其中$\varepsilon \in [0,1]$是控制复制的参数。我们研究了计算$q$需要多少全局通信步骤。我们在两种情况下建立下限和上限。对于一个单一的一轮通信,我们给出了最强的可能的模型,任意位可以交换的下界,我们表明,任何算法都需要$\varepsilon \geq 1-1/τ^*$,其中$τ^*$是分数顶点覆盖的超图的$q$。我们还给出了一个算法,匹配的下限为特定类别的数据库。对于多轮通信,我们提出了一个模型中的元组的路由决策是基于元组的下限。我们表明,类树查询轮数和空间指数$\varepsilon$之间存在一个折衷。多轮的下限是同类中的第一个。我们的结果也意味着传递闭包不能在O(1)轮的通信中计算。
2013-06-25 cs.DB
JSPIM: A Skew-Aware PIM Accelerator for High-Performance Databases Join and Select Operations
JSPIM 通过算法-硬件协同设计加速数据库的 hash join 与 select 查询,利用 subarray 级并行和 rank 级处理缓解数据 skew,相比 DuckDB 实现了最高 1000 倍的查询加速和 2.5 倍的整体吞吐量提升。
2025-08-11 cs.AR cs.DB cs.PF
PI : a Parallel in-memory skip list based Index
由于数据访问的粗粒度和锁存器的大量使用,B树家族中的索引对于内存中的数据库并不高效,特别是在当今的多核架构的上下文中。在本文中,我们提出了PI,一个并行的内存中的跳表为基础的索引,本身自然的并行和并发的环境,特别是与非均匀的内存访问。在PI中,传入的查询被收集,并在多个线程之间分开分布以进行处理,以避免使用锁存器。对于每个查询,PI以广度优先搜索(BFS)的方式遍历索引,以找到具有匹配键的列表节点,利用SIMD处理来加速搜索过程。为了使查询处理是无锁存的,PI采用了一个轻量级的通信协议,使线程之间重新分配查询工作负载,这样每个列表节点,将被修改为查询处理的结果将被访问的正是一个线程。我们进行了大量的实验,结果表明,PI可以达到三倍的速度为Mastree,一个国家的最先进的B树为基础的索引。
2016-01-02 cs.DB cs.DC
Query-driven Frequent Co-occurring Term Extraction over Relational Data using MapReduce
在本文中,我们研究了如何有效地计算\textit{frequent co-occurring terms}(FCT)的关键字查询的结果,并行使用流行的MapReduce框架。以关键字查询q和整数k作为输入,FCT查询报告不在q中但在多个联接关系上的关键字查询q的结果中最频繁出现的k个术语。FCT搜索的返回词可用于传统关键字搜索的查询扩展和查询细化。与在单一平台上进行FCT搜索的方法不同,本文提出的方法可以有效地使用MapReduce范式来回答FCT查询,而无需预先计算原始关键字查询的结果,该方法可以在并行平台上运行。在这项工作中,我们可以通过两个MapReduce作业输出最终的FCT搜索结果:第一个是提取数据的统计信息;第二个是根据第一个作业的输出计算每个术语的总频率。在这两个MapReduce作业中,我们将尽可能地保证映射器的负载平衡和归约器的计算平衡。分析和实验评估表明,我们提出的方法使用不同大小的TPC-H基准数据集的效率和可扩展性。
2013-01-11 cs.DB
MOIST: A Scalable and Parallel Moving Object Indexer with School Tracking
基于位置的服务(LBS)正在迅速成为广泛的移动应用的下一个无处不在的技术。为了支持需要最近邻和历史查询的应用程序,LBS空间索引器必须能够有效地更新,查询,存档和挖掘位置记录,这些记录可能会相互竞争。在这项工作中,我们提出了MOIST,其基线是一个递归的空间分区索引BigTable上建立。为了减少更新和查询争用,MOIST将附近具有相似轨迹的对象分组到同一个学校,并仅跟踪学校领导者的历史。这种动态聚类方案可以消除冗余更新,从而减少更新延迟。为了改进历史查询处理,MOIST在内存中保留一些历史数据,同时以本地保留的方式将过时的数据刷新到并行磁盘上。通过实验研究,我们表明,MOIST可以支持高效的最近邻居和历史查询,并可以扩展以及随着用户数量和更新频率的增加。
2012-08-21 cs.DB
HoneyComb: A Parallel Worst-Case Optimal Join on Multicores
本文提出 HoneyComb,一种面向多核共享内存系统的并行最坏情况最优连接算法,通过对所有查询变量域进行分区、引入急切构建的 CoCo 索引以及重写 WCOJ 计划消除冗余计算,解决了现有并行 WCOJ 的工作倾斜、线程争用和冗余计算问题。
2025-02-10 cs.DB
CUBES: A Parallel Synthesizer for SQL Using Examples
针对现有SQL综合器未利用多核架构且易因示例不完备偏离用户意图的问题,本文提出并行综合器CUBES,结合模糊测试消歧流程,在约4000条查询的测试中,求解能力、并行扩展性和准确率均优于现有最优方案。
2024-02-01 cs.DB cs.PL cs.SE
Terascale Query Processing in the Browser: Rethinking GPU Acceleration
University of Illinois Chicago(伊利诺伊大学芝加哥分校);Utah State University(犹他州立大学);Syracuse University(雪城大学);Washington State University(华盛顿州立大学)
研究针对递归数据库查询的GPU加速,提出基于WebGPU计算着色器的WGLog引擎,利用无原子排序数组连接和异步执行管道两项创新技术,在代表性工作负载上比原生GPU系统加速1.48至4.68倍,远超CPU和WebAssembly实现。
2026-07-21 cs.DB
Fast OLAP Query Execution in Main Memory on Large Data in a Cluster
主存列存储已被证明是有效的处理分析查询。尽管如此,集群背景下的工作要少得多。仅使用一台机器会带来一些限制:处理能力和数据量受限于一个紧密耦合系统上的核心和主内存的数量。为了能够处理更大的数据集,切换到集群是必要的。在这项工作中,我们探索的技术,同时最大限度地利用现有的硬件在并行数据库集群中的大量数据的分析SQL查询的有效执行。这包括预编译查询计划,以实现高效的CPU利用率、在单个节点上和跨集群的完全并行化以及高效的节点间通信。我们在一个原型中实现了所有功能,用于运行TPC-H基准查询的一个子集。我们评估我们的实现使用一个128节点的集群运行TPC-H查询与30 000千兆字节的未压缩数据。
2017-09-15 cs.DB cs.DC
Join Indices for Search Engines: a Prunable Parallel Semijoin over Lucene Segments
Reksoft(瑞克索夫)
该研究将关系型系统的Valduriez连接索引技术应用于Lucene段存储,提出可剪枝并行半连接算法,原型在Solr上实现,大幅降低了多产品SKU连接的查询延迟,且优势随负载提升。
2026-08-04 cs.DB cs.IR
High-Speed Query Processing over High-Speed Networks
现代数据库集群需要两个级别的网络:在小型服务器中连接CPU和NUMA区域,在大型服务器中连接多个服务器。这两种类型的网络之间的巨大性能差距曾经降低了分布式查询处理的速度,以至于机器集群的性能实际上比单个众核服务器更差。集群的主存容量增加仍然是这种横向扩展的唯一好处。InfiniBand等高速互连的经济可行性大大缩小了这一性能差距。然而,当分布式查询引擎保持不变时,仅凭InfiniBand的更高网络带宽并不能像预期的那样提高查询性能。分布式查询处理的可扩展性受到TCP开销、由于不协调的通信而引起的交换机争用以及由于经典交换操作符模型的可扩展性而导致的负载不平衡的损害。本文提出了一个分布式查询引擎,解决这些问题的蓝图,从整体上考虑这两个层次的网络。它由两部分组成:第一,混合并行性,区分本地和分布式并行性,以便在核心数量和服务器数量方面都具有更好的可扩展性。第二,一种新型的通信多路复用器,专为分析数据库工作负载量身定制,使用远程直接内存访问(RDMA)和低延迟网络调度进行高速通信,几乎没有CPU开销。使用TPC-H基准测试的HyperPer数据库系统内的广泛评估表明,我们的整体方法确实能够在高速网络上进行高速查询处理。
2015-11-02 cs.DB cs.DC
Parallel R-tree-based Spatial Query Processing on a Commercial Processing-in-Memory System
Missouri University of Science and Technology(密苏里科技大学);Northern Arizona University(北亚利桑那大学)
本文提出在商业PIM硬件上执行R树范围查询的方法,通过广播机制实现高效并行处理,提升空间查询的可扩展性和能效。
2026-04-15 cs.DB cs.DC