[发明专利]用于对并行数据库管理系统的外连接的系统和方法有效
| 申请号: | 201080065880.0 | 申请日: | 2010-03-30 |
| 公开(公告)号: | CN102844754A | 公开(公告)日: | 2012-12-26 |
| 发明(设计)人: | A.K.阿尔-奥马里;Q.陈 | 申请(专利权)人: | 惠普发展公司;有限责任合伙企业 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/00 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 马红梅;卢江 |
| 地址: | 美国德*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 并行 数据库 管理 系统 连接 方法 | ||
背景技术
在大规模并行处理(Massively Parallel Processing,MPP)系统中,商业智能(Business Intelligence,BI)和企业数据仓库(Enterprise Data Warehouse,EDW)应用处理大量的数据。该数据(关系表集)驻留在非常大的数据库系统中,该非常大的数据库系统依靠大数目的中央处理单元(CPU)来高效地执行数据库操作。MPP系统试图在可用的处理器之间均一地分配数据,并且然后并行地施行预期操作,而不是串行地施行该操作。
基本且最常见的数据库操作之一是两个关系表之间的连接。连接操作器基于各表中的列之间的匹配准则组合来自两个表的记录。例如,通过匹配两个表上的列product_id,可以把表LINEITEM连接到表PRODUCT,以得到具有它们的产品信息的所有行项集。在查询执行树中,连接操作常常是计算开销最高的操作,并且其性能指示了该查询的整体性能。
为了并行地高效施行连接操作,该系统基于连接列(上面的示例中的product_id)的值对来自两个表的数据流进行分区。也就是说,保证具有来自任一表、或者孩子的连接列的或连接的相同值的所有记录都被发送到同一中央处理单元(CPU)。因而,所有连接匹配都可以被在每个CPU中本地地且独立于其他CPU地找到。
当记录被均匀地分配时,此按值分区模式效果好。使用良好的哈希函数确保了不同的值被均匀地(或伪随机地)分配给所有处理器。然而,良好的哈希函数不保证记录被均一地分配,因为不是所有的不同的值在该数据集中都具有相同的出现频率。当一个值具有比每个CPU的平均记录数高的出现频率时,该问题变得明显。这被称为数据倾斜(skew)或倾斜。在倾斜的情况下,通过频率值选择的CPU将处理与平均值相比显著更高数目的记录,这可能显著劣化查询响应时间。
附图说明
在以下详细描述中且参考附图来描述特定的示例性实施例,其中:
图1A是依据本发明的示例性实施例的被适配为执行倾斜外连接的系统的框图;
图1B是依据本发明的示例性实施例的被适配为执行倾斜外连接的并行数据库管理系统的框图;
图2是表示依据本发明的示例性实施例的操作器的逻辑视图的框图;
图3A是表示依据本发明的示例性实施例的用于SQL STATEMENT 1的混合交换操作器的逻辑视图的框图;
图3B是表示依据本发明的示例性实施例的用于SQL STATEMENT 2的混合交换操作器的逻辑视图的框图;
图3C是表示依据本发明的示例性实施例的查询计划134的扩展逻辑视图的框图;
图3D是表示依据本发明的示例性实施例的用于SQL STATEMENT 2的查询计划的框图;
图4是依据本发明的示例性实施例的用于执行查询的计算机可执行方法的处理流程图;
图5是示出依据本发明的示例性实施例的存储被适配成执行查询的代码的有形机器可读介质的框图。
具体实施方式
图1A是依据本发明的示例性实施例的被适配为执行查询的系统的框图。该系统通常由附图标记100指代。本领域普通技术人员将意识到:图1中所示出的功能框和设备可以包括硬件元素、软件元素或者硬件元素和软件元素这二者的组合,所述硬件元素包括电路,所述软件元素包括存储在有形机器可读介质上的计算机代码。
另外,系统100的功能框和设备是可以在本发明的示例性实施例中实施的功能框和设备的仅一个示例。基于针对特定电子设备的设计考虑,本领域普通技术人员将能够容易地定义特定的功能框。
该系统100可以包括通过网络130通信的数据库服务器102和一个或多个客户端计算机104。如图1A中所图示的,数据库服务器102可以包括并行地进行动作的多个处理器112。处理器112可以通过总线113连接到显示器114、键盘116、一个或多个输入设备118和诸如打印机120之类的输出设备。输入设备118可以包括诸如鼠标或触摸屏之类的设备。
在本发明的示例性实施例中,在大规模并行处理系统(MPP)中,该系统100可以包括多个数据库服务器102。在这样的示例性实施例中,该系统100可以包括无共享架构。
数据库服务器102还可以通过总线113连接到网络接口卡(NIC)126。NIC 126可以把数据库服务器102连接到网络130。网络130可以是局域网(LAN)、广域网(WAN)、或者另一网络配置,诸如因特网。网络130可以包括路由器、交换机、调制解调器、或者被用于互联的任何其他种类的接口设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠普发展公司;有限责任合伙企业,未经惠普发展公司;有限责任合伙企业许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080065880.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:测量直接存储器存取吞吐量
- 下一篇:钻孔机





