[发明专利]用于大规模并行处理数据库集群中的两阶段查询优化的方法有效
申请号: | 201380067322.1 | 申请日: | 2013-12-28 |
公开(公告)号: | CN104885078B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 孙扬;周庆庆;莫罕·森格姆什提 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 在大规模并行处理(MPP)数据库中通过本地优化全局执行计划可以更加有效地处理查询。MPP协调器可以向MPP数据节点提供全局执行计划和语义树。随后MPP数据节点可使用全局执行计划和语义树生成本地执行计划。之后,MPP数据节点可根据成本评估选择全局执行计划或本地执行计划。 1 | ||
搜索关键词: | 数据节点 大规模并行处理 语义树 全局 数据库集群 查询优化 成本评估 两阶段 协调器 有效地 数据库 查询 优化 | ||
MPP数据节点从MPP协调器接收全局执行计划和语义树;
所述MPP数据节点根据所述语义树生成本地执行计划;以及
所述MPP数据节点选择执行所述全局执行计划或所述本地执行计划;
其中,所述根据所述语义树生成本地执行计划包括:
识别所述语义树的子树;
根据所述全局执行计划执行的约束集强化所述子树;以及
根据所述强化的子树生成所述本地执行计划。
2.根据权利要求1所述的方法,其特征在于,所述全局执行计划和所述语义树是客户作出查询以后生成的。3.根据权利要求1所述的方法,其特征在于,所述MPP数据节点选择执行所述全局执行计划或所述本地执行计划包括:根据已定义的成本模型为每个所述本地执行计划和所述全局执行计划确定成本;
当所述本地执行计划的成本低于所述全局执行计划的成本时,选择所述本地执行计划;以及
当所述本地执行计划的成本等于或大于所述全局执行计划的成本时,选择所述全局执行计划。
4.根据权利要求3所述的方法,其特征在于,所述已定义的成本模型表示所述MPP数据节点的本地配置信息,其中当生成所述全局执行计划时,所述MPP数据节点的本地配置信息不可用于所述MPP协调器。5.根据权利要求4所述的方法,其特征在于,如果数据在所述MPP数据库中的多个MPP数据节点间均匀分布,那么所述MPP协调器生成所述全局执行计划。6.根据权利要求1所述的方法,其特征在于,生成所述本地执行计划包括:根据所述MPP数据节点的本地配置信息生成所述本地执行计划,其中当所述MPP协调器生成所述全局执行计划时,所述本地配置信息不可用于所述MPP协调器。
7.根据权利要求6所述的方法,其特征在于,所述本地配置信息指定所述MPP数据节点的资源约束。8.根据权利要求6所述的方法,其特征在于,所述本地配置信息指定所述MPP数据节点存储的数据量,其中数据非均匀地在所述MPP数据库中分布,这样所述MPP数据节点存储的数据量与所述MPP数据库中的其它MPP数据节点存储的数据量不同。9.根据权利要求1所述的方法,其特征在于,所述全局执行计划执行的所述约束集包括以下项中的至少一项:结果集的顺序、结果集的独特性、所述结果集中包含的行数。10.一种MPP数据库中的大规模并行处理MPP数据节点,其特征在于,所述MPP数据节点包括:处理器;以及
计算机可读存储介质,所述计算机可读存储介质存储由所述处理器执行的程序,所述程序包括用于进行如下操作的指令:
从MPP协调器接收全局执行计划和语义树;
根据所述语义树生成本地执行计划;以及
所述MPP数据节点选择执行所述全局执行计划或所述本地执行计划;
其中,所述根据所述语义树生成本地执行计划包括:
识别所述语义树的子树;
根据所述全局执行计划执行的约束集强化所述子树;以及
根据所述强化的子树生成所述本地执行计划。
11.根据权利要求10所述的MPP数据节点,其特征在于,用于所述MPP数据节点选择执行所述全局执行计划或所述本地执行计划的指令包括用于进行如下操作的指令:根据已定义的成本模型为每个所述本地执行计划和所述全局执行计划确定成本;
当所述本地执行计划的成本低于所述全局执行计划的成本时,选择所述本地执行计划;以及
当所述本地执行计划的成本等于或大于所述全局执行计划的成本时,选择所述全局执行计划。
12.根据权利要求11所述的MPP数据节点,其特征在于,所述已定义的成本模型表示所述MPP数据节点的本地配置信息,其中当所述MPP协调器生成所述全局执行计划时,所述本地配置信息不可用于所述MPP协调器。13.根据权利要求12所述的MPP数据节点,其特征在于,如果数据在所述MPP数据库中的多个MPP数据节点间均匀分布,那么所述MPP协调器生成所述全局执行计划。14.根据权利要求10所述的MPP数据节点,其特征在于,生成所述本地执行计划包括:根据所述MPP数据节点的本地配置信息生成所述本地执行计划,其中当所述MPP协调器生成所述全局执行计划时,所述本地配置信息不可用于所述MPP协调器。
15.根据权利要求14所述的MPP数据节点,其特征在于,所述本地配置信息指定所述MPP数据节点的资源约束。16.根据权利要求14所述的MPP数据节点,其特征在于,所述本地配置信息指定所述MPP数据节点存储的数据量,其中数据非均匀地在所述MPP数据库中分布,这样所述MPP数据节点存储的数据量与所述MPP数据库中的其它MPP数据节点存储的数据量不同。17.一种大规模并行处理MPP数据库系统,其特征在于,包括:一个或多个MPP协调器,用于:从客户端接收查询;生成语义树;根据所述语义树开发执行所述查询的全局执行计划;以及将所述全局执行计划分发到多个MPP数据节点;其中,所述根据所述语义树生成本地执行计划包括:识别所述语义树的子树;根据所述全局执行计划执行的约束集强化所述子树;以及根据所述强化的子树生成所述本地执行计划;以及
所述多个MPP数据节点的第一MPP数据节点,用于:从所述一个或多个MPP协调器接收所述全局执行计划和所述语义树;根据所述第一MPP数据节点的本地配置信息使用所述语义树优化所述全局执行计划来获取优化后的执行计划;以及执行所述优化后的执行计划。
18.根据权利要求17所述的MPP数据库系统,其特征在于,在开发所述全局执行计划期间,所述本地配置信息不可用于一个或多个MPP协调器。该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201380067322.1/,转载请声明来源钻瓜专利网。