【技术实现步骤摘要】
分布式数据库扩容方法、分布式数据库系统及计算机可读存储介质
[0001]本申请涉及通信
,尤其涉及一种分布式数据库扩容方法、分布式数据库系统及计算机可读存储介质。
技术介绍
[0002]现有分布式数据库扩容方法一般通过如图1-图3所示流程实现。具体地如图1中,分布式数据库中的数据分片通过数据传输工具(例如关系数据库MySQL原生复制)汇聚到新建的数据库中间件服务(简称为中间件)dble2,由dble2路由到各新建数据分片所在的节点服务器Node中。如图2,需客户端停下应用服务,完成增量数据的同步。如图3中,在完成数据同步后,需切换应用服务到新的数据库中间件dble2及新的分布式数据库上,以删除旧的数据库中间件及分布式数据库。
[0003]然而在实践中发现,首先现有分布式数据库扩容方案中需停下应用服务,导致应用服务有段时间不可用,停止时间取决于增量数据的大小及同步速度,通常为几分钟到几个小时。这样会影响应用服务的正常使用,影响用户体验。其次扩容期间需额外建立一套完整的数据库中间件及对应的后端节点服务器,扩容后原有的节点服务器及分布式数据库需回收,增加回收工作。再者,难以保证扩容前后分布式数据库中数据的一致性。因此亟需一种便捷地分布式数据库扩容方案。
技术实现思路
[0004]本申请实施例提供了一种分布式数据库扩容方法,能解决现有分布式扩容方法中存在的影响应用服务的正常使用、回收扩容后原有的节点服务器及分布式数据库、数据一致性难以保证等问题。
[0005]第一方面,提供了一种分布式数 ...
【技术保护点】
【技术特征摘要】
1.一种分布式数据库扩容方法,其特征在于,所述分布式数据库包括中间件及其通信连接的若干原有的第一数据分片,每个所述原有的第一数据分片部署在一个对应的节点服务器中,所述分布式数据库扩容方法包括:基于所述原有的第一数据分片扩容得到第二数据分片,所述第二数据分片位于扩容出的新的节点服务器上;基于所述原有的第一数据分片的数据,为所述第二数据分片创建所述第二数据分片的主库和从库,并在所述第二数据分片的主库和从库之间创建主从复制,在所述第一数据分片和所述第二数据分片之间创建异步复制,以将所述第一数据分片中的待同步数据异步复制于所述第二数据分片中;断开所述第一数据分片和所述第二数据分片之间的异步复制,并调整所述分布式数据库的路由配置信息,使得所述中间件能分别与所述第一数据分片和所述第二数据分片通信连接,以实现所述第一数据分片和所述第二数据分片的分别访问。2.根据权利要求1所述的分布式数据库扩容方法,其特征在于,所述为所述第二数据分片创建所述第二数据分片的主库和从库的步骤包括:在所述原有的第一数据分片所对应的节点服务器中,对所述原有的第一数据分片的数据进行全备份;使用所述原有的第一数据分片的备份,为所述第二数据分片创建所述第二数据分片的主库;对所述第二数据分片的主库进行备份,并利用所述第二数据分片的主库的备份,为所述第二数据分片创建所述第二数据分片的从库,且进一步为所述第二数据分片的主库和从库建立半同步复制,作为所述第二数据分片的主库和从库之间的所述主从复制。3.根据权利要求2所述的分布式数据库扩容方法,其特征在于,所述第一数据分片和所述第二数据分片之间创建异步复制的步骤包括:通过命令行在所述第一数据分片的从库和所述第二数据分片的主库之间创建异步复制,等待所述待同步数据在所述第一数据分片和所述第二数据分片之间的同步完成。4.根据权利要求1所述的分布式数据库扩容方法,其特征在于,调整所述分布式数据库的路由配置信息后,所述待同步数据的访问路由从所述第一数据分片调整到所述第二数据分片上。5.根据权利要求1所述的分布式数据库扩容方法,其特征在于,在将所述第一数据分片中的待同步数据异步复制于所述第二数据分片中之后,且在断开所述第一数据分片和所述第二数据分片之间的异步复制之前,先断开所述中间件与所述第一数据分片的连接,以停止对所述第一数据分片的写入;所述调整所述分布式数据库的路由配置信息的步骤包括:生成所述第二数据分片的路由配置信息;使用所述中间件的热加载功能,加载所述第二数据分片和所述第一数据分片的路由配置信息,以实现所述中间件能分别与所述第一数据分片和所述第二数据分片通信连接。6.根据权利要求1-5中任一项所述的分布式数据库扩容方法,其特征在于,在实现所述中间件能分别与所述第一数据分片和所述第二数据分片通信连接之后,还包括:删除所述第一数据分片中的所述待同步数据,和/或,删除所述第二数据分片中留存于所述第一数据分片上的数据。
7.一种分布式数据库系统,包括中间件以及其通信连接的若干原有的第一数据分片,每个所述...
【专利技术属性】
技术研发人员:阎虎青,黄炎,李恒,张沈波,梁广涛,
申请(专利权)人:上海爱可生信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。