数据迁移 数据传输服务DTS在数据迁移的过程中,通过数据的全量迁移和增量迁移结合,迁移的源端数据库无需在迁移过程中停机,应用服务不会因为数据迁移出现中断。 数据迁移的技术原理如下图所示。
数据迁移过程:
结构迁移:将源实例中的结构对象定义一键迁移至目标实例。 全量迁移:源实例中的历史存量数据迁移至目标实例。 增量数据迁移:全量迁移的同时进行增量数据拉取迁移,保障被迁移数据的完整性和一致性。
数据迁移
阿里云数据迁移支持: 多种迁移类型:结构对象迁移、全量数据迁移以及增量数据迁移。 不停服迁移,迁移过程需要经历: 结构对象迁移 全量迁移 增量数据迁移 通过有效的规划和演练,整个数据迁移的中断时间可以缩短至应用流量的切换时间,从而实现秒级切换。
数据订阅
数据订阅支持实时拉取RDS实例的增量日志,用户可以通过DTS SDK来数据订阅服务端订阅增量日志,根据业务需求,实现数据定制化消费。
地持久化。 日志抓取模块通过数据库协议连接并实时拉取源实例的增量日志。例如源实例为RDS For MySQL,那么数据抓取模块通过Binlog dump协议连接源实例。
数据同步
数据传输服务的实时同步功能能够实现任何两个RDS实例之间的增量数据实时同步,并支持RDS实例到ADS和ODPS等分析型数据库的数据实时同步。
同步链路的创建过程包括: 1. 同步初始化, 同步初始化主要将源实例的历史存量数据在目标实例初始化一份。 2. 增量数据实时同步, 当初始化完成后进入两边增量数据实时同步阶段,在这个阶段,DTS会实现源实例跟目标实例之间数据动态同步过程。
增量数据实时同步过程,DTS的底层实现模块主要包括: 1. 日志读取模块 2. 日志读取模块从源实例读取原始数据,经过解析、过滤及标准格式化,最终将数据在本地持久化。日志读取模块通过数据库协议连接并读取源实例的增量日志。如果源DB为RDS MySQL,那么数据抓取模块通过Binlog dump协议连接源库。 3. 日志回放模块 4. 日志回放模块从日志读取模块中请求增量数据,并根据用户配置的同步对象进行数据过滤,然后在保证事务时序性及事务一致性的前提下,将日志记录同步到目标实例。
DTS实现了日志读取模块、日志回放模块的高可用,DTS容灾系统一旦检测到链路异常,就会在健康服务节点上断点重启链路,从而有效保证同步链路的高可用。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。