The present disclosure relates to a method and device for data migration in a database cluster. The method includes: obtaining the snapshot of the source data node and recording the incremental data in the data to be migrated according to the stock data of the backup data to be migrated in the snapshot; migrating the backup stock data to the target data node; migrating the recorded incremental data during the migration process, When the non migrated incremental data satisfies the preset lock condition, the source data node notifies the source data partition to perform a lock operation and migrates the non migrated incremental data to the target data node, and the incremental data is migrated to notify the coordinator to split the data to be migrated. The corresponding route is switched from the source data node to the target data node. The method and device for data migration in the database cluster provided by this disclosure can avoid database service interruption during data migration.
【技术实现步骤摘要】
数据库集群中数据迁移的方法及装置
本公开涉及计算机应用
,尤其涉及一种数据库集群中数据迁移的方法及装置。
技术介绍
当某个应用的用户访问量较大时,仅使用一台服务器为用户提供数据库服务势必影响用户体验,这就需要多台服务器共同为用户提供数据库服务,从而形成了所谓的数据库集群。随着用户访问量的逐步增加,数据库集群的存储能力和处理能力也将达到集群能力的上限,这就需要通过数据迁移的方式缓解原有服务器的存储压力和负载压力。然而,现有的数据迁移过程必须停止客户端对正在迁移的数据的访问,即必须停止数据库服务,才能够保证数据迁移的一致性,这必然影响用户的访问效率,而导致用户的访问体验差。
技术实现思路
基于此,本公开的一个目的在于提供一种数据库集群中数据迁移的方法,用于解决现有技术在数据迁移过程中需要停止数据库服务的问题。此外,本公开的另一个目的在于提供一种数据库集群中数据迁移的装置,用于解决现有技术在数据迁移过程中需要停止数据库服务的问题。为了解决上述技术问题,本公开所采用的技术方案为:一种数据库集群中数据迁移的方法,所述数据库集群由至少一个协调节点和若干个数据节点组成,所述方法包括:获取源数据节点的快照,并根据所述快照中备份的待迁移数据分片中的存量数据,记录所述待迁移数据分片中的增量数据;将备份的存量数据迁移至目标数据节点;对记录的增量数据进行迁移,在迁移过程中,当未迁移的增量数据满足预设写锁条件时,通知所述源数据节点对所述待迁移数据分片执行写锁操作,并将所述未迁移的增量数据迁移至所述目标数据节点;待所述增量数据迁移完毕,通知所述协调节点将所述待迁移数据分片对应的路由 ...
【技术保护点】
一种数据库集群中数据迁移的方法,所述数据库集群由至少一个协调节点和若干个数据节点组成,其特征在于,所述方法包括:获取源数据节点的快照,并根据所述快照中备份的待迁移数据分片中的存量数据,记录所述待迁移数据分片中的增量数据;将备份的存量数据迁移至目标数据节点;对记录的增量数据进行迁移,在迁移过程中,当未迁移的增量数据满足预设写锁条件时,通知所述源数据节点对所述待迁移数据分片执行写锁操作,并将所述未迁移的增量数据迁移至所述目标数据节点;待所述增量数据迁移完毕,通知所述协调节点将所述待迁移数据分片对应的路由从所述源数据节点切换至所述目标数据节点。
【技术特征摘要】
1.一种数据库集群中数据迁移的方法,所述数据库集群由至少一个协调节点和若干个数据节点组成,其特征在于,所述方法包括:获取源数据节点的快照,并根据所述快照中备份的待迁移数据分片中的存量数据,记录所述待迁移数据分片中的增量数据;将备份的存量数据迁移至目标数据节点;对记录的增量数据进行迁移,在迁移过程中,当未迁移的增量数据满足预设写锁条件时,通知所述源数据节点对所述待迁移数据分片执行写锁操作,并将所述未迁移的增量数据迁移至所述目标数据节点;待所述增量数据迁移完毕,通知所述协调节点将所述待迁移数据分片对应的路由从所述源数据节点切换至所述目标数据节点。2.如权利要求1所述的方法,其特征在于,所述根据所述快照中备份的待迁移数据分片中的存量数据,记录所述待迁移数据分片中的增量数据的步骤包括:基于所述存量数据,接收客户端对所述待迁移数据分片进行的若干次写操作;根据若干次所述写操作生成若干个记录文件,通过若干个所述记录文件记录所述待迁移数据分片中的增量数据;相应地,所述对记录的增量数据进行迁移的步骤包括:通过切换若干个所述记录文件对所述增量数据进行迭代迁移。3.如权利要求2所述的方法,其特征在于,所述通过切换若干个所述记录文件对所述增量数据进行迭代迁移的步骤包括:以上一次迭代迁移时记录的增量数据结束位置作为本次迭代迁移的增量数据起始位置,根据本次迭代迁移的增量数据起始位置切换至对应的所述记录文件;由所述记录文件中获取本次迭代迁移的增量数据,并记录本次迭代迁移的增量数据结束位置;将获取到的所述增量数据迁移至所述目标数据节点。4.如权利要求3所述的方法,其特征在于,所述通过切换若干个所述记录文件对所述增量数据进行迭代迁移的步骤还包括:判断本次迭代迁移的增量数据的数据量或者该增量数据的迁移时间是否不大于预设阈值;若为是,则判定所述未迁移的增量数据满足预设写锁条件;否则,继续进行所述增量数据的迭代迁移。5.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述待迁移数据分片对应的路由切换完毕,通知所述源数据节点对所述待迁移数据分片执行解锁操作,并停止记录所述待迁移数据...
【专利技术属性】
技术研发人员:许中清,胡森,李跃森,刘煜宏,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。