操作手册
【试用教程】RDS MySQL实时同步到数据仓库AnalyticDB MySQL
dts
手动配置
35
教程简介
通过本教程,您将学习使用数据传输服务DTS(Data Transmission Service),将RDS MySQL实时同步到数据仓库AnalyticDB MySQL 3.0,帮助您快速构建企业内部BI、交互查询、实时报表等系统。
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持多种数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。更多信息,请参见数据传输服务DTS的官方文档。
我能学到什么
熟悉DTS可视化的管理界面。
了解使用DTS配置数据同步实例的方法。
准备环境及资源
20
开始教程前,请按以下步骤准备环境和资源:
在RDS MySQL实例中创建用于同步的数据库账号,需为高权限账号或具备待同步对象读写(DDL+DML)权限的账号。具体操作,请参见创建RDS MySQL实例和创建账号。
创建目标AnalyticDB MySQL 3.0集群,其存储空间大于RDS MySQL实例。并创建用于同步的高权限账号。详情请参见创建集群和创建数据库账号。
了解RDS MySQL同步至AnalyticDB MySQL 3.0的注意事项及限制,详情请参见MySQL同步至云原生数据仓库AnalyticDB MySQL 3.0。
访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。
成功登录后,在产品类别下选择数据库 > 数据管理工具,在数据同步的数据传输 DTS卡片上单击立即试用,根据页面提示填写申请表单信息。
本示例选择源实例和目标实例均为MySQL,源实例地域和目标实例地域均为华东1(杭州),其他保持默认配置。您也可以根据实际情况进行配置。
配置说明
配置
说明
功能
试用数据传输服务的功能,固定为数据同步。
源实例
源数据库实例的类型。
源实例地域
源数据库实例所属的地域。
目标实例
目标数据库实例的类型。
目标实例地域
目标数据库实例所属的地域。
同步拓扑
数据同步实例的拓扑类型,当前仅支持单向同步。
网络类型
数据同步实例所属的网络类型,固定为专线。
同步链路规格
数据同步实例性能的规格,当前仅支持small。
资源组
数据同步实例所属的资源组。更多信息,请参见资源组。
试用数量
试用同步实例的数量,固定为1。
阅读并勾选服务协议后,单击立即试用。
配置同步任务
10
在DTS控制台单击左侧导航栏的数据同步,进入同步任务的列表页面。
在页面上方选择同步实例所属地域。
单击创建任务,配置源库及目标库信息。
类别
配置
说明
无
任务名称
DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。
源库信息
选择已有的实例
DTS控制台暂不支持选择已有实例,您无需选择,只需要输入下方的数据库信息。
数据库类型
选择MySQL。
接入方式
选择云实例。
实例地区
选择源RDS MySQL实例所属地域。
是否跨阿里云账号
本示例为同一阿里云账号间同步,选择不跨账号。
RDS实例ID
选择源RDS MySQL实例ID。
数据库账号
填入源RDS MySQL实例的数据库账号。
数据库密码
填入该数据库账号对应的密码。
连接方式
根据需求选择非加密连接或SSL安全连接。如果设置为SSL安全连接,您需要提前开启RDS MySQL实例的SSL加密功能,详情请参见设置SSL加密。
目标库信息
选择已有的实例
DTS控制台暂不支持选择已有实例,您无需选择,只需要输入下方的数据库信息。
数据库类型
选择AnalyticDB MySQL 3.0。
接入方式
选择云实例。
实例地区
选择目标AnalyticDB MySQL 3.0集群所属地域。
实例ID
选择目标AnalyticDB MySQL 3.0集群ID。
数据库账号
填入目标AnalyticDB MySQL 3.0集群的数据库账号。
数据库密码
填入该数据库账号对应的密码。
配置完成后,单击页面右下角的测试连接以进行下一步。
配置任务对象。
本示例确保同步类型同时选中库表结构同步、全量同步和增量同步,并在源库对象框中选择待同步对象,其他保持默认配置。您也可以根据实际情况进行配置。
配置说明
配置
说明
同步类型
固定选中增量同步。建议您同时选中库表结构同步和全量同步。预检查完成后,DTS会将源实例中待同步对象的全量数据在目标集群中初始化,作为后续增量同步数据的基线数据。
若选中库表结构同步,DTS会将源数据库中待同步表的结构(包含外键)同步到目标数据库。
若选中了全量同步,则执行了
CREATE TABLE
语句的待同步表(表结构和表数据)支持同步至目标库。
目标已存在表的处理模式
预检查并报错拦截:检查目标数据库中是否有同名的表。如果目标数据库中没有同名的表,则通过该检查项目;如果目标数据库中有同名的表,则在预检查阶段提示错误,数据同步任务不会被启动。
如果目标库中同名的表不方便删除或重命名,您可以更改该表在目标库中的名称,请参见库表列名映射。
忽略报错并继续执行:跳过目标数据库中是否有同名表的检查项。
选择为忽略报错并继续执行,可能导致数据不一致,给业务带来风险,例如:
表结构一致的情况下,在目标库遇到与源库主键的值相同的记录,则会保留目标库中的该条记录,即源库中的该条记录不会同步至目标库中。
表结构不一致的情况下,可能导致只能同步部分列的数据或同步失败。
实例级别选择所需同步的DDL和DML
按实例级别选择同步的DDL或DML操作,支持的同步操作。
如需按库或表级别选择同步的SQL操作,请在已选择对象中右击同步对象,在弹跳框中勾选所需同步的SQL操作。
多表归并
请根据实际情况,选择是否开启多表归并功能。
选择为是:DTS将在每个表中增加
__dts_data_source
列来存储数据来源。具体操作,请参见开启多表归并。若您选择为是,请勿在源库执行库或表结构变更的DDL操作,否则会导致数据不一致或者同步任务失败。
选择为否:默认选项。
目标库对象名称大小写策略
您可以配置目标实例中同步对象的库名、表名和列名的英文大小写策略。默认情况下选择DTS默认策略,您也可以选择与源库、目标库默认策略保持一致。更多信息,请参见目标库对象名称大小写策略。
源库对象
在源库对象框中选择待同步对象,然后单击
将其移动至已选择对象框。
同步对象选择的粒度为库、表、列。若选择的同步对象为表或列,其他对象(如视图、触发器、存储过程)不会被同步至目标库。
已选择对象
如需移除已选择的对象,请在已选择对象框中选择待移除的对象,然后单击
将其移动至源库对象框。
如需更改同步对象在目标实例中的名称(如开启多表归并功能时),请右击已选择对象中的同步对象。设置方式,请参见库表列名映射。
如果使用了对象名映射功能,可能会导致依赖这个对象的其他对象同步失败。
如需按库或表级别选择同步的SQL操作,请在已选择对象中右击待同步对象,并在弹出的对话框中选择所需同步的SQL操作。
如需设置WHERE条件过滤数据,请在已选择对象中右击待同步的表,在弹出的对话框中设置过滤条件。设置方法请参见通过SQL条件过滤任务数据。
单击下一步高级配置,进行高级配置。
本示例保持默认配置,无需手动配置,您也可以根据实际情况进行配置。
配置说明
类别
配置
说明
数据校验配置
数据校验方式
若您开启了多表归并功能,则不支持配置数据校验。本示例无需配置,若您需要配置数据校验任务,配置方法请参见配置数据校验。
高级配置
设置告警
是否设置告警,当同步失败或延迟超过阈值后,将通知告警联系人。
不设置:不设置告警。
设置:设置告警,您还需要设置告警阈值和告警联系人。更多信息,请参见在配置任务过程中配置监控报警。
复制源表Online DDL工具执行过程的临时表到目标库
若源库使用数据管理DMS(Data Management Service)或gh-ost执行Online DDL变更,您可以选择是否同步Online DDL变更产生的临时表数据。DTS任务暂不支持使用pt-online-schema-change等类似工具执行Online DDL变更,否则会导致DTS任务失败。
是:同步Online DDL变更产生的临时表数据。
Online DDL变更产生的临时表数据过大时,可能会导致同步任务延迟。
否,适配DMS Online DDL:不同步Online DDL变更产生的临时表数据,只同步源库使用数据管理DMS(Data Management Service)执行的原始DDL数据。此方案会导致目标库锁表。
否,适配gh-ost:不同步Online DDL变更产生的临时表数据,只同步源库使用gh-ost执行的原始DDL数据,同时您可以使用默认的或者自行配置gh-ost影子表和无用表的正则表达式。此方案会导致目标库锁表。
源库触发器迁移方式
请按照您的实际业务选择源库触发器的迁移方式。关于迁移方式的介绍,详情请参见同步或迁移源库中的触发。
源库、目标库无法连接后的重试时间
在同步任务连接失败时,DTS会立即进行持续的重试连接,默认持续重试时间为120分钟,您也可以在取值范围(10~1440分钟)内自定义重试时间,建议设置30分钟以上。如果DTS在设置的重试时间内重新连接上源库、目标库,同步任务将自动恢复。否则,同步任务将失败。
由于连接重试期间,DTS将收取任务运行费用,建议您根据业务需要自定义重试时间,或者在源和目标库实例释放后尽快释放DTS实例。
源库、目标库出现其他问题后的重试时间
在同步任务启动后,若源库或目标库出现非连接性的其他问题(如DDL或DML执行异常),则DTS会报错并会立即进行持续的重试操作,默认持续重试时间为10分钟,您也可以在取值范围(1~1440分钟)内自定义重试时间(源库、目标库出现其他问题后的重试时间的值需要小于源库、目标库无法连接后的重试时间的值),建议设置10分钟以上。如果DTS在设置的重试时间内相关操作执行成功,同步任务将自动恢复。否则,同步任务将会失败。
配置ETL功能
选择是否配置ETL功能。
是:配置ETL功能,并在文本框中填写数据处理语句,详情请参见在DTS迁移或同步任务中配置ETL。
否:不配置ETL功能。
上述配置完成后,单击页面下方的下一步配置库表字段,设置待同步的表在目标AnalyticDB MySQL 3.0中的类型、主键列和分布键信息。
本示例无需设置类型,将主键列和分布键都选择为RDS MySQL实例的主键列。
若同步类型选择了库表结构同步,您需要定义待同步的表在AnalyticDB MySQL 3.0中的类型、主键列、分布键等信息。更多信息,请参见CREATE TABLE。
主键列可以是选择多个列组成联合主键,且需要从主键列中选择1个或者多个列作为分布键。
上述配置完成后,单击页面下方的下一步保存任务并预检查。
如果预检查失败,请单击失败检查项后的查看详情,并根据提示修复后重新进行预检查。
如果预检查产生警告:
对于不可以忽略的检查项,请单击失败检查项后的查看详情,并根据提示修复后重新进行预检查。
对于可以忽略无需修复的检查项,您可以依次单击点击确认告警详情、确认屏蔽、确定、重新进行预检查,跳过告警检查项重新进行预检查。如果选择屏蔽告警检查项,可能会导致数据不一致等问题,给业务带来风险。
预检查通过率显示为100%时,单击下一步购买。
在购买页面,选择数据同步实例的链路规格。
类别
配置
说明
信息配置
计费方式
预付费(包年包月):在新建实例时支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。
后付费(按量付费):按小时扣费。适合短期需求,用完可立即释放实例,节省费用。
链路规格
DTS为您提供了不同性能的同步规格,同步链路规格的不同会影响同步速率,您可以根据业务场景进行选择,详情请参见数据同步链路规格说明。
订阅时长
在预付费模式下,选择包年包月实例的时长和数量,包月可选择1~3个月。
配置完成后,阅读并选中《数据传输(按量付费)服务条款》。
单击购买并启动,同步任务开始初始化,您可在数据同步列表界面查看具体进度。
完成
3
观察数据同步实例的进度:
在同步任务列表页面,您可以查看同步实例的运行状态。当状态为运行中时,表示实例已进入增量同步阶段,增量同步任务不会主动结束;当状态为已完成时,表示实例的所有任务已完成。更多信息,请参见查看任务进度。
清理及后续
2
清理
本教程使用的DTS同步实例只能免费试用3个月。实例到期后,您可以手动释放。具体操作,请参见释放DTS实例。如果一直未释放该实例,实例将在试用时间结束后,按照正常价格计费,计费标准请参见计费项。
在配置任务过程中,DTS会自动将对应地区DTS服务的IP地址添加到阿里云数据库实例的白名单中。DTS任务释放后,您还需手动删除DTS自动添加的服务IP地址。在阿里云数据库实例的白名单中,您需要删除名称包含
dts
的IP白名单分组。若您使用的数据库为试用的RDS MySQL和AnalyticDB MySQL,请根据阿里云免费试用的试用规则及时释放或续费。
后续
对于运行的实例,您还可以配置或修改监控报警、查看实例的热点表、体验实例规格升级等。具体操作,请参见:
总结
常用知识点
问题:以下哪种数据库的接入方式不属于DTS同步实例?(单选题)
正确答案是公网IP。公网IP是迁移实例数据库的接入方式,同步实例的数据库不支持。