[发明专利]用于大规模并行处理数据库集群中的两阶段查询优化的方法有效
申请号: | 201380067322.1 | 申请日: | 2013-12-28 |
公开(公告)号: | CN104885078B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 孙扬;周庆庆;莫罕·森格姆什提 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据节点 大规模并行处理 语义树 全局 数据库集群 查询优化 成本评估 两阶段 协调器 有效地 数据库 查询 优化 | ||
1.一种用于处理大规模并行处理MPP数据库中的查询的方法,其特征在于,所述方法包括:
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数据节点选择执行所述全局执行计划或所述本地执行计划的指令包括用于进行如下操作的指令:
根据已定义的成本模型为每个所述本地执行计划和所述全局执行计划确定成本;
当所述本地执行计划的成本低于所述全局执行计划的成本时,选择所述本地执行计划;以及
当所述本地执行计划的成本等于或大于所述全局执行计划的成本时,选择所述全局执行计划。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380067322.1/1.html,转载请声明来源钻瓜专利网。