数据传输服务DTS

技术架构和功能原理

2023-10-18 03:17:49

DTS技术架构

天翼云DTS系统技术架构图如下所示:

整体技术架构.png

DTS功能原理

数据迁移

DTS数据迁移提供多种迁移类型:结构对象迁移、全量数据迁移及增量数据迁移。如果需要实现不停服务迁移,需要同时选择结构对象迁移、全量数据迁移和增量数据迁移。

全量数据迁移过程可能会持续较久,在这过程中,源实例不断有业务写入,为保证迁移数据的一致性,在全量数据迁移之前,会记录当前源实例的日志位点,存储在本地数据库中。

当全量数据迁移完成后,DTS会启动增量日志回放模块,增量日志回放模块会从增量日志读取模块中获取增量数据,经过反解析、过滤、封装后迁移到目标实例,从而实现增量数据迁移。

迁移原理图.png

数据同步

DTS数据同步功能能够实现两个数据源之间的增量数据实时同步。

同步链路创建过程

  • 同步初始化
    将源实例的历史存量数据在目标实例初始化一份。

  • 增量数据实时同步
    当初始化完成后进入两边增量数据实时同步阶段,该阶段DTS将实现源实例和目标实例的数据动态同步。

增量数据实时同步的底层实现

在增量数据实时同步过程中,DTS的底层实现模块主要包括:

  • 日志读取模块
    日志读取模块从源实例读取原始数据,经过解析、过滤及标准格式化,最终将数据在本地持久化。日志读取模块通过数据库协议连接并读取源实例的增量日志。如果源数据库为RDS MySQL,那么数据抓取模块通过Binlog dump协议连接源库。

  • 日志回放模块
    日志回放模块从日志读取模块中请求增量数据,并根据用户配置的同步对象进行数据过滤,然后在保证事务时序性及事务一致性的前提下,将日志记录同步到目标实例。
    同步原理图.png


FMzXDyDnuuUy