System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据表分片的优化方法、装置、设备及产品制造方法及图纸_技高网

数据表分片的优化方法、装置、设备及产品制造方法及图纸

技术编号:44197144 阅读:14 留言:0更新日期:2025-02-06 18:34
本发明专利技术公开了一种数据表分片的优化方法、装置、设备及产品,包括:数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数;数据表中跨分片JOIN操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键;本发明专利技术公开的一种数据表分片的优化方法、装置、设备及产品,能够根据数据量以及请求模式的变化情况,随时动态调整数据表的分片,避免数据倾斜或某一数据节点负载过高,提升数据库的整体运行性能。

【技术实现步骤摘要】

本专利技术属于数据库领域,尤其是涉及一种数据表分片的优化方法、装置、设备及产品


技术介绍

1、随着云计算和分布式技术的迅猛发展,基于分布式数据库进行业务开发使用也越来越普及,在现有技术条件下,传统分布式数据库使用的静态数据表分片方式,可能导致性能瓶颈和负载不均衡,特别是在数据量和请求模式变化时尤为明显,与此同时,传统的分布式数据库分片键在建表时需要确定,因此难以满足不同的业务系统负载和数据量动态变化的需求,从而导致数据库的性能得不到提升,甚至存在性能下降和资源浪费的问题。


技术实现思路

1、有鉴于此,本专利技术旨在克服现有技术中的缺陷,提出一种数据表分片的优化方法、装置、设备及产品。

2、为达到上述目的,本专利技术的技术方案是这样实现的:

3、第一方面,本专利技术公开了一种数据表分片的优化方法,包括:

4、数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数;

5、数据表中跨分片join操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键;

6、根据重新确定的数据表的分片数和/或重新确定的数据表的分片键,重新对数据表进行分片优化。

7、在本专利技术的另一个实施例中,数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,包括:数据节点的磁盘io使用率、cpu使用率以及网络宽带使用率三者中任一大于80%。

8、在本专利技术的另一个实施例中,数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数,包括:

9、获取数据表的总行数以及占用磁盘空间容量;

10、获取所有的数据节点到达设定资源使用率时储存的数据行数的最小值作为第一最大数据容量;

11、获取所有数据节点设定比例的额定存储容量的最小值作为第二最大数据容量;

12、总行数与第一最大数据容量的比值取整后作为数据表的第一分片数,占用磁盘空间容量与第二最大数据容量的比值取整后作为数据表的第二分片数,第一分片数或第二分片数作为重新确定的数据表的分片数。

13、在本专利技术的另一个实施例中,数据节点到达设定资源使用率,包括:数据节点到达到设定的磁盘io使用率、设定的cpu使用率以及设定的内存使用率中的任一。

14、在本专利技术的另一个实施例中,数据表中跨分片join操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键,包括:获取满足设定条件的时间段内的所有sql语句作为关键sql语句,跨分片join操作的频率和时间是关键sql语句中的跨分片join操作的频率和时间;设定条件用于确定数据节点处于高负载运行状态。

15、在本专利技术的另一个实施例中,重新确定数据表的分片键,包括:使用数据表的主键作为分片键。

16、在本专利技术的另一个实施例中,根据重新确定的数据表的分片数和/或重新确定的数据表的分片键,重新对数据表进行分片优化,包括:

17、生成当前时间t的数据表的快照,且同步到以重新确定的数据表的分片数和/或重新确定的数据表的分片键建立的数据表中,建立时间t开始的预写日志,并转发预写日志到数据表的新分片上进行重演。

18、第二方面,本专利技术公开了一种数据表分片的优化装置,装置包括:

19、分片数确定模块,用于数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数;

20、分片键确定模块,用于数据表中跨分片join操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键;

21、重新分片模块,用于根据重新确定的数据表的分片数和/或重新确定的数据表的分片键,重新对数据表进行分片优化。

22、第三方面,本专利技术公开了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述方法。

23、第四方面,本专利技术公开了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。

24、相对于现有技术,本专利技术具有以下优势:

25、本专利技术公开了一种数据表分片的优化方法、装置、设备及产品,包括:数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数;数据表中跨分片join操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键;本专利技术公开的一种数据表分片的优化方法、装置、设备及产品,能够根据数据量以及请求模式的变化情况,随时动态调整数据表的分片,避免数据倾斜或某一数据节点负载过高,提升数据库的整体运行性能。

本文档来自技高网...

【技术保护点】

1.一种数据表分片的优化方法,其特征在于,包括:

2.根据权利要求1一种数据表分片的优化方法,其特征在于,所述数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,包括:数据节点的磁盘IO使用率、CPU使用率以及网络宽带使用率三者中任一大于80%。

3.根据权利要求2一种数据表分片的优化方法,其特征在于,所述数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数,包括:

4.根据权利要求3一种数据表分片的优化方法,其特征在于,所述数据节点到达设定资源使用率,包括:数据节点到达到设定的磁盘IO使用率、设定的CPU使用率以及设定的内存使用率中的任一。

5.根据权利要求1一种数据表分片的优化方法,其特征在于,所述数据表中跨分片JOIN操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键,包括:获取满足设定条件的时间段内的所有SQL语句作为关键SQL语句,跨分片JOIN操作的频率和时间是关键SQL语句中的跨分片JOIN操作的频率和时间;设定条件用于确定数据节点处于高负载运行状态。

6.根据权利要求1一种数据表分片的优化方法,其特征在于,所述重新确定数据表的分片键,包括:使用数据表的主键作为分片键。

7.根据权利要求1一种数据表分片的优化方法,其特征在于,所述根据重新确定的数据表的分片数和/或重新确定的数据表的分片键,重新对数据表进行分片优化,包括:

8.一种数据表分片的优化装置,其特征在于:所述装置包括:

9.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行根据权利要求1至7中任一项所述方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述方法。

...

【技术特征摘要】

1.一种数据表分片的优化方法,其特征在于,包括:

2.根据权利要求1一种数据表分片的优化方法,其特征在于,所述数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,包括:数据节点的磁盘io使用率、cpu使用率以及网络宽带使用率三者中任一大于80%。

3.根据权利要求2一种数据表分片的优化方法,其特征在于,所述数据表分片所在的任一数据节点的运行负载大于第一设定阈值时,则根据数据表与数据节点的最大数据承载能力,重新确定数据表的分片数,包括:

4.根据权利要求3一种数据表分片的优化方法,其特征在于,所述数据节点到达设定资源使用率,包括:数据节点到达到设定的磁盘io使用率、设定的cpu使用率以及设定的内存使用率中的任一。

5.根据权利要求1一种数据表分片的优化方法,其特征在于,所述数据表中跨分片join操作的频率和时间的乘积到达第二设定阈值时,则重新确定数据表的分片键,包括:获取满足设定条件的时间段内的所有s...

【专利技术属性】
技术研发人员:汤晶磊
申请(专利权)人:苏州吉呗思数据技术有限公司
类型:发明
国别省市:

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

1