数据传输DTS致力于为用户提供关系型数据库、NoSQL及OLAP等数据源之间的数据迁移同步服务,并提供链路状态实时监控,链路失败修复等完善的链路维护体系。
为降低数据迁移成本,数据传输DTS陆续推出多种数据库引擎(例如MySQL,Oracle,MongoDB等)的不停机迁移功能,通过不停机迁移功能,可以实现迁移源实例提供服务的情况下,进行数据迁移,最大程度降低依赖源实例的应用程序的停机时间。经过一段时间的打磨,DTS正式推出SQLServer不停机迁移功能,极大程度降低SQLServer用户的数据迁移门槛。
本文主要介绍不停机迁移工作原理及SQLServer不停机迁移任务配置流程:
不停机迁移原理
SQLServer不停机迁移任务配置流程
小结
不停机迁移原理
如上图所示,不停服迁移的过程包括:
(1) 结构迁移,结构定义迁移,例如表结构
(2) 全量数据迁移,源实例中存量数据迁移
(3) 增量数据迁移,将源实例迁移过程产生的业务更新数据同步到目标实例
增量数据迁移的增量日志拉取及解析模块,在迁移任务开始后便开始运行,源实例产生的任何业务更新数据,都会被日志拉取程序获取、解析并存储在DTS存储系统中。当全量数据迁移完成后,DTS启动增量数据回放模块,增量数据回放模块,会从DTS存储系统中读取源库的增量数据,经过解析、过滤、封装后同步到目标实例中。
由于源实例业务产生的增量数据的速度低于DTS增量同步的速度,所以经过一段时间的增量数据同步,目标实例跟源实例的数据同步会达到动态一致的过程。当增量迁移达到无延迟状态后,可以在目标实例进行业务测试,业务测试通过后,源实例业务停写,等待增量迁移同步再次达到无延迟后,直接将业务切换到目标实例。
由上面的流程可见,整个迁移过程中,业务停机时间为:从业务停写,增量数据完全追平,到业务切换到目标实例的时间,停机时间可以降低到分钟以内。
SQLServer不停机迁移任务配置
本小节以自建SQLServer到RDS For SQLServer为例,简单介绍,使用DTS进行SQLServer不停机迁移的任务配置流程。
实例连接信息配置
在这个步骤中,主要配置迁移任务名称,源SQLServer实例连接信息及目标RDS For SQLServer实例连接信息。
迁移类型及迁移对象选择
在这个步骤中,配置迁移类型及迁移对象。
进行不停机迁移时,迁移类型需要配置:结构迁移+全量数据迁移+增量数据迁移
小结
数据传输DTS致力于支持关系型数据库、NoSQL及OLAP等数据源之间的数据迁移同步。DTS提供的SQLServer的不停机迁移功能,可以实现在SQLServer提供服务的情况下,进行数据迁移,最大程度降低依赖SQLServer的应用程序的停机时间。