版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
详细解答可以参考官方帮助文档
数据传输服务的实时同步功能能够实现任何两个RDS实例之间的增量数据实时同步。2016.8月份后,将陆续支持OLTP->OLAP的数据实时同步。
同步链路的创建过程包括:
(1) 同步初始化, 同步初始化主要将源实例的历史存量数据在目标实例初始化一份。
(2) 增量数据实时同步, 当初始化完成后进入两边增量数据实时同步阶段,在这个阶段,DTS会实现源实例跟目标实例之间数据动态同步过程。
增量数据实时同步过程,DTS的底层实现模块主要包括:
(1) 日志读取模块
日志读取模块从源实例读取原始数据,经过解析、过滤及标准格式化,最终将数据在本地持久化。日志读取模块通过数据库协议连接并读取源实例的增量日志。如果源DB为RDS MySQL,那么数据抓取模块通过Binlog dump协议连接源库。
(2) 日志回放模块
日志回放模块从日志读取模块中请求增量数据,并根据用户配置的同步对象进行数据过滤,然后在保证事务时序性及事务一致性的前提下,将日志记录同步到目标实例。
DTS实现了日志读取模块、日志回放模块的高可用,DTS容灾系统一旦检测到链路异常,就会在健康服务节点上断点重启链路,从而有效保证同步链路的高可用。