功能概览
数据传输服务支持多种数据源之间的数据迁移,不同数据库的支持情况如下:
源库类型及版本 | 目标库类型及版本 | 迁移类型 |
---|---|---|
MYSQL 5.7, 8.0 | TELEDB | 结构迁移 全量迁移 增量迁移 |
POSTGRESQL 12, 13, 14, 15 | TELEDB | 结构迁移 全量迁移 增量迁移 |
Oracle 12c, 19c, 21c | TELEDB | 结构迁移 全量迁移 增量迁移 |
模块架构
- 管理服务:用户在DCP平台开通DTS实例后,可通过DTS的管理服务来配置一个数据迁移任务,并进行数据迁移任务管理。
- 核心配置集群:存储迁移任务的核心状态、监控信息。
- 元数据库:存储配置好的数据迁移任务的元数据信息,例如源库连接地址、目标库连接地址等。
- 执行模块+迁移模块(工作节点):用户配置好迁移任务后,由执行模块进行具体的数据迁移工作。数据迁移完成后,由稽核模块进行数据校验。一个管理服务可以管理多个工作节点。
DTS数据迁移提供多种迁移类型:结构对象迁移、全量数据迁移及增量数据迁移。如果需要实现不停服务迁移,需要选择结构对象迁移、全量数据迁移和增量数据迁移。
全量数据迁移过程持续较久,在这个过程中,源实例不断有业务写入,为保证迁移数据的一致性,在全量数据迁移之前,会记录当前源实例的日志位点,存储在本地数据库中。
当全量数据迁移完成后,DTS会启动增量日志回放模块,增量日志回放模块会从增量日志读取模块中获取增量数据,经过反解析、过滤、封装后迁移到目标实例,从而实现增量数据迁移。
术语解释
本文为您介绍数据传输服务DTS相关的术语。
位点
位点指的是用于标识复制源和复制目标之间数据同步的位置信息,主要用于记录源数据库的更新操作以及标识目标数据库需要同步的位置。位点可以帮助确保数据在源和目标之间的一致性,同时也可以用于数据恢复和备份等操作。
迁移实例
迁移实例是帮助实现数据迁移的辅助型资源,存在于迁移任务的整个生命周期。数据复制服务可以通过迁移实例连接源数据库,读取源数据,然后将数据复制到目标数据库中。
预检查
预检查是指在启动迁移任务之前,对可能影响任务成功的因素及条件进行的检查。如果预检查项失败,需要根据具体的修复方法进行修复后,重新进行预检查,直到预检查项全部通过才可启动任务。
迁移评估
预检查是指针对部分异构数据库链路,例如Oracle到TeleDB,在结构迁移之前对源端数据库对象进行迁移性分析,评估自动转换率,并提供兼容性分析报告。
结构迁移
在结构迁移阶段,DTS根据待迁移对象的结构定义从源数据库迁移到目标数据库,例如表、视图、触发器和存储过程。对于异构数据库之间的结构迁移,DTS会根据迁移评估的结果,将源库的结构定义转换为目标库支持的结构定义, 例如将Oracle数据库中的NUMBER数据类型转换为MySQL数据库中的DECIMAL数据类型。
全量数据迁移
在全量数据迁移阶段,DTS会将源数据库的存量数据全部迁移到目标数据库。如果您在配置数据迁移任务时,仅选择了结构迁移和全量数据迁移,那么在迁移过程中,源库的新增数据不会被迁移至目标库。所以为保障数据一致性,迁移期间请勿在源库中写入新的数据。
增量数据迁移
在增量数据迁移阶段,DTS会将源库产生的增量数据实时同步至目标库。此功能通常用于不停机迁移场景,即迁移在全量数据迁移阶段发生的数据变更。