将联接操作处理时间最小化的计算机实现的方法和系统技术方案

技术编号:11690289 阅读:82 留言:0更新日期:2015-07-08 00:36
本发明专利技术涉及将联接操作处理时间最小化的计算机实现的方法和系统。提供了用于基于数据库系统的估计的联接的表格分布,在数据库系统内将联接操作处理时间最小化的方法。该方法包含由一个以上的处理器估计联接的表格中的数据的值分发,其中,所述联接的表格是数据库系统的表格的两个实例之间的联接操作的结果;该方法还包括由所述一个以上的处理器确定用于在估计的值分发的属性的至少一个范围进行分区的边界,其中,在估计的值分发的属性的至少一个范围进行分区的边界与联接的表格的相同数量的行对应。方法还包含由所述一个以上的处理器确定所述属性的范围的至少一个确定的分区向所述数据库系统的处理单元的至少一个分配。

【技术实现步骤摘要】

本专利技术一般涉及数据库计算系统的领域。更具体而言,本专利技术涉及用于避免在大 规模并行处理(MPP)环境中使用范围分区的中间数据偏移处理(intermediate data skew processing)的方法和系统,以将数据集中在处理单元内用于进一步的处理。
技术介绍
数据库引擎(或者存储引擎)是底层软件组件,数据库管理系统(DBMS)使用其 从数据库计算系统创建、读出、更新和删除(CRUD)数据。数据库引擎还能够适于准备执行 计划,能够在执行数据库引擎的查询之前优化。该数据库引擎的优化基于若干处理的信息 而执行。此外,在数据库计算系统的大规模并行处理(MPP)环境下,MPP环境的重要方面是 在数据库计算系统的所有处理单元之间分发数据库计算系统的数据。在MPP环境中,在数 据库计算系统的单个查询执行期间,数据能够分发若干次。例如,数据库计算系统的联接 (join)操作要求数据再分发的处理。例如,联接算子是在关系数据库中可用的设定运算之 一。联接操作指明如何在数据库计算系统的查询中将表格相关。此外,在查询执行期间在数 据库计算系统的处理单元之间的该数据的再分发可能导致再分发的数据的中间数据偏移。 中间数据偏移涉及如下情况:数据库计算系统的一个处理单元比数据库计算系统的其他处 理单元接收了显著更多的数据,并且作为结果,数据库计算系统分配额外的时间来完成数 据库计算系统的处理操作。
技术实现思路
在本专利技术的一个实施例中,提供了用于基于数据库系统的估计的联接的表格分 布,在数据库系统内将联接操作处理时间最小化的计算机实现的方法。该方法包含由一个 以上的处理器估计联接的表格中的数据的值分发,其中,所述联接的表格是数据库系统的 表格的两个实例之间的联接操作的结果;该方法还包括由所述一个以上的处理器确定用于 在估计的值分发的属性的至少一个范围进行分区的边界,其中,在估计的值分发的属性的 至少一个范围进行分区的边界与联接的表格的相同数量的行对应。方法还包含由所述一个 以上的处理器确定所述属性的至少一个范围的确定的分区向所述数据库系统的处理单元 的至少一个分配。 在又一个实施例中,提供了用于基于数据库系统的估计的联接的表格分布,在数 据库系统内将联接操作处理时间最小化的计算机系统。计算机系统包括一个以上的处理 器、一个以上的计算机可读存储器、一个以上的计算机可读有形存储设备、以及存储在至少 一个以上的存储设备中的一个的程序指令,其由所述至少一个以上的处理器中的一个经由 所述至少一个以上的存储器中的一个执行。计算机系统还包括估计联接的表格中数据的值 分发的程序指令,其中,联接的表格是在数据库系统的表格的两个实例之间的联接操作的 结果。计算机系统还包括确定用于在估计的值分发的属性的至少一个范围进行分区的边界 的程序指令,其中,在估计的值分发的属性的至少一个范围进行分区的边界与联接的表格 的相同数量的行对应。计算机系统还包括确定将属性的至少一个范围的确定的分区向数据 库系统的处理单元的至少一个分配的程序指令。 在又一个实施例中,提供了用于基于数据库系统的估计的联接的表格分布,在数 据库系统内将联接操作处理时间最小化的计算机程序产品。计算机程序产品包括一个以上 的计算机可读有形存储设备、以及存储在至少一个以上的存储设备程序中的一个的指令。 计算机程序产品程序还包括估计联接的表格中数据的值分发的指令,其中,联接的表格是 在数据库系统的表格的两个实例之间的联接操作的结果。计算机程序产品的程序还包括确 定用于在估计的值分发的属性的至少一个范围进行分区的边界的指令,其中,在估计的值 分发的属性的至少一个范围进行分区的边界与联接的表格的相同数量的行对应。计算机程 序产品还包括确定将属性的至少一个范围的确定的分区向数据库系统的处理单元的至少 一个分配的指令。【附图说明】 本专利技术的新颖特征记载在所附的权利要求中。本专利技术将参考本专利技术的结合附图读 出时的下面的【具体实施方式】来最好理解,其中,同样的附图标记表明同样的组件,并且: 图1是依据本专利技术的实施例的、用于向数据库系统5发送请求的大规模并行处理 (MPP)数据仓库环境1的客户端服务器的常规架构。 图2绘出了概要流程图,绘出数据库系统内的数据流。统计单元11依据本专利技术的 实施例存储统计信息。 图3绘出依据本专利技术的实施例的、由最常用的内联接操作联接第一和第二数据列 R, S的示例。 图4示出依据本专利技术的实施例的、示出由左外联接操作联接第一和第二数据列 R, S的示例。 图5是绘出依据本专利技术的实施例的、由查询优化器程序在MPP数据仓库环境内执 行处理节点而执行的步骤的流程图。 图6是绘出依据本专利技术的实施例的、由查询优化器准备执行用于MPP数据仓库环 境的数据库的查询的计划而执行的步骤的流程图。 图7是绘出依据本专利技术的实施例的、由查询优化器基于MPP数据仓库环境的估计 的联接的表格分布数据库系统5,在数据库系统5内执行将联接操作处理时间最小化的步 骤的流程图。 图8是依据本专利技术的实施例的计算机系统的框图。【具体实施方式】 本专利技术的实施例包括用于将中间数据偏移最小化并将在结构化查询语言(SQL) 联接操作处理期间在大规模并行处理(MPP)数据仓库环境内在处理单元之间交换的数据 量最小化的方法。根据至少一个实施例,本专利技术包括用于依据本专利技术的实施例在MPP数据 仓库环境的处理单元内的数据分发的范围分区功能(例如自适应哈希函数)。 所属
的技术人员知道,本专利技术的各个方面可以实现为系统、方法或计算 机程序产品。因此,本专利技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、 完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方 式,这里可以统称为"电路"、"模块"或"系统"。此外,在一些实施例中,本专利技术的各个方面 还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介 质中包含计算机可读的程序代码。 可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机 可读信号介质或者计算机可读存储介质。 计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半 导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非 穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储 器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑 盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件 中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行 系统、装置或者器件使用或者与其结合使用。 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但 不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可本文档来自技高网
...

【技术保护点】
一种用于基于数据库系统的估计的联接的表格分布在所述数据库系统内将联接操作处理时间最小化的计算机实现的方法,所述计算机实现的方法包括以下步骤:由一个以上的处理器估计联接的表格中的数据的值分发,其中,所述联接的表格是数据库系统的表格的两个实例之间的联接操作的结果;由所述一个以上的处理器确定用于在估计的值分发的属性的至少一个范围进行分区的边界,其中,在估计的值分发的属性的至少一个范围进行分区的边界与联接的表格的相同数量的行对应;以及由所述一个以上的处理器确定所述属性的至少一个范围的确定的分区向所述数据库系统的处理单元的至少一个分配。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:L·加扎A·M·格鲁斯泽基T·卡扎尔斯基G·S·米尔卡K·K·斯基布斯基T·斯特兰多姆斯基
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1