云时代,好用的数据迁移方案推荐
数据库作为企业核心的数据存储引擎,在其提供服务的过程中,经常会因为各种各样的原因需要进行数据的迁移。数据库迁移作为一个古老的话题并不神秘,但因为迁移数据的重要性,以及业务对数据库可用性的高要求,导致数据库迁移的复杂度极高,一般都需要专业工具的协助才能完成。当前 ,市面上也已经提供了各种各样的数据库迁移工具。本文将介绍数据库迁移的步骤以及市面上常见的迁移工具。一、 为什么要做数据库迁移
数据库在提供服务的过程中,经常需要进行数据迁移,常见的场景包括:数据库上云迁移,业务上云,要求数据库上云,此时涉及数据库的迁移;数据库跨云迁移,业务需要跨云迁移时,要求数据库跨云迁移;数据库版本升级,例如数据库内核发布新版本,需要从旧版本迁移到新版本;数据库扩容或缩容,例如数据库所在服务器资源不足,需要跨机器迁移数据库以实现数据库扩容;异构数据库迁移,数据库中的部分业务需要迁移到另外一种更适合的引擎时,涉及的数据库迁移工作。例如从单机数据库迁移到分布式数据库;从关系型数据库迁移到 NoSQL,或,从关系型数据库/ NoSQL 把数据迁移到数据仓库、大数据或数据湖中进行数据分析。二、 数据库迁移的步骤
不同于应用搬迁,数据库在数据迁移过程中,业务仍然持续写入数据,数据一直处于动态变化的状态,整个迁移过程相对比较复杂。根据是否能支持数据迁移过程中,数据库为业务持续提供读写服务,将迁移方案分为:停机迁移、零停机迁移。为了满足业务服务的高可用及迁移数据的完整性,推荐大家选择能够支持"零停机迁移"的工具产品。停机迁移,即迁移之前需要停止数据库的写能力,即数据库上层业务不能有写请求,业务停服。然后,在数据库完全静态的情况下,进行数据库迁移。零停机迁移,即在数据库迁移的过程中,业务仍然继续提供服务,业务不受影响。
在数据库迁移过程,零停机迁移的迁移步骤包括如下几步。而停机迁移,只支持存量历史数据的搬迁。存量历史数据的搬迁,存量历史数据搬迁主要进行结构定义及数据的迁移。例如对于关系型数据库(例 MySQL、SQLServer 等),结构迁移会进行表结构、视图、存储过程、函数等的定义迁移。增量更新数据,由于存量历史数据搬迁一般会持续数小时甚至上天,在这期间为了实现数据库可服务,数据库会继续接受业务写入请求。对于这部分新增的数据,也需要迁移到目标数据库,以保证迁移数据的完整性。当然市面上很多工具不提供这个能力,其要求业务完全停止服务 ,保持数据库的完全静态后,再进行数据迁移。迁移数据对比,在完成数据迁移后,一般都需要校验迁移数据的一致性,避免因为软硬件或人为误操作等原因,出现迁移数据不一致导致业务受影响。
数据库迁移的步骤三、 常见的数据库迁移方法
当前市面上主流的数据库迁移工具,主要分为如下几种方案:
备注:上述评测仅根据当前各个产品的情况得出的结论
1. NineData
官网地址:NineData-让每个人用好数据和云-玖章算术
NineData 是玖章算术旗下的多云数据管理平台,它支持数十种常见数据源(例:MySQL、SQLServer、Clickhouse、Kafka等)之间的同异构数据迁移。NineData提供了数据的单向及双向复制。其提供的单向数据复制功能,包括了结构复制、全量数据复制及增量复制能力,基于这几个复制步骤,可以在业务零停机的情况下,完成数据库的无缝迁移。
NineData 作为一个即开即用的SAAS服务,围绕数据迁移功能,也提供了一系列完善的配套服务,包括告警监控、权限管控、迁移限流及数据一致性对比等。其中,数据对比功能非常有特色,其支持所有对象的结构对比及数据对比,同时,为降低对比对数据库的压力影响,还提供了快速对比、对比限流等能力,在对比完成后,其还会提供详细的不一致数据及订正语句。
除了完善的功能外,NineData 的迁移性能也很优秀,用sysbench模型测试了下,它的全量迁移速度高达130MB/s,增量复制速度能达到10万+TPS。
NineData 比较有特色的是:可完全自动化得实现数据库的零停机迁移;提供高效、易用完善的数据一致性对比工具;对云数据库、云主机及IDC自建数据库的支持同样完善。
NineData 数据库迁移
NineData选择迁移的数据源及迁移步骤
图一:配置任务的第一步骤,选择迁移的数据源及迁移的步骤
NineData选择复制对象
图二、配置任务的第二步骤,选择复制对象
NineData配置映射关系及数据过滤条件
图三:配置任务的第三步骤,配置映射关系及数据过滤条件
NineData迁移前的前置检查
图四:配置任务的第四步骤,迁移前的前置检查
NineData任务详情及运维界面
图五:任务详情及运维界面
NineData复制任务的数据对比详情
图六:复制任务的数据对比详情
NineData复制任务的对比结果
图七:复制任务的对比结果,不一致数据的详情
2. 备份集恢复
一般各个数据库引擎都会提供备份恢复工具,例如MySQL的xtrabackup。借助备份集恢复功能实现数据库迁移的步骤一般如下图所示。整个恢复过程纯依赖手动调度、手工执行。这种恢复方案因依赖数据库本身工具,迁移的完整度很高。但是实现复杂度也比较高,比较容易出错。且恢复工具不提供辅助的诊断运维能力,使用门槛比较高,不是很推荐。
备份恢复迁移方案的特征为:纯手工操作复杂度高且容易出错,迁移的完整性较高,但只适合同网络环境下的同构同版本数据库之间的数据迁移。
备份集恢复
3. 数据导出+数据导入
一般各个数据库引擎都会提供导入导出的工具,例如MySQL的mydumper+myloader。
同时,各大数据库开发工具也会提供数据导出+导入的功能,例如navicat。这种工具只能支持历史存量数据的迁移,不支持增量数据迁移。所以,为了保障迁移数据的完整性,要求业务停机后,再进行数据迁移。
基于数据导出导入的迁移方案的问题是:要求业务停机迁移,业务影响大;只适合小规模数据量情况下的数据迁移。
4. 云厂商数据库迁移工具
云厂商数据库迁移工具,其中以阿里云数据传输DTS为代表。云厂商一般都会提供数据库迁移工具,以支撑数据库上云迁移。云厂商的数据库迁移工具一般也支持结构复制、全量数据复制及增量数据服务,可以实现业务零停机情况下的数据库迁移。同时,云厂商一般也会提供内置的数据校验工具,但一般只支持数据的校验,不提供结构校验能力。云厂商迁移工具一般由数据库团队负责,所以其对云数据库的迁移支持较好,但是对于云主机上自建数据库以及IDC自建数据库支持不好甚至不支持。例如,大部分云厂商迁移工具都不支持自建数据库作为迁移工具的目标数据源。
云厂商迁移工具的特征是:可完全自动化得实现数据库的零停机迁移;对云数据库的支持较完善,基本不支持云主机及IDC自建数据库。四、 小结
总的来说,数据库作为核心业务支撑,其在数据库搬迁过程中的可用性及搬迁数据的完整性至关重要。为了满足服务高可用及迁移数据的完整性,推荐大家选择能够支持"业务零停机迁移"的工具产品。同时,平台工具(例NineData) 的自动化体验及配套设施(例:数据校验工具、迁移限流、监控告警等)一般较为完善,是比较推荐的选择。
一只股票头一天放量涨停,第二天放量跌停,这是为什么?一只股票头一天放量涨停,第二天放量跌停,这明显不是上涨形态的K线组合。这样的K线组合形态出现,意味着上涨趋势暂时结束。如果后市股价要继续上涨,得重新出现一个上涨K线形态,或者上涨K
为什么有的物流公司要招聘带车司机?可以这样说,几乎所有的物流公司都没有固定的司机谁的价格低找谁,现在这么多车,为什么要自己买车呢?物流公司就是一个业务员的角色,接货组织货源,接到货了然后找司机,现在的物流平台很多,
新生儿吐唾沫怎么回事?新生儿吐唾沫怎么回事?新生儿吐唾沫可能与鹅口疮口腔溃疡呼吸道感染等疾病有关,也可能是正常生理现象。鹅口疮口腔溃疡等口腔疾病可导致新生儿口腔不适,进而出现吐唾沫现象。鹅口疮为白色念珠
为什么二胎(老二)比老大聪明?二胎比第一胎聪明也不一定,有的家庭老大考上名牌大学,而老二只能考一般的专业学校。也有的家庭兄弟姐妹一起都考上北大或清华。老二比老大聪明多数指人越来越聪明,这可能是跟随社会发展而造成
怀孕辞职在家,总爱胡思乱想,脾气又大,怎么办?答不辞职就好。1怀孕很正常,不必辞职。2我临产还坚持上两堂课(因为等候代课教师)3咱老祖宗说做得苦,养得快,临盆顺利福报多。4作为孕妇,瓜熟蒂落天经地义。5不辞职,正常工作心情舒畅
CSGO的职业选手奥拉夫在他巅峰期时到底有多强?就这么跟你说,奥拉夫巅峰,现在的simple也要礼让3分,你可能不知道当时奥拉夫研究cs已经研究到哪种地步。出生点位架哪个点是必拿首杀都已经研究出来了。还有什么位置可以露,什么位置
请问为什么C罗在尤文图斯不愿意踢中锋?到曼联就可以了呢?应为在尤文,你们有好多人不喜欢他,所以,他也有理由说NO!!!而在曼联,这里是他的家,红魔球迷所有的标题WelcomeHome!就这么简单!尤文那只会横传回传的中场会让中锋吐血。曼
怎么去水印?Ps方法一1。用ps打开需要修改的图片2。左侧工具栏中找到修复工具3。选定区域进行修复4。完成修改后找文件,导出图片方法二去除水印,也不一定非得要用ps,手机软件美图秀秀就可以。可
到了法定退休年龄但社保还差两年,如果自己交需要挂靠单位吗?感谢邀请,感谢楼主的提问。楼主你好,法定的退休年龄到了,但是社保的累计缴费年限如果还差两年的话,那么这个时候也不是必须要找单位来挂靠桥哪,实际上你个人按照灵活就业的形式交纳也是完全
曾经部队的下属,转业后却成了自己的领导,尴尬吗?怎么化解?这种倒挂的事情其实很多,淡定一点吧,我还碰到过最牛逼的尴尬。我的同学,读的军校,毕业后就在部队当排长了。他的同村一个小伙子,比他小4岁,高中毕业之后就去部队当兵。机缘巧合之下,他们
在拉萨过冬是一种怎样的体验?在拉萨过冬是一种怎样的体验?这看怎么说了,我在西藏工作时,在拉萨过了几个冬天,那是2000年前的拉萨,那时条件很差,感觉那时的拉萨一是风沙大。冬天那风沙特别大,每天下午三点钟以后就