DTS数据同步 | 《DTS控制台入门一本通》第五章

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 本章重点介绍DTS数据同步

上一篇:DTS数据订阅 | 《DTS控制台入门一本通》第四章
下一篇:操作日志 | 《DTS控制台入门一本通》第六章

点击免费下载
《DTS控制台入门一本通》>>>

test

也可以PC端点击https://developer.aliyun.com/topic/download?id=803 下载

前面了解了“第三章 DTS 数据迁移”, 本章节详细讨论 DTS 数据同步。数据 迁移与数据同步从逻辑结构与实现上来说,是完全一样的,同样分为结构迁移、全量 迁移、增量迁移三个部分。只是数据同步的增量迁移是默认开启的(不可关闭)。所以 无论是数据迁移还是数据同步,都可以实现实时的数据同步。数据迁移与数据同步在 有重叠,那为什么还要有数据同步呢?数据同步比数据迁移也有很多的好处。两者的 区别主要有如下 4 点:

● 数据同步需要先购买再使用,支持预付费(包年包月)和后付费(按量付费)2 种,而 DTS 迁移只支持后付费(按量付费)。

● 数据同步支持跨地域的内网同步(如华东 1 的 rds-> 华北 1 的 RDS)。而数据 迁移对跨地域的迁移需要一侧有外网地址才可以,不支持内网迁移。

● 数据同步支持重新配置功能,数据迁移不支持,数据迁移如需要重新配置,需 要新建任务。

● 数据同步支持在同步过程中增加同步对象与删除同步对象,而数据迁移不支 持,数据迁移要新增和删除迁移对象,需要重新配置任务。 如下图 5-1 是 DTS 数据同步的页面。

image.png

5.1 地域

图 5-1 标记①处为地域信息,此处可以切换各个地域查看不同地域的实例信息。 这里选择的地域为“同步作业目标实例所在的地域”,假设您创建了一个华东 1 到华 北 1 的数据同步任务,这个任务会展示到华北 1 地域。推荐从概览页进入。

5.2 创建同步作业页面

图 5-1 标记②的“创建同步作业”,点击后,跳转到 DTS 数据同步购买页面,如下图 5-2。下面详细说下各项配置项。

image.png

5.2.1 商品类型

该商品类型的含义与“4.1.1 商品类型”相同。

5.2.2 功能

该功能的含义与“4.1.2 功能”相同。

5.2.3 源实例

源实例是指 DTS 数据同步的源端数据库类型,DTS 支持 MySQL、DRDS( 新 名称为 POLARDB-X)、Redis、PostgreSQL、Polardb、SQLserver 的数据库同步。

5.2.4 源实例地域

待迁移的源实例所在的地域。此处的选择规则与“3.3.2 实例地区”类似。

5.2.5 目标实例

目标实例是指 DTS 数据同步的目标数据库类型,不同的“源实例”对应不同的 目标实例,比如源实例为 MySQL 时,DTS 数据同步支持的目标实例有:MySQL、 MaxCompute、Datahub、ADS for MySQL、kafka、POLARDB 等, 比 如 源 实 例为 SQLserver,DTS 数据同步支持的目标实例只有 ADB for PostgreSQL。随着 DTS 的迭代升级,支持的类型也会不断的进行丰富。您配置时请以具体的页面展示 为准。

5.2.6 目标实例地域

待迁移的目标实例所在的地域。此处的选择规则与“3.3.2 实例地区”类似。

5.2.7 同步拓扑

当前 DTS 数据同步支持单向同步和双向同步,单向同步就是 A->B 的同步,双 向同步除了 A->B 外,还支持 B->A。双向同步相比单向同步要考虑的问题更多,比 如数据冲突处理、rename 等数据库命令、DDL 命令处理等问题。单向与双向同步 有如下几点需要注意。

5.2.7.1 单向同步

配置单向同步时,请注意如下 7 点:

● 如果同步对象为单个或多个表(非整库),那么在数据同步时,请勿对源库的 同步对象使用 gh-ost 或 pt-online-schema-change 等类似工具执行在线 DDL 变更,否则会导致同步失败。

● 暂不支持中国(香港)可用区 A 的 RDS MySQL 实例配置数据同步。

● 配置数据同步,RDS MySQL 实例必须具备内网地址。

● 如果源数据库没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标 数据库中出现重复数据

● 全量初始化过程中,并发 INSERT 会导致目标实例的表碎片,全量初始化完 成后,目标实例的表空间比源实例的表空间大。

● 当同步对象为整个库,且库中的触发器(TRIGGER)会更新库内某个表时, 可能导致源和目标库的数据不一致。请关闭目标库触发器。

● RENAME TABLE 操作可能导致同步数据不一致。例如同步对象只包含表 A, 如果同步过程中源实例将表 A 重命名为表 B,那么表 B 将不会被同步到目标 库。为避免该问题,您可以在数据同步配置时,选择同步表 A 和表 B 所在的 整个数据库作为同步对象。

####5.2.7.2 双向同步

配置双向同步时,请注意如下 7 点:

● 为保障双向同步链路的稳定性,对于同一张表的 DDL 更新只能在其中一个同 步方向进行同步。即一旦某个同步方向配置了 DDL 同步,则在反方向上不支 持 DDL 同步,只进行 DML 同步。

● 对于数据冲突的检测,DTS 目前支持的冲突检测策略为 TaskFailed( 遇到冲 突,任务报错退出 )、Ignore(遇到冲突,直接使用目标实例中的冲突记录)、 Overwrite(遇到冲突,直接覆盖目标实例中的冲突记录)。

● 全量初始化过程中,并发 INSERT 会导致目标集群的表碎片,全量初始化完成后,目标集群的表空间比源集群的表空间大。

● 如果数据同步的源集群没有主键或唯一约束,且记录的全字段没有唯一性,可 能会出现重复数据。

● 如果同步对象为单个或多个表(非整库),那么在数据同步时,请勿对源库的 同步对象使用 gh-ost 或 pt-online-schema-change 等类似工具执行在线 DDL 变更,否则会导致同步失败。

● 当同步对象为整个库,且库中的触发器(TRIGGER)会更新库内某个表时, 可能导致源和目标库的数据不一致,请关闭目标库触发器。

● RENAME TABLE 操作可能导致同步数据不一致。例如同步对象只包含某个 表,如果同步过程中源实例对该表执行了重命名操作,那么该表的数据将不会 同步到目标库。为避免该问题,您可以在数据同步配置时将该表所属的整个数 据库作为同步对象。

5.2.8 网络类型

DTS 数据同步通过专线进行内网数据传输,这也保证了 DTS 数据同步可以实现 跨地域内网同步。

5.2.9 同步链路规格

DTS 数据同步也有链路规格的说法,DTS 数据同步的链路规格有 4 种,性能由 低到高分别是 micro、small、medium、large(无限制规格,large 规格的线上运行 性能依赖于网络环境、源实例和目标实例的性能。)。 性能可以参考这里 https://help.aliyun.com/document_detail/26605.html?spm=a2c4g.11186623.6.560.4f8d5f5fzFwolJ

5.3 任务列表

图 5-1 标记③的处为所选择地域的任务列表。该页面展示与“3.4 任务列表” 的页面含义相同。当您购买完 DTS 数据同步作业后,此处会显示,比如刚才创建了一个华东 1-> 华东 2 的数据同步,点击华东 2 地域的任务列表,任务显示如下图5-3。

image.png

5.3.1 配置同步链路

DTS 数据同步购买完后,需要对其配置,才可以进行启动,点击“配置同步链路”跳转到 DTS 数据同步配置页面。如下图 5-4。由于之前购买 DTS 数据同步时选择的实例类型,地域都已经选定,此处的展示比 DTS 数据迁移也有一些区别。

image.png

5.3.1.1 实例类型

该实例类型的含义与“3.3.1 实例类型”含义相同。

5.3.1.2 实例 ID

由于我们实例类型选择的时 RDS 实例,此处要选择一个 RDS 数据库实 例,DTS 会自动检索华东 1 地域下您的实例信息,然后展示出来。该配置项与 “4.2.1.2RDS 实例 ID”含义相同。

5.3.1.3 数据库账号 / 数据库密码

该配置项与“4.2.1.3 数据库账号 / 数据库密码”含义相同。

5.3.1.4 连接方式

该配置项与“3.3.7 连接方式”的含义相同。

5.3.1.5 授权白名单并进入下一步

该功能与“3.3.9 授权白名单并进入下一步”含义相同。点击后,跳转新的页 面,如下图 5-5。该页面的含义与功能与“3.3.9 授权白名单并进入下一步”相同。

image.png

5.3.1.6 迁移类型

点击图 5-5 右下角的下一步,进入迁移类型选择页面。如下图 5-6。从这个页面也可以看到,您只可以配置结构初始化(结构迁移)与全量数据初始化(全量数据迁移),DTS 数据同步默认开启增量数据迁移。

image.png

5.3.1.7 预检查并启动

该功能与“3.3.11 预检查并启动”含义相同。如下图 5-7,预检查完成且全部成功后,点击关闭,DTS 数据同步开始进行数据同步,如下图 5-8。

image.png
image.png

5.3.2 实例 ID/ 作业名称

该功能与“3.4.1 ID/ 名称”、“4.2.2 订阅 ID/ 名称”含义相同。点击后,如下图5-9。

image.png

5.3.2.1 作业配置

该页面含义与“3.4.1.1 任务配置”、“4.2.2.1 订阅配置”含义相同。

5.3.2.2 同步初始化

该功能与“3.4.1.2 迁移详情”含义相同。如下图 5-10 和图 5-11。

image.png

5.3.2.3 性能监控

该功能与“3.4.1.3 性能监控”含义相同,如下图 5-12 和图 5-13。

image.png
image.png

5.3.2.4 监控报警

该页面含义与“3.4.7 监控报警”相同。如下图 5-14。

image.png

5.3.3 同步概况

图 5-8 的“同步概况”,指的是这个同步任务的迁移速度以及延迟情况,DTS 数据同步的延迟与迁移速度与“DTS 数据迁移”的逻辑相同,同样是从源端获取数 据(全量与增量),然后把数据写入到目标数据库。当出现延迟或者迁移速度不达标 时,可以根据“5.3.2.3 性能监控”说明进行排查。

5.3.4 暂停任务

该功能与“3.4.9 暂停任务”含义相同。

5.3.5 升级

该功能与“3.4.6 升级”含义相同。

5.3.6 更多

点击更多,可以对 DTS 数据同步任务进行更多配置,如下图 5-15。重点说下“修改同步对象”与“转为双向同步”这两个功能。

image.png

5.3.6.1 修改同步对象

DTS 数据同步支持在任务运行过程中增加或者删除同步对象,点击“修改同步对象”功能,跳转到新的对象配置页面,如下图 5-16,在这个页面,您可以把不需要同步的对象移除,也可以把新增需要同步的对象添加到同步列表,比如此处,我们把 sbtest 数据库加入同步对象(新增同步对象)。

image.png

点击预检查并启动后,预检查通过后,DTS 同步状态会变成“新增对象初始化 中”,如下图 5-17。这个状态可能会持续很久,DTS 的新增同步对象是通过启动一 个子 DTS 同步任务完成的,也就是 DTS 的后台会起到一个当前任务下的子任务按 照结构 + 全量 + 增量(何种迁移类型取决于主任务创建时如何配置)迁移新增的对象。 然后等迁移完成后,合并到主任务中(合并时是增量迁移合并,也就是说合并的前提 是子任务已经正常进入了增量迁移)。合并完成后“新增对象初始化中”会小时。如 果您遇到“新增对象初始化中”持续很长时间(比如 1 天)可以反馈阿里云售后核实。 需要注意,这类新增对象的操作不可取消。

image.png

5.3.6.1 转为双向同步

单向数据同步可以直接升级为双向同步,只有任务状态为正常同步中状态时,该选项才可选择(比如当任务状态为新增对象初始化中时,该功能不可用)。点击后,任务列表中该任务会变成如下图 5-18 的展示形式。

image.png

其中,之前配置好的任务变成了正向,为了实现双向同步,我们还需要配置反向同步任务才可以,点击“配置同步链路(等待由灰色变为蓝色)”,跳转配置页面如下图 5-19。

image.png

继续点击“授权白名单并进入下一步”,跳转对象选择页面,如下图 5-20,选择DML 同步类型、冲突修复策略以及同步对象后,点击下一步,选择迁移类型,然后启动预检查。至此,双向同步配置完成。

image.png

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
SQL 测试技术 数据库
DMS中dts?有新数据同步先校验一遍表结构?
DMS中dts?有新数据同步先校验一遍表结构?
37 0
|
2月前
|
数据库
阿里云DTS数据迁移和数据同步的差异性分析
阿里云DTS作为一款常用的数据库表迁移工具,提供了功能非常类似的两个功能:数据迁移、数据同步。阿里云DTS产品官网对这两个功能模块进行了简单的区分: 场景1:存量数据批量迁移,建议使用数据迁移功能。 场景2:增量数据实时同步,建议使用数据同步功能。 实际上,无论是数据迁移还是数据同步,都可以做 “结构初始化”+“全量数据迁移”+“增量迁移”,因此两者功能差异并不明显。笔者在多个项目实践DTS数据迁移,在简单需求场景下,将DTS的数据迁移、数据同步进行对比和总结。
|
6天前
|
JavaScript 前端开发 开发者
JavaScript基础入门之浏览器控制台调试输出
本文章是对小白学习js的初级教程,也是我对自己学习经验的一种总结,文章大多采用使用案例加讲解,带动学习的方式.因为我们的天性总是喜欢有及时反馈的事物,但是学习是一个慢长的事情,而有结果的回应,才会更好的促进自己去学习,主要是对于javascript学习中的输出,有个大体上的了解,同时通过教学能够更好的使用浏览器来方便我们去学习和运行代码,也是对自己进行笔记整理,对抓住信息关键点的一种提高.
|
25天前
|
消息中间件 存储 数据库
RabbitMQ入门指南(二):架构和管理控制台的使用
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了RabbitMQ架构和管理控制台的使用等内容。
49 0
RabbitMQ入门指南(二):架构和管理控制台的使用
|
4月前
|
XML Ubuntu 物联网
Linux系统中驱动入门设备树DTS(经典)
Linux系统中驱动入门设备树DTS(经典)
145 0
|
7月前
|
DataWorks 关系型数据库 MySQL
DataWorks可以通过数据同步任务(DTS)实现OceanBase和其他数据库之间的实时数据同步
DataWorks可以通过数据同步任务(DTS)实现OceanBase和其他数据库之间的实时数据同步
94 2
|
7月前
|
DataWorks 关系型数据库 MySQL
可以使用DataWorks的数据同步任务(DTS)来实现实时同步
可以使用DataWorks的数据同步任务(DTS)来实现实时同步
235 2
|
9月前
阿里云DTS(数据同步服务)的链路中断
阿里云DTS(数据同步服务)的链路中断,排查过程
306 1
|
10月前
|
SpringCloudAlibaba 安全 算法
五.SpringCloudAlibaba极简入门-修改Nacos控制台密码
Nacos的控制台登录账号是nacos/nacos , 在生产环境中一定需要修改密码,不然一旦服务器地址泄露Nacos就会变得不安全,后果不堪设想。在上一章节我们做Nacos集群时我们基于MySql做了Nacos的数据持久化。在Nacos的数据库中有一个user表 , 这个表就是用来记录Nacos的控制台登录账号的,我们只需要修改表中的password 字段的 值即可。如下
|
12月前
|
存储 Cloud Native 关系型数据库
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版功能演示(下)——一、功能演示1:通过DTS做数据同步
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版功能演示(下)——一、功能演示1:通过DTS做数据同步