一种分布式数据库集群中实现数据分布的方法及系统技术方案

技术编号:31740067 阅读:22 留言:0更新日期:2022-01-05 16:18
本发明专利技术涉及一种分布式数据库集群中实现数据分布的方法及系统,其包括:布置分布式存储系统用于保存数据库数据,包括元数据;将整体数据划分为多个数据分片进行管理,所述数据分片数的设置不受计算实例数或节点CPU核数限制;调度实例、所述计算实例、所述分布式存储系统通过网络相互连接,所述计算实例与所述调度实例共享集群元数据,所述计算实例支持对元数据进行缓存;通过控制所述计算实例与所述数据分片的对应关系,快速实现数据库集群的故障切换、节点替换、扩容及缩容。扩容及缩容。扩容及缩容。

【技术实现步骤摘要】
一种分布式数据库集群中实现数据分布的方法及系统


[0001]本专利技术涉及一种数据库
,特别是关于一种分布式数据库集群中实现数据分布的方法及系统。

技术介绍

[0002]如图1所示,为目前分布式数据库通常采用的架构。其中,“节点”指一台服务器,“计算实例”通常是一完整的单体数据库实例。分布式数据库将数据拆分为若干个分片,每个分片交由不同的计算实例进行处理,节点间数据无共享。调度实例是整个集群的入口,负责整个集群的管理及执行的调度,调度实例保存了整个集群的元数据;计算实例负责对应数据分片的管理及执行,保存了对应分片的数据(包括分片数据的元数据),通常一个节点上会部署多个计算实例,以充分利用节点CPU等资源。
[0003]这种结构存在的问题有:计算与存储是绑定的,无法单独扩展;当移动或扩展计算实例时,需移动大量分片数据,耗时较长;计算实例与数据分片的对应关系是固定的,且一个节点上的计算实例数与CPU核数等资源需匹配,不够灵活。
[0004]目前,也有使用分布式存储实现数据库集群的方法,虽然解耦了存储与计算,但仍存在一些问题限制了集群的灵活性,例如:计算实例与数据分片的对应关系一般仍是固定的;计算实例中仍保存了元数据,无法随意增删计算实例。

技术实现思路

[0005]针对上述问题,本专利技术的目的是提供一种分布式数据库集群中实现数据分布的方法及系统,其解耦了分布式数据库中数据库实例与数据分片的对应关系,可快速实现集群的扩容缩容等操作。
[0006]为实现上述目的,本专利技术采取以下技术方案:一种分布式数据库集群中实现数据分布的方法,其包括:布置分布式存储系统用于保存数据库数据,包括元数据;将整体数据划分为多个数据分片进行管理,所述数据分片数的设置不受计算实例数或节点CPU核数限制;调度实例、所述计算实例、所述分布式存储系统通过网络相互连接,所述计算实例与所述调度实例共享集群元数据,所述计算实例支持对元数据进行缓存;通过控制所述计算实例与所述数据分片的对应关系,快速实现数据库集群的故障切换、节点替换、扩容及缩容。
[0007]进一步,所述布置分布式存储系统用于保存数据库数据,包括:设置所述数据分片数;在一个计算节点部署一个或多个所述计算实例;设置所述计算实例与所述数据分片的对应关系,包括:所述数据分片数如果能被所述计算节点数整除,则采用将所有所述数据分片平均分配给各所述计算实例;或者,将配制高的计算节点内的所述计算实例分配的所述数据分片数多余其他所述计算实例。
[0008]进一步,所述设置所述数据分片数,满足的条件包括:在不移动数据的前提下,设置的所述数据分片数为集群计算节点最多扩展的数量;所述数据分片在所述计算节点间平均分配后,不同节点间的所述数据分片数最多相差1个,且当集群规模发生变化后,最多相
差仍为1个;所述数据分片数不大于65536个。
[0009]进一步,单个所述计算实例能管理多个所述数据分片,并可由集群动态设置;所述数据分片支持按照哈希分片和随机分片。
[0010]进一步,所述快速实现数据库集群的扩容,包括:在新扩展出的计算节点上部署计算实例;总的数据分片数不变,根据扩展后的所述计算实例数重新分配所述数据分片,无需移动数据;所述分布式存储系统根据需要利用其自有机制对存储单独进行扩展,以适用更多的存储设备。
[0011]进一步,所述快速实现数据库集群的缩容,包括:在要删除的计算节点上停用所述计算实例;总的所述数据分片数不变,根据缩容后的所述计算实例数从新分配所述数据分片,无需移动数据;所述分布式存储系统根据需要利用其自有机制对存储单独进行收缩及重建高可用副本。
[0012]进一步,所述快速实现数据库集群的故障切换,包括:删除的故障计算节点上停用所述计算实例;总的所述数据分片数不变,根据删除后的所述计算实例数从新分配所述数据分片,无需移动数据;所述集群节点替换,包括:将原计算节点停用,并将原计算节点负责的数据分片交由新计算节点负责。
[0013]一种分布式数据库集群中实现数据分布的系统,其包括:数据布置模块、元数据共享模块和应用模块;所述数据布置模块,用于布置分布式存储系统用于保存数据库数据,将整体数据划分为多个数据分片进行管理,所述数据分片数的设置不受计算实例数或节点CPU核数限制;所述元数据共享模块,调度实例、所述计算实例、所述分布式存储系统通过网络相互连接,所述计算实例与所述调度实例共享集群元数据,所述计算实例支持对元数据进行缓存;所述应用模块,通过控制所述计算实例与所述数据分片的对应关系,快速实现数据库集群的故障切换、节点替换、扩容及缩容。
[0014]一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行上述方法中的任一方法。
[0015]一种计算设备,其包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法中的任一方法的指令。
[0016]本专利技术由于采取以上技术方案,其具有以下优点:
[0017]1、本专利技术解耦了分布式数据库中数据库实例与数据分片的对应关系,部署上更加灵活。
[0018]2、本专利技术无须从物理上移动或重建数据,即可快速实现集群的扩容缩容等操作。
[0019]3、本专利技术所有数据库实例共享元数据,实现计算实例无状态,增强了集群的高可用性和可扩展性。
附图说明
[0020]图1是现有技术中的分布式数据库框架结构;
[0021]图2是本专利技术一实施例中的数据分布方法整体示意图;
[0022]图3是本专利技术一实施例中的分布式数据库集群中实现数据分布的方法示意图;
[0023]图4是本专利技术一实施例中的集群初始化示意图;
[0024]图5是本专利技术一实施例中的集群初始化(计算节点部署多个计算实例)示意图;
[0025]图6是本专利技术一实施例中的集群执行示意图;
[0026]图7是本专利技术一实施例中的集群扩容后示意图;
[0027]图8是本专利技术一实施例中的计算设备结构示意图。
具体实施方式
[0028]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例的附图,对本专利技术实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于所描述的本专利技术的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。
[0029]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0030]本专利技术提供了一种分布式数据库集群中实现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库集群中实现数据分布的方法,其特征在于,包括:布置分布式存储系统用于保存数据库数据,包括元数据;将整体数据划分为多个数据分片进行管理,所述数据分片数的设置不受计算实例数或节点CPU核数限制;调度实例、所述计算实例、所述分布式存储系统通过网络相互连接,所述计算实例与所述调度实例共享集群元数据,所述计算实例支持对元数据进行缓存;通过控制所述计算实例与所述数据分片的对应关系,快速实现数据库集群的故障切换、节点替换、扩容及缩容。2.如权利要求1所述方法,其特征在于,所述布置分布式存储系统用于保存数据库数据,包括:设置所述数据分片数;在一个计算节点部署一个或多个所述计算实例;设置所述计算实例与所述数据分片的对应关系,包括:所述数据分片数如果能被所述计算节点数整除,则采用将所有所述数据分片平均分配给各所述计算实例;或者,将配制高的计算节点内的所述计算实例分配的所述数据分片数多余其他所述计算实例。3.如权利要求2所述方法,其特征在于,所述设置所述数据分片数,满足的条件包括:在不移动数据的前提下,设置的所述数据分片数为集群计算节点最多扩展的数量;所述数据分片在所述计算节点间平均分配后,不同节点间的所述数据分片数最多相差1个,且当集群规模发生变化后,最多相差仍为1个;所述数据分片数不大于65536个。4.如权利要求1所述方法,其特征在于,单个所述计算实例能管理多个所述数据分片,并可由集群动态设置;所述数据分片支持按照哈希分片和随机分片。5.如权利要求1所述方法,其特征在于,所述快速实现数据库集群的扩容,包括:在新扩展出的计算节点上部署计算实例;总的数据分片数不变,根据扩展后的所述计算实例数重新分配所述数据分片,无需移动数据;所述分布式存储系统根据需要利用其自有机制对存储单独进行扩展,以适用更多的存储...

【专利技术属性】
技术研发人员:郑黎辉王伟哲付威刘威贺岩
申请(专利权)人:北京东方金信科技股份有限公司
类型:发明
国别省市:

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

1