[发明专利]分布列数据的扩容方法、装置及电子设备在审
申请号: | 202211686131.0 | 申请日: | 2022-12-27 |
公开(公告)号: | CN116225778A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 朱峰;刘杨箐;何佳佳;赵蒙;郭雁;任雪松;张靖康 | 申请(专利权)人: | 中国邮政储蓄银行股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/27 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 王晓玲 |
地址: | 100032*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布 数据 扩容 方法 装置 电子设备 | ||
本申请提供了一种分布列数据的扩容方法、装置及电子设备,该方法包括:获取数据库中的各主节点的位置信息和各副节点的位置信息,主节点和副节点一一对应,各主节点上存在多个主副本和多个备副本,主副本和备副本一一对应;根据主节点的位置信息和副节点的位置信息,将主节点上所有的备副本备份至对应的副节点上;在确定主节点上所有的备副本均已备份至对应的副节点上的情况下,删除主节点上所有的备副本;将各主节点上预定数量的主副本转换为对应的备副本,将各副节点上预定数量的备副本转换为对应的主副本。在保证副节点也有算力的基础上完成了数据的扩容,从而解决了现有方案中分布式数据库扩容效率较低的问题。
技术领域
本申请涉及数据库技术领域,具体而言,涉及一种分布列数据的扩容方法、装置、计算机可读存储介质、处理器及电子设备。
背景技术
分布式数据库是近年来因数据增长、业务复杂度提升、用户访问量变大而衍生出来的有着高性能、高可靠、易扩容的数据库。易扩容是分布式数据库的特点之一,原因是分布式数据库需要存储大量的数据,并且算力要求通常也较高,整个扩容过程无需人工干预,已有的数据会自动分发到新集群的各个节点上,数据重分布时尽量避免对业务的影响。
在分布式数据库扩容过程中,数据重分布是一项很重要的步骤,目前主流的重分布方式是在新集群上新建一张新表,通过insert into new_table select*from old_table的方式将旧的数据导入到新的表中,再通过事务模拟新旧表改名,在将新表元数据写入系统表后,最后删除掉旧表数据(如图1所示)。这种方式使用hash算法将旧表数据逐条计算该数据需要写入的节点。这个技术优势在于简单方便,算法较为成熟,适用于所有的分布式数据库扩容场景。
使用hash算法重分布数据的方式可以解决了扩容过程中的自动化问题,但也带来了各种其它的负面影响:
1.通过insert into new_table select*from old_table方式扩容有着容量局限性,在数据库需要扩容时,通常磁盘空间已经都已达到某个阈值了,而使用这种扩容方式,需要留够new_table大小的空间,因为在新表刚写入旧表还未删的时间节点,由于hash算法的局限性,在原有节点上数据占用的磁盘空间应该至少是1.5倍的原有磁盘空间占用量,因此在初始设计时需要提前考虑到容量冗余的情况。
2.在数据重分布过程中,其实就是讲原有数据插入到了现有表中,需要对旧数据逐条计算hash值,会大量占用已有节点上的读IO和CPU资源,而数据重分布过程时间通常较长,无法避免出现硬件资源抢占对业务的侵占的现象。
3.又由于hash算法的局限性,会导致部分已有节点上一边在读该节点已有的旧数据,一边又在写通过hash算法流转到该节点的数据,加上写入数据时备副本的日志需同步回放避免故障时集群不可用,IO在此阶段通常都是100%。
4.在适应insert向新表写入旧表数据时,需要满足数据库事务一致性要求,因此在数据重分布时,需要给表加上排他锁,需要暂时屏蔽掉新的DML语句,联机业务需要适当的做降级处理,扩容过程越长,对业务影响越大。
发明内容
本申请的主要目的在于提供一种分布列数据的扩容方法、装置、计算机可读存储介质、处理器及电子设备,以解决现有方案中分布式数据库扩容效率较低的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国邮政储蓄银行股份有限公司,未经中国邮政储蓄银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211686131.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置