System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() MPP数据库查询任务均衡的方法、系统、设备及介质技术方案_技高网

MPP数据库查询任务均衡的方法、系统、设备及介质技术方案

技术编号:41248833 阅读:2 留言:0更新日期:2024-05-09 23:58
本发明专利技术涉及数据查询技术领域,尤其涉及一种MPP数据库查询任务均衡的方法、系统、设备及介质,包括如下步骤:S1.确定是否存在不可用的节点,并确定直接影响分片及间接影响分片;S2.分配直接影响分片;S3.分配间接影响分片:对间接影响分片逐一采用的策略为对其表名称计算哈希值,再用哈希值对主备片数量取模,由计算结果决定把间接影响分片的任务分配给主片还是备片。本发明专利技术提供的技术方案中,通过本发明专利技术提供的方法步骤使得运算中不会出现总是某个计算节点分配到多个任务;而且由于表和计算节点之间存在映射关系,因此计算节点上比较容易管理数据缓存。

【技术实现步骤摘要】

本专利技术涉及数据查询,尤其涉及一种mpp数据库查询任务均衡的方法、系统、设备及介质。


技术介绍

1、mpp数据库通常将数据存储在多个计算节点(即多分片),查询计算时,利用多个节点并行计算的特点,提高总体性能。以8a mpp数据库为例,把一个完整的表table1(下面简写为t1)切成多个分片,每个分片有独立的表名称,命名为t1_n1、t1_n2....,进一步的,为了实现高可用性,每个分片又有备份,备份存储在不同的计算节点上,当某个计算节点不可用时,可以通过访问备份来继续查询计算。这种架构如图1所示。

2、当应用程序要访问数据库t1时,需要通过网络连接到任意一个协调器coordinator,向coordinator发送查询命令,coordinator再根据sql命令访问计算节点,再把结果汇总返回给应用程序。 t1是由t1_n1、t1_n2、t1_n3、t1_n4组成,根据查询条件,可能需要查询所有分片,也可能只查询一部分分片。

3、从图1可以看到,t1_n1存储在计算节点_1和计算节点_4,因此当查询t1_n1时,coordianator既可以访问计算节点_1也可以访问计算节点_4,为了使各个计算节点上的查询任务比较均衡,采取的策略是为每个分片定义一个主分片(图1中上侧分片),其他分片叫做备份分片(备份分片可以多于1个)。当查询t1_n1时,优先使用t1_n1的主分片来执行查询任务,对于t1_n2、t1_n3、t1_n4也是这样,因此当要查询t1的全部分片时,每个计算节点都会执行一个查询任务,天然均衡。</p>

4、当某个计算节点由于故障,不能提供查询服务时,coordinator被迫使用备份分片。

5、例如计算节点_3故障,由于t1_n3的备份存储在计算节点_2上,因此coordinator会使用计算节点_2来执行t1_n3的查询。这样,如果本次查询是查询t1的所有分片,那么最终,计算节点_2负责查询t1_n2和t1_n3,计算节点_1负责查询t1_n1,计算节点_4负责查询t1_n4。因此计算节点_2上有两个任务,其他节点都有一个任务。

6、在某个计算节点故障的情况下,计算节点上的任务数量明显不均衡,造成单节点瓶颈。这种状况随着用户查询任务的增加,以及table数量的增加,计算节点_2由于每次分配到的任务数量总是其他节点的2倍,造成计算节点_2的计算压力和内存压力远高于其他节点,响应变慢,拖慢了整体性能。

7、造成问题的原因,无论按照下列哪种分配策略,都会造成任务不均衡:

8、这里列举两种分配任务的策略:

9、(策略1)顺序分配 + 平均分配 + 主分片优先,如表1所示:

10、表1:

11、

12、结果: 分配给计算节点_2的任务数永远是分配给其他节点的2倍。

13、(策略2)先分配故障节点的分片再顺序分配 + 平均分配 + 主分片优先,如表2所示:

14、表2:

15、

16、结果: 分配给计算节点_2的任务数永远是分配给其他节点的2倍。


技术实现思路

1、本专利技术旨在至少解决相关技术中存在的技术问题之一。为此,本专利技术提供一种mpp数据库查询任务均衡的方法、系统、设备及介质。

2、一种mpp数据库查询任务均衡的方法,包括如下步骤:

3、s1.确定是否存在不可用的节点,并确定直接影响分片及间接影响分片,其中不可用的节点中存放不可用主片及不可用备片,直接影响分片为将不可用主片作为主片的分片及将不可用备片作为主片的分片,所述不可用主片及不可用备片的可用副本所在的计算节点为间接影响计算节点,所述间接影响计算节点上的除直接影响分片以外的其他分片作为间接影响分片;

4、s2.分配直接影响分片;

5、s3.分配间接影响分片:

6、对间接影响分片逐一采用的策略为对其表名称计算哈希值,再用哈希值对主备片数量取模,由计算结果决定把间接影响分片的任务分配给主片还是备片。

7、进一步的,步骤s2中直接影响分片分配策略为:将所述不可用主片及不可用备片分配到其副本所在的间接影响计算节点上。

8、进一步的,步骤s3中分配间接影响分片策略为:

9、s31.确定间接影响分片主备分片存放在的计算节点序列{计算节点_a, 计算节点_b}均可用,其中计算节点_a为主片,计算节点_b为备片;

10、s32.对间接影响分片的表名称计算哈希值:

11、hash(间接影响分片的表名称) = c,

12、其中c为间接影响分片的表名称的哈希值;

13、s33.用步骤s32中哈希值对间接影响分片主备片数量取模,

14、cmod n ,

15、其中n为间接影响分片的主副本数量;

16、s34.由计算结果决定把任务分配给主片还是备片:

17、如果结果是0则分配给计算节点_a,如果结果是1则分配给计算节点_b;

18、s35.重复s31-s34计算其他间接影响分片。

19、进一步的,所有分片中除直接影响分片及间接影响分片外为不受影响分片,所述不受影响分片的分配策略不受直接影响分片及间接影响分片分配策略影响。

20、本专利技术还提供一种mpp数据库查询任务均衡的系统,包括:

21、分片判断模块:用于确定是否存在不可用的节点,并确定直接影响分片及间接影响分片,其中不可用的节点中存放不可用主片及不可用备片,直接影响分片为将不可用主片作为主片的分片及将不可用备片作为主片的分片,所述不可用主片及不可用备片的可用副本所在的计算节点为间接影响计算节点,所述间接影响计算节点上的除直接影响分片以外的其他分片作为间接影响分片;;

22、直接影响分片分配模块:用于分配直接影响分片;

23、间接影响分片分配模块:用于分配间接影响分片:

24、对间接影响分片逐一采用的策略为对其表名称计算哈希值,再用哈希值对主备片数量取模,由计算结果决定把间接影响分片的任务分配给主片还是备片。

25、本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述一种mpp数据库查询任务均衡的方法的步骤。

26、本专利技术还提供一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述一种mpp数据库查询任务均衡的方法的步骤。

27、本专利技术提供的技术方案中,通过本专利技术提供的方法步骤使得运算中不会出现总是某个计算节点分配到多个任务;而且由于表和计算节点之间存在映射关系,因此计算节点上比较容易管理数据缓存。

28、本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。

本文档来自技高网...

【技术保护点】

1.一种MPP数据库查询任务均衡的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种MPP数据库查询任务均衡的方法,其特征在于,步骤S2中直接影响分片分配策略为:将所述不可用主片及不可用备片分配到其副本所在的间接影响计算节点上。

3.根据权利要求1所述的一种MPP数据库查询任务均衡的方法,其特征在于,步骤S3中分配间接影响分片策略为:

4.根据权利要求1所述的一种MPP数据库查询任务均衡的方法,其特征在于,所有分片中除直接影响分片及间接影响分片外为不受影响分片,所述不受影响分片的分配策略不受直接影响分片及间接影响分片分配策略影响。

5.一种MPP数据库查询任务均衡的系统,其特征在于,包括:

6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述一种MPP数据库查询任务均衡的方法的步骤。

7.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述一种MPP数据库查询任务均衡的方法的步骤。

...

【技术特征摘要】

1.一种mpp数据库查询任务均衡的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种mpp数据库查询任务均衡的方法,其特征在于,步骤s2中直接影响分片分配策略为:将所述不可用主片及不可用备片分配到其副本所在的间接影响计算节点上。

3.根据权利要求1所述的一种mpp数据库查询任务均衡的方法,其特征在于,步骤s3中分配间接影响分片策略为:

4.根据权利要求1所述的一种mpp数据库查询任务均衡的方法,其特征在于,所有分片中除直接影响分片及间接影响分片外为不受影响分片,所述不受...

【专利技术属性】
技术研发人员:姜骁
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:

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

1