System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库缩容方法、数据库缩容装置、电子设备及存储介质制造方法及图纸_技高网

数据库缩容方法、数据库缩容装置、电子设备及存储介质制造方法及图纸

技术编号:41288162 阅读:3 留言:0更新日期:2024-05-11 09:36
本申请公开了一种数据库缩容方法、数据库缩容装置、电子设备及存储介质,数据库缩容方法包括从当前数据库中,确定第一数据分片以及第一数据分片的第一数据待迁移的第二数据分片;备份第二数据分片中的第二数据至缓存区,得到备份数据,并删除第二数据分片中的第二数据;迁移第一数据分片中的第一数据至第二数据分片;删除第一数据分片,获得目标数据库;导回备份数据至目标数据库,使得备份数据均匀分布于目标数据库中的各个数据分片中。本方法实现了通过移动第一数据分片以及第二数据分片中的数据,对数据库进行缩容,在数据库的缩容过程中,无需将数据库中的所有数据进行移动,提高了对数据库进行缩容的缩容效率。

【技术实现步骤摘要】

本申请属于数据库,尤其涉及一种数据库缩容方法、数据库缩容装置、电子设备及存储介质


技术介绍

1、分布式数据库(例如greenplum数据库),是在postgresql的基础上采用大规模并行处理(massively parallel processing,mpp)架构的高性能数据库,具有高可用、高扩展性和性价比高等优点。

2、在使用过程中,为了适应数据量的规模和计算处理能力的要求,通常需要对greenplum数据库进行适应性缩容处理。目前,大多数是基于备份恢复的方式实现缩容的目的。具体实现过程为:将greenplum数据库中每个数据分片上存储的数据全部备份至其它存储设备(比如,硬盘或磁盘等),然后拆解greenplum数据库,并将不满足需求的数据分片删除,利用剩余的数据分片重新构建新greenplum数据库。在新greenplum数据库运行正常后,将暂存于其它存储设备中的数据重新导入到新greenplum数据库中。

3、然而,上述缩容方式需要将greenplum数据库中的所有数据进行备份和移动,当greenplum数据库中的数据量较大时,备份和移动greenplum数据库中的数据所耗费的时间较长,导致对greenplum数据库进行缩容的缩容效率较低。


技术实现思路

1、有鉴于此,本申请实施例提供了一种数据库缩容方法、数据库缩容装置、电子设备及存储介质,以克服或者至少部分地解决以上现有技术的问题。

2、第一方面,本申请实施例提供了一种数据库缩容方法,包括:从当前数据控制中,确定第一数据分片以及第一数据分片的第一数据待迁移的第二数据分片;备份第二数据分片中的第二数据至缓存区,得到备份数据,并删除第二数据分片中的第二数据;迁移第一数据分片中的第一数据至第二数据分片;删除待第一数据分片,获得目标数据库;导回备份数据至目标数据库,使得备份数据均匀分布于目标数据库中的各个数据分片中。

3、第二方面,本申请实施例提供了一种数据库缩容装置,包括分片确定模块、备份模块、迁移模块、分片删除模块以及导回模块。分片确定模块,用于从当前数据库中,确定第一数据分片以及第一数据分片的第一数据待迁移的第二数据分片;备份模块,用于备份第二数据分片中的第二数据至缓存区,得到备份数据,并删除第二数据分片中的第二数据;迁移模块,用于迁移第一数据分片中的第一数据至第二数据分片;分片删除模块,用于删除第一数据分片,获得目标数据库;导回模块,用于导回备份数据至目标数据库,使得备份数据均匀分布于目标数据库中的各个数据分片中。

4、第三方面,本申请实施例提供了一种电子设备,包括存储器;一个或多个处理器,与存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如上述第一方面提供的数据库缩容方法。

5、第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行如上述第一方面提供的数据库缩容方法。

6、第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品在计算机设备上运行时,使得计算机设备在执行如上述第一方面提供的数据库缩容方法。

7、本申请提供的方案,通过从当前数据库中,确定第一数据分片以及第一数据分片的第一数据待迁移的第二数据分片,并备份第二数据分片中的第二数据至缓存区,得到备份数据,并删除第二数据分片中的第二数据,并迁移第一数据分片中的第一数据至第二数据分片,并删除第一数据分片,获得目标数据库,以及导回备份数据至目标数据库,使得备份数据均匀分布于目标数据库中的各个数据分片中,实现了通过移动第一数据分片以及第二数据分片中的数据,对数据库进行缩容,在数据库的缩容过程中,无需将数据库中的所有数据进行移动,提高了对数据库进行缩容的缩容效率。

本文档来自技高网...

【技术保护点】

1.一种数据库缩容方法,其特征在于,包括:

2.根据权利要求1所述的数据库缩容方法,其特征在于,所述第一数据分片包括第一主数据分片以及第一镜像分片,所述第一数据包括所述第一主数据分片的第一主数据以及所述第一镜像分片的第一副本数据;所述第二数据分片包括第二主数据分片以及第二镜像分片,所述第二数据包括所述第二主数据分片的第二主数据以及所述第二镜像分片的第二副本数据;

3.根据权利要求2所述的数据库缩容方法,其特征在于,所述确定所述第二副本数据待迁移的第三镜像分片,包括:

4.根据权利要求2所述的数据库缩容方法,其特征在于,所述第二主数据分片为基于主数据分片存储编号倒序选取的前n个主数据分片,其中,所述主数据存储编号基于哈希一致性算法对主数据分片进行存储时生成。

5.根据权利要求1所述的数据库缩容方法,其特征在于,所述从当前数据库中,确定第一数据分片以及所述第一数据分片的第一数据待迁移的第二数据分片之前,还包括:

6.根据权利要求1所述的数据库缩容方法,其特征在于,所述删除所述第一数据分片,获得目标数据库之前,还包括:

7.根据权利要求1至3中任一项所述的数据库缩容方法,其特征在于,所述当前数据库包括多个数据分片,所述从当前数据库中,确定第一数据分片以及所述第一数据分片的第一数据待迁移的第二数据分片,包括:

8.一种数据库缩容装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1至7中任一项所述的数据库缩容方法。

...

【技术特征摘要】

1.一种数据库缩容方法,其特征在于,包括:

2.根据权利要求1所述的数据库缩容方法,其特征在于,所述第一数据分片包括第一主数据分片以及第一镜像分片,所述第一数据包括所述第一主数据分片的第一主数据以及所述第一镜像分片的第一副本数据;所述第二数据分片包括第二主数据分片以及第二镜像分片,所述第二数据包括所述第二主数据分片的第二主数据以及所述第二镜像分片的第二副本数据;

3.根据权利要求2所述的数据库缩容方法,其特征在于,所述确定所述第二副本数据待迁移的第三镜像分片,包括:

4.根据权利要求2所述的数据库缩容方法,其特征在于,所述第二主数据分片为基于主数据分片存储编号倒序选取的前n个主数据分片,其中,所述主数据存储编号基于哈希一致性算法对主数据分片进行存储时生成。

5.根据权利要求1所述...

【专利技术属性】
技术研发人员:郑广宇
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:

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

1