一种数据库管理方法、装置以及计算机存储介质制造方法及图纸

技术编号:26031118 阅读:12 留言:0更新日期:2020-10-23 21:08
本申请公开了一种数据库管理方法、装置以及计算机存储介质,该数据库管理方法包括:数据库管理方法包括:获取查询请求信息,并根据查询请求信息生成执行计划;将执行计划分发到若干个计算节点,以使若干个计算节点分别根据执行计划执行查询请求,以及记录扫描的元组数量;获取若干个计算节点的查询请求结果以及元组数量;比较若干个计算节点的元组数量,获取元组数量最大值对应的第一计算节点以及元组数量最小值对应的第二计算节点;当元组数量最大值与元组数量最小值的差距达到预设条件时,将第一计算节点的元组数据迁移到第二计算节点。通过上述方法,本申请能够动态发现数据倾斜问题,并进行数据迁移,达到最优的数据分布。

【技术实现步骤摘要】
一种数据库管理方法、装置以及计算机存储介质
本申请涉及数据库管理
,特别是涉及一种数据库管理方法、装置以及计算机存储介质。
技术介绍
目前,随着大量的业务数据和社会网络积累的各种数据越来越多,如何高效地存储数据,会对在海量的数据存储中快速查询满足条件的记录,产生较大的影响。在常规的分布式数据库中,常见的数据分布方式是hash分布(哈希分布)、范围分布和随机分布。假如存在热点数据,使用hash分布和范围分布都会导致出现了数据倾斜问题。数据倾斜带来的影响包括:有的计算节点数据量较大,而有的计算节点数据量较少,导致查询时间较长;由于有的节点上查询速度较快,资源以及释放,该部分资源没有被利用。
技术实现思路
本申请提供一种数据库管理方法、装置以及计算机存储介质,以解决现有技术容易出现数据倾斜的问题。为解决上述技术问题,本申请采用的一个技术方案是:提供一种数据库管理方法,所述数据库管理方法包括:获取查询请求信息,并根据所述查询请求信息生成执行计划;将所述执行计划分发到若干个计算节点,以使所述若干个计算节点分别根据所述执行计划执行查询请求,以及记录扫描的元组数量;获取所述若干个计算节点的查询请求结果以及元组数量;比较所述若干个计算节点的元组数量,获取所述元组数量最大值对应的第一计算节点以及所述元组数量最小值对应的第二计算节点;当所述元组数量最大值与所述元组数量最小值的差距达到预设条件时,将所述第一计算节点的元组数据迁移到所述第二计算节点。其中,所述获取所述若干个计算节点的查询请求结果以及元组数量的步骤,包括:获取所述若干个计算节点中每个元组记录以及对应的记录数量;将每个计算节点的记录数量对元组记录从大到小进行排序;将所述若干个计算节点的元组数量,每个计算节点前M个元组记录以及对应的记录数量记载到元组统计表中。其中,所述当所述元组数量最大值与所述元组数量最小值的差距达到预设条件时,将所述第一计算节点的元组数据迁移到所述第二计算节点的步骤,包括:当所述第一计算节点的元组数量至少为所述第二计算节点的元组数量的两倍时,将所述第一计算节点的元组数据迁移到所述第二计算节点。其中,所述将所述第一计算节点的元组数据迁移到所述第二计算节点的步骤,包括:将所述第一计算节点的第一元组记录迁移到所述第二计算节点,其中,所述第一元组记录即所述第一计算节点中记录数量最大的元组记录。其中,所述将所述第一计算节点的第一元组记录迁移到所述第二计算节点的步骤之后,所述数据库管理方法还包括:将数据迁移信息存储在迁移信息表中,其中,所述数据迁移信息包括所述第一元组记录以及第二计算节点。其中,所述若干个计算节点分别根据所述执行计划执行查询请求的步骤,包括:所述协调节点根据所述执行计划查找所述迁移信息表中是否存在相关记录;若是,则直接根据所述迁移信息表获取对应位置的元组数据。其中,所述将所述执行计划分发到若干个计算节点,以使所述若干个计算节点分别根据所述执行计划执行查询请求,以及记录扫描的元组数量的步骤,包括:判断所述执行计划是否包括顺序表扫描算子;若是,所述若干个计算节点分别根据所述执行计划执行查询请求,以及记录扫描的元组数量,并返回所述查询请求结果以及所述元组数量;若否,所述若干个计算节点分别根据所述执行计划执行查询请求,并返回所述查询请求结果。为解决上述技术问题,本申请采用的另一个技术方案是:提供另一种数据库管理方法,所述数据库管理方法应用于一种数据库管理系统,其中,所述数据库管理系统包括协调节点以及若干个计算节点;所述数据库管理方法包括:所述协调节点获取客户端的查询请求信息,并根据所述查询请求信息生成执行计划;所述协调节点将所述执行计划分发到所述若干个计算节点;所述若干个计算节点分别根据所述执行计划执行查询请求,以及记录扫描的元组数量,并将查询请求结果以及元组数量返回给所述协调节点;所述协调节点获取所述查询请求结果以及所述元组数量,并比较所述若干个计算节点的元组数量,获取所述元组数量最大值对应的第一计算节点以及所述元组数量最小值对应的第二计算节点;当所述元组数量最大值与所述元组数量最小值的差距达到预设条件时,所述协调节点将所述第一计算节点的元组数据迁移到所述第二计算节点。为解决上述技术问题,本申请采用的另一个技术方案是:提供一种数据库管理装置,所述数据库管理装置包括处理器和存储器;所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序以实现如上述数据库管理方法的步骤。为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机存储介质,其中,计算机存储介质存储有计算机程序,计算机程序被执行时实现上述数据库管理方法的步骤。区别于现有技术,本申请的有益效果在于:协调节点获取查询请求信息,并根据查询请求信息生成执行计划;将执行计划分发到若干个计算节点,以使若干个计算节点分别根据执行计划执行查询请求,以及记录扫描的元组数量;获取若干个计算节点的查询请求结果以及元组数量;比较若干个计算节点的元组数量,获取元组数量最大值对应的第一计算节点以及元组数量最小值对应的第二计算节点;当元组数量最大值与元组数量最小值的差距达到预设条件时,将第一计算节点的元组数据迁移到第二计算节点。通过上述方法,本申请能够动态发现数据倾斜问题,并进行数据迁移,达到最优的数据分布。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的数据库管理方法第一实施例的流程示意图;图2是本申请提供的数据库系统一实施例的结构示意图;图3是本申请提供的数据库管理方法第二实施例的流程示意图;图4是本申请提供的数据库管理方法第三实施例的流程示意图;图5是本申请提供的数据库管理方法第四实施例的流程示意图;图6是本申请提供的数据库管理装置一实施例的结构示意图;图7是本申请提供的计算机存储介质一实施例的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为解决现有技术容易出现数据倾斜的问题,本申请提出一种数据库管理方法。具体请参阅图1和图2,图1是本申请提供的数据库管理方法第一实施例的流程示意图,图2是本申请提供的数据库系统一实施例的结构示意图。本申请的数据库管理方法应用于图2的数据库系统,其中,数据库系统100包括本文档来自技高网...

【技术保护点】
1.一种数据库管理方法,其特征在于,所述数据库为分布式数据库,所述数据库管理方法包括:/n获取查询请求信息,并根据所述查询请求信息生成执行计划;/n将所述执行计划分发到若干个计算节点,以使所述若干个计算节点分别根据所述执行计划执行查询请求,以及记录扫描的元组数量;/n获取所述若干个计算节点的查询请求结果以及元组数量;/n比较所述若干个计算节点的元组数量,获取所述元组数量最大值对应的第一计算节点以及所述元组数量最小值对应的第二计算节点;/n当所述元组数量最大值与所述元组数量最小值的差距达到预设条件时,将所述第一计算节点的元组数据迁移到所述第二计算节点。/n

【技术特征摘要】
1.一种数据库管理方法,其特征在于,所述数据库为分布式数据库,所述数据库管理方法包括:
获取查询请求信息,并根据所述查询请求信息生成执行计划;
将所述执行计划分发到若干个计算节点,以使所述若干个计算节点分别根据所述执行计划执行查询请求,以及记录扫描的元组数量;
获取所述若干个计算节点的查询请求结果以及元组数量;
比较所述若干个计算节点的元组数量,获取所述元组数量最大值对应的第一计算节点以及所述元组数量最小值对应的第二计算节点;
当所述元组数量最大值与所述元组数量最小值的差距达到预设条件时,将所述第一计算节点的元组数据迁移到所述第二计算节点。


2.根据权利要求1所述的数据库管理方法,其特征在于,
所述获取所述若干个计算节点的查询请求结果以及元组数量的步骤,包括:
获取所述若干个计算节点中每个元组记录以及对应的记录数量;
将每个计算节点的记录数量对元组记录从大到小进行排序;
将所述若干个计算节点的元组数量,每个计算节点前M个元组记录以及对应的记录数量记载到元组统计表中。


3.根据权利要求2所述的数据库管理方法,其特征在于,
所述当所述元组数量最大值与所述元组数量最小值的差距达到预设条件时,将所述第一计算节点的元组数据迁移到所述第二计算节点的步骤,包括:
当所述第一计算节点的元组数量至少为所述第二计算节点的元组数量的两倍时,将所述第一计算节点的元组数据迁移到所述第二计算节点。


4.根据权利要求2所述的数据库管理方法,其特征在于,
所述将所述第一计算节点的元组数据迁移到所述第二计算节点的步骤,包括:
将所述第一计算节点的第一元组记录迁移到所述第二计算节点,其中,所述第一元组记录即所述第一计算节点中记录数量最大的元组记录。


5.根据权利要求4所述的数据库管理方法,其特征在于,
所述将所述第一计算节点的第一元组记录迁移到所述第二计算节点的步骤之后,所述数据库管理方法还包括:
将数据迁移信息存储在迁移信息表中,其中,所述数据迁移信息包括所述第一元组记录以及第二计算节点。


6...

【专利技术属性】
技术研发人员:黄乐朱林浩何林强
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:浙江;33

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

1