CN106844510A - 一种分布式数据库集群的数据迁移方法和装置 - Google Patents

一种分布式数据库集群的数据迁移方法和装置 Download PDF

Info

Publication number
CN106844510A
CN106844510A CN201611232054.6A CN201611232054A CN106844510A CN 106844510 A CN106844510 A CN 106844510A CN 201611232054 A CN201611232054 A CN 201611232054A CN 106844510 A CN106844510 A CN 106844510A
Authority
CN
China
Prior art keywords
data
cluster
node
burst
database node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611232054.6A
Other languages
English (en)
Other versions
CN106844510B (zh
Inventor
黄海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201611232054.6A priority Critical patent/CN106844510B/zh
Publication of CN106844510A publication Critical patent/CN106844510A/zh
Application granted granted Critical
Publication of CN106844510B publication Critical patent/CN106844510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式数据库集群的数据迁移方法和装置,所述集群包括m个数据库节点,所述集群还包括n个分片,每个所述数据库节点负责存储一个或多个分片的数据;所述方法包括:按设定的分配方式,将进入集群的数据分配到相应的分片上;当集群内需要数据迁移时,确定需要数据迁移的数据库节点;在确定的数据库节点管理的分片中,选择出需要迁出的分片;将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。本发明所述数据迁移方案,支持了单节点扩容数据迁移、集群整体扩容数据迁移等多种场景,通用性强。

Description

一种分布式数据库集群的数据迁移方法和装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种分布式数据库集群的数据迁移方法和装置。
背景技术
随着互联网技术的飞速发展,用户产生了越来越多的数据。而这些海量数据的可靠存储及使用则成为了计算机技术的关键所在。技术上既要保证海量数据的存储安全性,又要保证这些数据的可用性,使得海量数据的用户能够高效的、透明的使用数据。分布式系统则给出了海量数据的存储和使用解决方案。分布式系统作为海量数据存储,需要解决的一个重要问题便是决定数据在集群中的分布策略,好的分布策略应该能将数据均衡地分布到所有节点上,并且还应该能适应集群节点的变化。由此可见,数据迁移在解决分布式存储系统集群扩容、跨机房数据迁移等数据同步至关重要。
数据迁移是大规模存储系统实现负载平衡的重要手段,可有效提高数据访问的性能。其应用场景包括跨机房完整数据迁移、集群扩容数据迁移、单节点扩容数据迁移和设备故障数据迁移等。
目前,比较常用的数据迁移方案包括:一致性哈希方案,如图1所示,为一致性哈希方案的示意图。一致性哈希方案具有如下特点:
1,一致性哈希将整个哈希值空间组织成一个虚拟的圆环;
2,如图1-1所示,将各个节点使用哈希函数进行一个哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每个节点就能确定其在哈希环上的位置。接下来将数据key使用相同的哈希函数计算出哈希值,根据得出的哈希值确定数据在环上的位置,从此位置沿环顺时针“行走”,第一台遇到的节点就是其应该定位到的节点。如A,B定位到S2,C定位到S3,D定位到S1;
3,如图1-2所示,节点S3故障时的数据迁移:可以看到此时A、B、D不会受到影响,只有C节点被重定位到S1。由此可见,在一致性哈希算法中,如果一个节点不可用,则受影响的数据是此节点到其环空间中前一节点之间数据,其它不会受到影响
4,如图1-3所示,扩容增加节点S4:原本存储在节点S2的数据A重新定位到节点S4,需要迁移数据。由此可见,在一致性哈希算法中,如果增加一个节点,将影响新增加节点和前一节点之间的数据;
5,如图1-4,一致性哈希算法在实现中引入虚拟节点机制,即对每一个服务节点计算多个哈希,每个计算结果位置都放置一个服务节点,称为虚拟节点。这样避免了数据倾斜问题。
然而,一致性哈希方案在数据迁移方面具有如下缺点:
1,在集群整体数据量上升需要扩容时,增加一个节点只分担了原节点中一个节点的数据量,不能对整体进行均衡;这样很会造成数据分布不均衡,给整个系统引入访问瓶颈,更不能解决整体扩容的问题;倍增所有节点又带来资源的浪费;
2,单个节点进行扩容数据迁移时,需要对原节点上所有的数据进行再哈希,性能显然较低;
3,不能支持由于机房升级等带来的跨机房完整数据迁移。
发明内容
鉴于上述问题,提出了本发明以便提供一种解决上述问题或者至少部分解决上述问题的分布式数据库集群的数据迁移方法和装置。
依据本发明的一个方面,提供一种分布式数据库集群的数据迁移方法,所述集群包括m个数据库节点,所述集群还包括n个分片,每个所述数据库节点负责存储一个或多个分片的数据,所述n大于m;所述方法包括:
按设定的分配方式,将进入集群的数据分配到相应的分片上;
当集群内需要数据迁移时,确定需要数据迁移的数据库节点;
在确定的数据库节点管理的分片中,选择出需要迁出的分片;
将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。
可选地,所述按设定的分配方式,将进入集群的数据分配到相应的分片上,包括:将进入集群的数据的键key通过哈希后对n取模,将所述数据分配到分片标识与取模后的值相同的分片上。
可选地,当集群整体数据量过载,需要集群内数据迁移时,指定的数据库节点为新增的数据库节点;当集群内单数据库节点数据量过载,需要集群内数据迁移时,指定的数据库节点为集群内未发生数据量过载的数据库节点中的一个或多个。
可选地,当集群整体数据量过载,需要集群内数据迁移时,所述确定需要数据迁移的数据库节点,包括:
统计每个分片的数据量,根据每个分片的数据量得到各数据库节点所管理的分片的数据总量;
求取每个数据库节点所管理的分片的数据总量的平均值,确定出数据总量超出所述平均值的数据库节点为需要数据迁移的数据库节点。
可选地,本发明所述方法还包括:
当需要集群间数据迁移时,启动新集群内的主节点,并将新集群内的主节点设置为旧集群相应主节点的从节点;
通过主从同步的方式,将旧集群中主节点的数据同步到所述新集群中的主节点;
在新旧集群的主节点间同步完成后,启动新集群内的从节点,进行新集群内的主从节点的数据同步,并将旧集群的读写流量切换到新集群。
可选地,所述新、旧集群内均划分有多个数据库节点组,每个数据库节点组内均设有主节点和从节点,且每个数据库节点组内的主节点负责本组内的数据同步。
依据本发明的另一个方面,提供一种分布式数据库集群的数据迁移装置,所述集群包括m个数据库节点,所述集群还包括n个分片,每个所述数据库节点负责存储一个或多个分片的数据,所述n大于m;所述装置包括:
数据分配模块,用于按设定的分配方式,将进入集群的数据分配到相应的分片上;
迁移处理模块,用于当集群内需要数据迁移时,确定需要数据迁移的数据库节点,在确定的数据库节点管理的分片中,选择出需要迁出的分片,将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。
可选地,所述数据分配模块,具体用于将进入集群的数据的键key通过哈希后对n取模,将所述数据分配到分片标识与取模后的值相同的分片上。
可选地,当集群整体数据量过载,需要集群内数据迁移时,指定的数据库节点为新增的数据库节点;当集群内单数据库节点数据量过载,需要集群内数据迁移时,指定的数据库节点为集群内未发生数据量过载的数据库节点中的一个或多个。
可选地,当集群整体数据量过载,需要集群内数据迁移时,所述迁移处理模块,具体用于统计每个分片的数据量,根据每个分片的数据量得到各数据库节点所管理的分片的数据总量,求取每个数据库节点所管理的分片的数据总量的平均值,确定出数据总量超出所述平均值的数据库节点为需要数据迁移的数据库节点。
可选地,所述迁移处理模块,还用于当需要集群间数据迁移时,启动新集群内的主节点,并将新集群内的主节点设置为旧集群相应主节点的从节点,通过主从同步的方式,将旧集群中主节点的数据同步到所述新集群中的主节点,并在新旧集群的主节点间同步完成后,启动新集群内的从节点,进行新集群内的主从节点的数据同步,并将旧集群的读写流量切换到新集群。
可选地,所述新、旧集群内均划分有多个数据库节点组,每个数据库节点组内均设有主节点和从节点,且每个数据库节点组内的主节点负责本组内的数据同步。
本发明有益效果如下:
本发明所述数据迁移方案,支持了单节点扩容数据迁移、集群整体扩容数据迁移和跨机房数据迁移多种场景,通用性强;
另外,本发明在扩容数据迁移时,支持为单节点进行扩容和整个集群进行扩容,使得扩容数据迁移更为灵活可用,可以解决集群下单个节点过载和整个集群过载两种场景的扩容问题;
再者,本发明在集群自动扩容方面,增加节点后,自主地根据每个节点的数据量进行数据迁移,使得数据量尽可能的平均分配,这样能够很好地平衡节点数据访问量,使得分布式存储系统整体性能达到最佳效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一致性哈希方案的示意图;
图2为本发明实施例中数据分片原理图;
图3为本发明第一实施例提供的一种分布式数据库集群的数据迁移方法的流程图;
图4为本发明实施例中集群整体数据量过载时扩容数据迁移示意图;
图5为本发明实施例中跨机房数据迁移的示意图;
图6为本发明第二实施例提供的一种分布式数据库集群的数据迁移装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决分布式存储系统中扩容时现有数据迁移方法带来的数据分布不均衡问题,以及不支持跨机房数据迁移的问题,本发明实施例提供一种分布式数据库集群的数据迁移方法和装置。本发明实施例的核心思想在于:设置n个分片,不管节点如何变化分片的数量不变。每条数据都经过哈希后落入一个分片。每个节点负责若干个分片的数据存储工作。当单节点数据量过载需要扩容进行数据迁移时,将指定节点的指定分片数据迁移到新节点;对集群整体数据量过载需要扩容进行数据迁移时,通过获取各个分片的近似数据量,在当前分片分布的基础上尽量均衡的选择需要迁移的分片,并将该分片的数据迁移到新的节点上。同时该数据迁移方法能够支持跨机房情况下的完整数据迁移。
下面通过几个具体实施例对本发明的具体实施过程进行详细阐述。
在本发明第一实施例中,提供一种分布式数据库集群的数据迁移方法,本实施例所述的集群包括m个数据库节点,进一步地,本发明实施例还为集群设置有n个分片,每个所述数据库节点负责存储一个或多个分片的数据,而每个分片与节点的对应关系都存放的键值存储系统ETCD中。进入集群的数据按设定的分配方式被分配到相应的分片上,其中n大于m。
如图2所示,为本发明实施例所述的数据分片原理图。由图可知,本实施例中所述集群具有2048个分片,每一条到来的数据,对数据的key通过哈希后对2048取模使得数据落到其中一个分片中。即,每个分片都具有分片标识,各分片标识构成整个哈希值空间组织。当对数据的key通过哈希并对2048取模后的值一定会与某分片的分片标识相匹配,将数据发送到匹配的分片上。
本发明实施例中,当集群内需要数据迁移时,迁移操作如图3所示,包括如下步骤:
步骤S301,确定需要数据迁移的数据库节点;
步骤S302,在确定的数据库节点管理的分片中,选择出需要迁出的分片;
步骤S303,将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。
本实施例中,集群内需要数据迁移分为两种场景,一种场景是单节点数据量过载需要进行数据迁移,另一种是集群整体数据量过载需要进行数据迁移。
针对第一种场景,需要数据迁移的数据库节点即为数据量过载的数据库节点,而步骤S303中的指定的数据库节点为集群内的一个或多个数据库节点。
本实施例中,由于每个数据库节点负责存储指定分片的数据,所以,在确定数据库节点的数据量是否过载时,统计每个分片的数据量,在统计各分片的数据量后,即可得到每个数据库节点的数据量。当该数据量满足设定的过载标准时,判定发生数据量过载。
针对第二中场景,需要对集群进行扩容,即在集群中增加一个或多个数据库节点。此时,步骤S303中的指定数据库节点即为新增的数据库节点。
本实施例中,首先统计每个分片的数据量,进而得到每个数据库节点的数据量,判定数据量大于新加入数据库节点后每个数据库节点平均理论数据量的数据库节点为需要数据迁移的数据库节点。如图4所示,为集群整体数据量过载需要扩容,新加入数据库节点后每个数据库节点平均理论数据量为100,则在节点1和节点2中选取分片进行数据迁移。
本发明实施例中,在需要数据迁移的数据库节点管理的分片中选择需要迁出的分片时,要使得本节点的数据量不再过载,所以,选取需要迁移的分片的个数要根据具体情况而定,或者,可以预先设定选取策略,根据选取策略来确定需要迁出的分片。本领域技术人员可以根据需求灵活的设定选取策略,本发明不对其选取方式做唯一限定。
进一步地,本发明实施例中,当进行数据迁移后,还需要修改ETCD配置信息,以将所有选择出来需要迁移的分片修改为新节点负责存储。
另外,对每个分片执行数据迁移后,从原节点同步到新节点上,每完成一个分片的数据迁移后删除原节点上的该分片下的数据。
在本发明的又一实施例中,本实施例所述方法还可进行跨机房数据迁移,具体的,对于更换机房,需要跨机房完整数据迁移时:
首先,停止旧集群的写入操作;
其次,启动新集群的主节点,将新集群的主节点设置为旧集群主节点的从节点;
第三,按照主从同步的方式,将旧集群主节点下的数据同步给新集群的主节点,具体如图5中的步骤(1);
第四,主从同步完成后,断开新、旧集群主节点之间的连接。这时新集群的主节点已经正式切换为新集群的主;
第五,启动新集群的从节点,完成主从同步;具体如图5中的步骤(2);
第六,新集群主从同步完成后,将所有读、写流量切换到新集群,完成跨机房数据迁移。
本发明实施例中,可以将所述集群内的数据库节点划分为多个组,每个组内设有多个数据库节点,每组内均有一个主节点,除主节点外,其他节点均为从节点。集群内从节点定时将本节点的数据同步到主节点,可选地,主节点负责实现从节点间的数据同步。
进一步地,本发明实施例中,新、旧集群内的主节点个数相同,实现一对一的主从同步。
综上可知,本发明实施例所述方法既支持单节点扩容数据迁移,又支持集群整体扩容数据迁移。其中,单节点扩容数据迁移允许对特定节点的指定分片进行扩容数据迁移,这在用户数据分布极其不均匀的情况下,支持对单个节点进行扩容;另外,集群整体扩容数据迁移能够根据数据量分布情况选择需要迁移的分片,能够尽可能平衡数据访问量,使得分布式存储系统性能达到最优。
进一步地,本发明实施例所述方法在支持扩容数据迁移的同时,还能够支持跨机房全量的数据迁移。
在本发明的第二实施例中,提供一种分布式数据库集群的数据迁移装置,所述集群包括m个数据库节点,本实施例中,所述集群还包括n个分片,每个所述数据库节点负责存储一个或多个分片的数据,所述n大于m。
如图6所示,本实施例所述装置包括:
数据分配模块610,用于按设定的分配方式,将进入集群的数据分配到相应的分片上;
迁移处理模块620,用于当集群内需要数据迁移时,确定需要数据迁移的数据库节点,在确定的数据库节点管理的分片中,选择出需要迁出的分片,将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。
基于上述结构框架及实施原理,下面给出在上述结构下的几个具体及优选实施方式,用以细化和优化本发明所述装置的功能,以使本发明方案的实施更方便,准确。具体涉及如下内容:
在本发明的一个具体实施例中,数据分配模块610将进入集群的数据的键key通过哈希后对n取模,将所述数据分配到分片标识与取模后的值相同的分片上。具体的,如图2所示,每个分片都具有分片标识,各分片标识构成整个哈希值空间组织。当对数据的key通过哈希并对2048取模后的值一定会与某分片的分片标识相匹配,将数据发送到匹配的分片上。
进一步地,本实施例中,集群内需要数据迁移分为两种场景,一种场景是单节点数据量过载需要进行数据迁移,另一种是集群整体数据量过载需要进行数据迁移。
针对第一种场景,需要数据迁移的数据库节点即为数据量过载的数据库节点,此时,指定的数据库节点为集群内的一个或多个数据库节点。
本实施例中,由于每个数据库节点负责存储指定分片的数据,所以,在确定数据库节点的数据量是否过载时,统计每个分片的数据量,在统计各分片的数据量后,即可得到每个数据库节点的数据量。当该数据量满足设定的过载标准时,判定发生数据量过载。
针对第二中场景,需要对集群进行扩容,即在集群中增加一个或多个数据库节点。此时,指定的数据库节点即为新增的数据库节点。
本发明实施例中,当集群整体数据量过载,需要集群内数据迁移时,所述迁移处理模块620,具体用于统计每个分片的数据量,根据每个分片的数据量得到各数据库节点所管理的分片的数据总量,求取每个数据库节点所管理的分片的数据总量的平均值,确定出数据总量超出所述平均值的数据库节点为需要数据迁移的数据库节点。
在本发明的一个具体实施例中,迁移处理模块620,还用于当需要集群间数据迁移时,启动新集群内的主节点,并将新集群内的主节点设置为旧集群相应主节点的从节点,通过主从同步的方式,将旧集群中主节点的数据同步到所述新集群中的主节点,并在新旧集群的主节点间同步完成后,启动新集群内的从节点,进行新集群内的主从节点的数据同步,并将旧集群的读写流量切换到新集群。
本发明实施例中,可以将所述集群内的数据库节点划分为多个组,每个组内设有多个数据库节点,每组内均有一个主节点,除主节点外,其他节点均为从节点。集群内从节点定时将本节点的数据同步到主节点,可选地,主节点负责实现从节点间的数据同步。
进一步地,本发明实施例中,新、旧集群内的主节点个数相同,实现一对一的主从同步。
综上所述,本发明实施例所述装置,支持了单节点扩容数据迁移、集群整体扩容数据迁移和跨机房数据迁移多种场景,通用性强;
另外,本发明实施例在扩容数据迁移时,支持为单节点进行扩容和整个集群进行扩容,使得扩容数据迁移更为灵活可用,可以解决集群下单个节点过载和整个集群过载两种场景的扩容问题;
再者,本发明实施例在集群自动扩容方面,增加节点后,自主地根据每个节点的数据量进行数据迁移,使得数据量尽可能的平均分配,这样能够很好地平衡节点数据访问量,使得分布式存储系统整体性能达到最佳效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是其与其他实施例的不同之处。尤其对于装置实施例而言,由于其基本相似与方法实施例,所以,描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种分布式数据库集群的数据迁移方法,所述集群包括m个数据库节点,其特征在于,所述集群还包括n个分片,每个所述数据库节点负责存储一个或多个分片的数据,所述n大于m;所述方法包括:
按设定的分配方式,将进入集群的数据分配到相应的分片上;
当集群内需要数据迁移时,确定需要数据迁移的数据库节点;
在确定的数据库节点管理的分片中,选择出需要迁出的分片;
将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。
2.如权利要求1所述的方法,其特征在于,所述按设定的分配方式,将进入集群的数据分配到相应的分片上,包括:
将进入集群的数据的键key通过哈希后对n取模;
将所述数据分配到分片标识与取模后的值相同的分片上。
3.如权利要求1所述的方法,其特征在于,
当集群整体数据量过载,需要集群内数据迁移时,指定的数据库节点为新增的数据库节点;
当集群内单数据库节点数据量过载,需要集群内数据迁移时,指定的数据库节点为集群内未发生数据量过载的数据库节点中的一个或多个。
4.如权利要求3所述的方法,其特征在于,当集群整体数据量过载,需要集群内数据迁移时,所述确定需要数据迁移的数据库节点,包括:
统计每个分片的数据量,根据每个分片的数据量得到各数据库节点所管理的分片的数据总量;
求取每个数据库节点所管理的分片的数据总量的平均值,确定出数据总量超出所述平均值的数据库节点为需要数据迁移的数据库节点。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当需要集群间数据迁移时,启动新集群内的主节点,并将新集群内的主节点设置为旧集群相应主节点的从节点;
通过主从同步的方式,将旧集群中主节点的数据同步到所述新集群中的主节点;
在新旧集群的主节点间同步完成后,启动新集群内的从节点,进行新集群内的主从节点的数据同步,并将旧集群的读写流量切换到新集群。
6.如权利要求5所述的方法,其特征在于,所述新、旧集群内均划分有多个数据库节点组,每个数据库节点组内均设有主节点和从节点,且每个数据库节点组内的主节点负责本组内的数据同步。
7.一种分布式数据库集群的数据迁移装置,所述集群包括m个数据库节点,其特征在于,所述集群还包括n个分片,每个所述数据库节点负责存储一个或多个分片的数据,所述n大于m;所述装置包括:
数据分配模块,用于按设定的分配方式,将进入集群的数据分配到相应的分片上;
迁移处理模块,用于当集群内需要数据迁移时,确定需要数据迁移的数据库节点,在确定的数据库节点管理的分片中,选择出需要迁出的分片,将选择出的分片的数据从原数据库节点迁移到指定的数据库节点。
8.如权利要求7所述的装置,其特征在于,所述数据分配模块,具体用于将进入集群的数据的键key通过哈希后对n取模,将所述数据分配到分片标识与取模后的值相同的分片上。
9.如权利要求7所述的装置,其特征在于,
当集群整体数据量过载,需要集群内数据迁移时,指定的数据库节点为新增的数据库节点;
当集群内单数据库节点数据量过载,需要集群内数据迁移时,指定的数据库节点为集群内未发生数据量过载的数据库节点中的一个或多个。
10.如权利要求9所述的装置,其特征在于,当集群整体数据量过载,需要集群内数据迁移时,所述迁移处理模块,具体用于统计每个分片的数据量,根据每个分片的数据量得到各数据库节点所管理的分片的数据总量,求取每个数据库节点所管理的分片的数据总量的平均值,确定出数据总量超出所述平均值的数据库节点为需要数据迁移的数据库节点。
11.如权利要求7所述的装置,其特征在于,所述迁移处理模块,还用于当需要集群间数据迁移时,启动新集群内的主节点,并将新集群内的主节点设置为旧集群相应主节点的从节点,通过主从同步的方式,将旧集群中主节点的数据同步到所述新集群中的主节点,并在新旧集群的主节点间同步完成后,启动新集群内的从节点,进行新集群内的主从节点的数据同步,并将旧集群的读写流量切换到新集群。
12.如权利要求11所述的装置,其特征在于,所述新、旧集群内均划分有多个数据库节点组,每个数据库节点组内均设有主节点和从节点,且每个数据库节点组内的主节点负责本组内的数据同步。
CN201611232054.6A 2016-12-28 2016-12-28 一种分布式数据库集群的数据迁移方法和装置 Active CN106844510B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611232054.6A CN106844510B (zh) 2016-12-28 2016-12-28 一种分布式数据库集群的数据迁移方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611232054.6A CN106844510B (zh) 2016-12-28 2016-12-28 一种分布式数据库集群的数据迁移方法和装置

Publications (2)

Publication Number Publication Date
CN106844510A true CN106844510A (zh) 2017-06-13
CN106844510B CN106844510B (zh) 2021-01-15

Family

ID=59114003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611232054.6A Active CN106844510B (zh) 2016-12-28 2016-12-28 一种分布式数据库集群的数据迁移方法和装置

Country Status (1)

Country Link
CN (1) CN106844510B (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357896A (zh) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 数据库集群的扩容方法、装置、系统和数据库集群系统
CN107395721A (zh) * 2017-07-20 2017-11-24 郑州云海信息技术有限公司 一种元数据集群扩容的方法和系统
CN107391033A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据迁移方法及装置、计算设备、计算机存储介质
CN107562533A (zh) * 2017-07-28 2018-01-09 阿里巴巴集团控股有限公司 一种数据加载处理方法及装置
CN107665246A (zh) * 2017-09-13 2018-02-06 北京知道未来信息技术有限公司 基于图数据库的动态数据迁移方法及图数据库集群
CN107832461A (zh) * 2017-11-28 2018-03-23 中国银行股份有限公司 一种数据迁移方法及系统
CN108008921A (zh) * 2017-12-26 2018-05-08 北京百度网讯科技有限公司 分布式存储环境下的复制数据的方法及服务器
CN108052664A (zh) * 2017-12-29 2018-05-18 北京小度信息科技有限公司 数据库存储集群的数据迁移方法和装置
CN108153911A (zh) * 2018-01-24 2018-06-12 广西师范学院 数据的分布式云存储方法
CN108282522A (zh) * 2018-01-15 2018-07-13 吉浦斯信息咨询(深圳)有限公司 基于动态路由的数据存储访问方法及系统
CN108733484A (zh) * 2018-04-13 2018-11-02 华为技术有限公司 管理应用程序的方法与装置
CN108924202A (zh) * 2018-06-25 2018-11-30 郑州云海信息技术有限公司 一种分布式集群的数据容灾方法以及相关装置
CN109067649A (zh) * 2018-07-31 2018-12-21 平安科技(深圳)有限公司 节点处理方法及装置、存储介质和电子设备
CN109388627A (zh) * 2017-08-08 2019-02-26 阿里巴巴集团控股有限公司 一种数据库访问的控制方法、装置及电子设备
WO2019041701A1 (zh) * 2017-08-30 2019-03-07 深圳云天励飞技术有限公司 集群扩展方法、装置、电子设备及存储介质
CN109960469A (zh) * 2019-03-25 2019-07-02 新华三技术有限公司 数据处理方法和装置
CN110019125A (zh) * 2017-11-27 2019-07-16 北京京东尚科信息技术有限公司 数据库管理的方法和装置
CN110866009A (zh) * 2019-10-29 2020-03-06 广州西山居世游网络科技有限公司 一种实时并发同步服务的方法及系统
CN111522688A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 分布式系统的数据备份方法及装置
CN111680019A (zh) * 2020-04-29 2020-09-18 杭州趣链科技有限公司 一种区块链的数据扩容方法及其装置
CN111711531A (zh) * 2020-04-30 2020-09-25 福建天泉教育科技有限公司 集群数据管理方法、存储介质
CN111708763A (zh) * 2020-06-18 2020-09-25 北京金山云网络技术有限公司 分片集群的数据迁移方法、装置和分片集群系统
CN111756562A (zh) * 2019-03-29 2020-10-09 深信服科技股份有限公司 一种集群接管方法、系统及相关组件
CN111930715A (zh) * 2020-07-16 2020-11-13 北京金山云网络技术有限公司 数据迁移方法、装置、计算机设备和存储介质
CN112035064A (zh) * 2020-08-28 2020-12-04 浪潮云信息技术股份公司 一种用于对象存储的分布式迁移方法
CN112860654A (zh) * 2019-11-27 2021-05-28 中国电信股份有限公司 数据分片处理方法、装置以及存储介质
CN113051103A (zh) * 2019-12-27 2021-06-29 中国移动通信集团湖南有限公司 一种数据的处理方法、装置及电子设备
CN113507390A (zh) * 2021-07-08 2021-10-15 中国工商银行股份有限公司 分布式系统集群在线分片扩容方法及装置
CN113704230A (zh) * 2021-09-02 2021-11-26 京东科技控股股份有限公司 数据库扩容方法、装置、电子设备及计算机存储介质
CN113760858A (zh) * 2020-06-05 2021-12-07 中国移动通信集团湖北有限公司 内存库数据动态迁移方法、装置、计算设备及存储设备
CN113761288A (zh) * 2021-01-29 2021-12-07 北京沃东天骏信息技术有限公司 数据迁移方法、装置、系统和计算机可读存储介质
CN117370310A (zh) * 2023-10-19 2024-01-09 中电云计算技术有限公司 一种分布式文件系统跨集群数据增量迁移的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147942A1 (en) * 2004-12-20 2008-06-19 Emc Corporation Method to Perform Parallel Data Migration in a Clustered Storage Environment
US20090238182A1 (en) * 2008-03-24 2009-09-24 Brother Kogyo Kabushiki Kaisha Tree-type broadcast system, method of instructing mode switch, broadcast device, and broadcast process program
WO2011116502A1 (en) * 2010-03-26 2011-09-29 Nec(China) Co., Ltd. Indexing server and method therefor
CN102739704A (zh) * 2011-04-02 2012-10-17 中兴通讯股份有限公司 一种对等网络中数据迁移的方法及系统
CN104580471A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种提升元数据集群性能的方法
CN104615657A (zh) * 2014-12-31 2015-05-13 天津南大通用数据技术股份有限公司 一种节点支持多数据分片的分布式集群的扩容和缩容方法
CN105760431A (zh) * 2016-01-29 2016-07-13 杭州华三通信技术有限公司 一种文件块的迁移方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147942A1 (en) * 2004-12-20 2008-06-19 Emc Corporation Method to Perform Parallel Data Migration in a Clustered Storage Environment
US20090238182A1 (en) * 2008-03-24 2009-09-24 Brother Kogyo Kabushiki Kaisha Tree-type broadcast system, method of instructing mode switch, broadcast device, and broadcast process program
WO2011116502A1 (en) * 2010-03-26 2011-09-29 Nec(China) Co., Ltd. Indexing server and method therefor
CN102739704A (zh) * 2011-04-02 2012-10-17 中兴通讯股份有限公司 一种对等网络中数据迁移的方法及系统
CN104615657A (zh) * 2014-12-31 2015-05-13 天津南大通用数据技术股份有限公司 一种节点支持多数据分片的分布式集群的扩容和缩容方法
CN104580471A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种提升元数据集群性能的方法
CN105760431A (zh) * 2016-01-29 2016-07-13 杭州华三通信技术有限公司 一种文件块的迁移方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
秦秀磊: "面向云端 Key/Value 存储系统的开销敏感的数据迁移方法", 《软件学报》 *
童维勤: "《数据密集型计算和模型》", 31 January 2015, 上海科学技术出版社 *

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391033A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据迁移方法及装置、计算设备、计算机存储介质
CN107391033B (zh) * 2017-06-30 2020-07-07 北京奇虎科技有限公司 数据迁移方法及装置、计算设备、计算机存储介质
CN107357896A (zh) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 数据库集群的扩容方法、装置、系统和数据库集群系统
CN107395721A (zh) * 2017-07-20 2017-11-24 郑州云海信息技术有限公司 一种元数据集群扩容的方法和系统
CN107562533A (zh) * 2017-07-28 2018-01-09 阿里巴巴集团控股有限公司 一种数据加载处理方法及装置
CN109388627A (zh) * 2017-08-08 2019-02-26 阿里巴巴集团控股有限公司 一种数据库访问的控制方法、装置及电子设备
US10896056B2 (en) 2017-08-30 2021-01-19 Shenzhen Intellifusion Technologies Co., Ltd. Cluster expansion method and apparatus, electronic device and storage medium
WO2019041701A1 (zh) * 2017-08-30 2019-03-07 深圳云天励飞技术有限公司 集群扩展方法、装置、电子设备及存储介质
CN107665246A (zh) * 2017-09-13 2018-02-06 北京知道未来信息技术有限公司 基于图数据库的动态数据迁移方法及图数据库集群
CN107665246B (zh) * 2017-09-13 2021-03-30 北京知道未来信息技术有限公司 基于图数据库的动态数据迁移方法及图数据库集群
CN110019125A (zh) * 2017-11-27 2019-07-16 北京京东尚科信息技术有限公司 数据库管理的方法和装置
CN107832461A (zh) * 2017-11-28 2018-03-23 中国银行股份有限公司 一种数据迁移方法及系统
CN108008921A (zh) * 2017-12-26 2018-05-08 北京百度网讯科技有限公司 分布式存储环境下的复制数据的方法及服务器
CN108008921B (zh) * 2017-12-26 2019-06-25 北京百度网讯科技有限公司 分布式存储环境下的复制数据的方法及服务器
CN108052664A (zh) * 2017-12-29 2018-05-18 北京小度信息科技有限公司 数据库存储集群的数据迁移方法和装置
CN108282522A (zh) * 2018-01-15 2018-07-13 吉浦斯信息咨询(深圳)有限公司 基于动态路由的数据存储访问方法及系统
CN108282522B (zh) * 2018-01-15 2021-01-08 吉浦斯信息咨询(深圳)有限公司 基于动态路由的数据存储访问方法及系统
CN108153911A (zh) * 2018-01-24 2018-06-12 广西师范学院 数据的分布式云存储方法
CN108153911B (zh) * 2018-01-24 2022-07-19 广西师范学院 数据的分布式云存储方法
US11507427B2 (en) 2018-04-13 2022-11-22 Huawei Technologies Co., Ltd. Application program management method and apparatus
CN108733484A (zh) * 2018-04-13 2018-11-02 华为技术有限公司 管理应用程序的方法与装置
CN108924202B (zh) * 2018-06-25 2021-12-03 郑州云海信息技术有限公司 一种分布式集群的数据容灾方法以及相关装置
CN108924202A (zh) * 2018-06-25 2018-11-30 郑州云海信息技术有限公司 一种分布式集群的数据容灾方法以及相关装置
CN109067649A (zh) * 2018-07-31 2018-12-21 平安科技(深圳)有限公司 节点处理方法及装置、存储介质和电子设备
CN109067649B (zh) * 2018-07-31 2021-06-22 平安科技(深圳)有限公司 节点处理方法及装置、存储介质和电子设备
CN111522688A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 分布式系统的数据备份方法及装置
CN111522688B (zh) * 2019-02-01 2023-09-15 阿里巴巴集团控股有限公司 分布式系统的数据备份方法及装置
CN109960469B (zh) * 2019-03-25 2022-05-31 新华三技术有限公司 数据处理方法和装置
CN109960469A (zh) * 2019-03-25 2019-07-02 新华三技术有限公司 数据处理方法和装置
CN111756562A (zh) * 2019-03-29 2020-10-09 深信服科技股份有限公司 一种集群接管方法、系统及相关组件
CN111756562B (zh) * 2019-03-29 2023-07-14 深信服科技股份有限公司 一种集群接管方法、系统及相关组件
CN110866009A (zh) * 2019-10-29 2020-03-06 广州西山居世游网络科技有限公司 一种实时并发同步服务的方法及系统
CN112860654A (zh) * 2019-11-27 2021-05-28 中国电信股份有限公司 数据分片处理方法、装置以及存储介质
CN112860654B (zh) * 2019-11-27 2024-01-30 中国电信股份有限公司 数据分片处理方法、装置以及存储介质
CN113051103B (zh) * 2019-12-27 2023-09-05 中国移动通信集团湖南有限公司 一种数据的处理方法、装置及电子设备
CN113051103A (zh) * 2019-12-27 2021-06-29 中国移动通信集团湖南有限公司 一种数据的处理方法、装置及电子设备
CN111680019B (zh) * 2020-04-29 2023-11-24 杭州趣链科技有限公司 一种区块链的数据扩容方法及其装置
CN111680019A (zh) * 2020-04-29 2020-09-18 杭州趣链科技有限公司 一种区块链的数据扩容方法及其装置
CN111711531A (zh) * 2020-04-30 2020-09-25 福建天泉教育科技有限公司 集群数据管理方法、存储介质
CN111711531B (zh) * 2020-04-30 2022-09-06 福建天泉教育科技有限公司 集群数据管理方法、存储介质
CN113760858A (zh) * 2020-06-05 2021-12-07 中国移动通信集团湖北有限公司 内存库数据动态迁移方法、装置、计算设备及存储设备
CN113760858B (zh) * 2020-06-05 2024-03-19 中国移动通信集团湖北有限公司 内存库数据动态迁移方法、装置、计算设备及存储设备
CN111708763B (zh) * 2020-06-18 2023-12-01 北京金山云网络技术有限公司 分片集群的数据迁移方法、装置和分片集群系统
CN111708763A (zh) * 2020-06-18 2020-09-25 北京金山云网络技术有限公司 分片集群的数据迁移方法、装置和分片集群系统
CN111930715A (zh) * 2020-07-16 2020-11-13 北京金山云网络技术有限公司 数据迁移方法、装置、计算机设备和存储介质
CN112035064A (zh) * 2020-08-28 2020-12-04 浪潮云信息技术股份公司 一种用于对象存储的分布式迁移方法
CN112035064B (zh) * 2020-08-28 2024-09-20 浪潮云信息技术股份公司 一种用于对象存储的分布式迁移方法
CN113761288A (zh) * 2021-01-29 2021-12-07 北京沃东天骏信息技术有限公司 数据迁移方法、装置、系统和计算机可读存储介质
CN113507390A (zh) * 2021-07-08 2021-10-15 中国工商银行股份有限公司 分布式系统集群在线分片扩容方法及装置
CN113704230A (zh) * 2021-09-02 2021-11-26 京东科技控股股份有限公司 数据库扩容方法、装置、电子设备及计算机存储介质
CN117370310A (zh) * 2023-10-19 2024-01-09 中电云计算技术有限公司 一种分布式文件系统跨集群数据增量迁移的方法
CN117370310B (zh) * 2023-10-19 2024-05-28 中电云计算技术有限公司 一种分布式文件系统跨集群数据增量迁移的方法

Also Published As

Publication number Publication date
CN106844510B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN106844510A (zh) 一种分布式数据库集群的数据迁移方法和装置
TWI682652B (zh) 資料處理方法及裝置
CN105573660B (zh) 用于改善分簇磁盘阵列的性能的方法和装置
WO2019119212A1 (zh) 识别osd亚健康的方法、装置和数据存储系统
JP6107429B2 (ja) データベースシステム、検索方法およびプログラム
US20200218732A1 (en) Live migration of distributed databases
CN106980625A (zh) 一种数据同步方法、装置及系统
US9733835B2 (en) Data storage method and storage server
CN106843745A (zh) 容量扩展方法及装置
CN104794155B (zh) 数据加载的方法、装置及系统
CN102955845A (zh) 数据访问方法、装置与分布式数据库系统
WO2012167378A1 (en) System and method of optimization of in-memory data grid placement
CN104298541A (zh) 云存储系统的数据分布算法及其装置
CN106294421A (zh) 一种数据写入、读取方法及装置
JP6211631B2 (ja) ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定
CN110011952A (zh) 一种数据传输的方法、服务集群及客户端
CN112181736A (zh) 分布式存储系统及分布式存储系统的配置方法
CN101617297B (zh) 多处理器存储区域网络中的虚拟化支持
CN104410531B (zh) 冗余的系统架构方法
CN111290699A (zh) 数据迁移方法、装置及系统
Malkhi et al. From paxos to corfu: a flash-speed shared log
CN106897281A (zh) 一种日志分片方法和装置
CN109788491A (zh) 用于管理切片迁移的方法、装置和系统
CN105279029B (zh) 一种基于作业计算资源的局部存储动态分配方法
CN108306912A (zh) 虚拟网络功能管理方法及其装置、网络功能虚拟化系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant