数据库传输服务 DTS(Database Transmission Service)是一款集数据迁移、同步和订阅于一体的数据流服务,支持关系型数据库、非关系型数据库等数据源间的数据交互,降低数据库之间数据流通的复杂性。帮助您在业务不停服的情况下轻松完成数据库迁移上云,通过实时同步通道轻松构建高可用数据库容灾架构,同时可以根据自身需求自由消费数据订阅提供的云数据库实时增量数据。
产品优势
数据库传输服务 DTS 支持关系型数据库、非关系型数据库的数据传输。相较于第三方迁移工具,数据库传输服务 DTS 可以更方便地创建和管理丰富多样、高性能、高安全可靠的传输链路。
- 场景丰富多样
- 支持多种数据库引擎迁移,迁移过程引起的业务中断时间窗口缩短至分钟级。
- 支持通过公网网络和 VPC 私有网络环境下的数据传输。
- 支持迁移任务配置仅增量迁移,实现源库至目标库纯增量同步。
- 操作简便可视
- 提供可视化管理界面,提供向导式任务配置,客户可以轻松完成数据迁移。
- 迁移进度量化展示,控制台显示全量迁移百分比和增量迁移数据延迟时间。
- 图形化展示全量和增量迁移的迁移速率,支持实时调整链路规格,最大化链路资源利用。
- 数据安全可靠
- 实例高可用,节点具备高度的恢复和治愈能力,秒级恢复。
- 支持断点续传,链路异常中断恢复正常后,能够自动追加中断时间段的数据。
架构原理
数据库传输服务 DTS 提供不停机迁移解决方案,支持结构迁移、全量数据迁移和增量数据迁移等多种迁移类型。
数据迁移
- 结构迁移:读取源库表结构定义语法,重新组装成目标库的语法格式。
- 全量迁移:全量读取源表内容并写到对应的目标表。
- 增量迁移:目标库增量日志解析和回放,实现数据在线迁移。
- 后置结构迁移:为保证数据迁移的性能和迁移任务的稳定性,部分数据库迁移对象会在增量迁移结束后进行创建。需要进行后置结构迁移的对象包括:
- MySQL:TRIGGER、EVENT。
- PostgreSQL:TRIGGER、RULE、FOREIGN KEY、SEQUENCE。
说明
当前仅支持开启 MySQL 类型迁移任务的全增一体功能,开启后的迁移任务架构和未开启的迁移任务架构存在差异,具体信息,请参见什么是全增一体。
数据同步
- 结构初始化:读取源库表结构定义语法,重新组装成目标库的语法格式。
- 全量初始化:全量读取源表内容并写到对应的目标表。
- 增量同步:目标库增量日志解析和回放,实现数据在线同步。
说明
当前仅支持开启 MySQL 类型同步任务的全增一体功能,开启后的同步任务架构和未开启的同步任务架构存在差异,具体信息,请参见什么是全增一体。
数据订阅
- 全量订阅:全量读取源表内容转化成 ProtoBuf 结构,当前支持火山引擎 Proto、Canal Proto、 Canal JSON 或 Avro 格式,并推送到对应的消息队列中。
- 增量订阅:解析源库的增量日志转换成 ProtoBuf 结构,当前支持火山引擎 Proto、Canal Proto、 Canal JSON 或 Avro 格式,并推送到对应的消息队列中。
- 库表结构订阅:源库表结构转换成 ProtoBuf 结构,当前支持火山引擎 Proto、Canal Proto、 Canal JSON 或 Avro 格式,并推送到对应的消息队列中。
应用场景
数据库传输服务 DTS 支持平滑迁移数据库的应用场景,增量迁移不影响业务连续性,实时同步变更数据,降低停机时间到分钟级别。更多详情,请参见应用场景。