【技术实现步骤摘要】
数据迁移方法、装置、计算机可读存储介质和计算机设备
本申请涉及数据库
,特别是涉及一种数据迁移方法、装置、计算机可读存储介质和计算机设备。
技术介绍
在实际的应用场景中,经常需要对数据库的数据进行合并和拆分,例如游戏的拆服和合服:在游戏的快速扩张阶段,数据库的压力过大,会不断的进行拆分;在游戏稳定运营或萎缩阶段,又会进行服务合并,降低运营成本。在对服务进行合并时,需要将源数据库中多张数据表的数据进行迁移,并合并至另外一个数据库的数据表中。传统技术中,在对源数据库进行迁移时,通常需要将所有访问数据库的服务先停掉,然后将该数据库中的数据导出,手动或者用工具整理好数据后,导入到一个集中的数据库中。当业务读写访问量都很大时,停掉服务时间可能非常长,在这段时间内,数据库基本不可用,不能执行任何写操作,甚至不能执行读操作。由此可见,如何在数据库迁移过程中,尽可能的降低对数据库正常访问操作的影响,成为亟待解决的技术问题之一。
技术实现思路
基于此,有必要针对
技术介绍
中引出的技术问题,提供一种数据迁移方法、装置、计算机可读存储介质和计算机设备,以降低数据库迁移过程对数据库正常访问操作的影响。一种数据迁移方法,包括:获取源数据库中各个源数据表的数据组成所述源数据库对应的原始全量数据;根据所述原始全量数据中的数据位置插入与数据对应的源数据表的标识,得到目标全量数据;将所述目标全量数据中的数据对应的原始主键修改为更新主键,所述更新主键由数据对应的原始主键与数据对应的 ...
【技术保护点】
1.一种数据迁移方法,包括:/n获取源数据库中各个源数据表的数据组成所述源数据库对应的原始全量数据;/n根据所述原始全量数据中的数据位置插入与数据对应的源数据表的标识,得到目标全量数据;/n将所述目标全量数据中的数据对应的原始主键修改为更新主键,所述更新主键由数据对应的原始主键与数据对应的源数据表的标识组合确定;/n将所述目标全量数据迁移至目标数据库的目标数据表中;/n获取所述源数据库的相对于所述原始全量数据的增量数据,将所述增量数据迁移至所述目标数据表中,并根据所述增量数据中的数据位置插入与数据对应的源数据表的标识。/n
【技术特征摘要】
1.一种数据迁移方法,包括:
获取源数据库中各个源数据表的数据组成所述源数据库对应的原始全量数据;
根据所述原始全量数据中的数据位置插入与数据对应的源数据表的标识,得到目标全量数据;
将所述目标全量数据中的数据对应的原始主键修改为更新主键,所述更新主键由数据对应的原始主键与数据对应的源数据表的标识组合确定;
将所述目标全量数据迁移至目标数据库的目标数据表中;
获取所述源数据库的相对于所述原始全量数据的增量数据,将所述增量数据迁移至所述目标数据表中,并根据所述增量数据中的数据位置插入与数据对应的源数据表的标识。
2.根据权利要求1所述的方法,其特征在于,所述获取所述源数据库的相对于所述原始全量数据的增量数据,将所述增量数据迁移至所述目标数据表中,包括:
获取所述源数据库对应的事务日志;
解析所述事务日志,根据解析结果得到所述源数据库对应的变更语句,将所述变更语句重放至所述目标数据表中。
3.根据权利要求2所述的方法,其特征在于,在所述获取源数据库中各个源数据表的数据组成所述源数据库对应的原始全量数据之后,还包括:
记录所述原始全量数据对应的目标位点;
解析所述事务日志,根据解析结果得到所述源数据库对应的变更语句,将所述变更语句重放至所述目标数据表中,包括:
从所述目标位点处开始解析所述事务日志,根据解析结果得到所述源数据库对应的变更语句,将所述变更语句重放至所述目标数据表中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述源数据库与所述目标数据库的差异不超过预设阈值时,检测所述事务日志的更新状态;
当检测到所述事务日志更新时,解析所述事务日志对应的当前更新日志数据,得到当前更新变更语句;
将所述当前更新变更语句重放至所述目标数据表中。
5.根据权利要求4所述的方法,其特征在于,在所述将所述当前更新变更语句重放至所述目标数据表中之后,还包括:
当所述源数据库中各个源数据表的写入操作被停止且所述当前更新变更语句在所述目标数据表中重放完成时,获取所述目标数据库的访问地址;
将当前服务访问地址由所述源数据库对应的访问地址切换至所述目标数据库的访问地址。
6.根据权利要求2所述的方法,其特征在于,所述从所述目标位点处开始解析所述事务日志,根据解析结果得到所述源数据库对应的变更语句,将所述变更语句重放至所述目标数据表中,包括:
从所述目标位点处开始解析所述事务日志,当解析得到第一源数据表对应...
【专利技术属性】
技术研发人员:吴双桥,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。