有奖捉虫:行业应用 & 管理与支持文档专题 HOT
说明:
当前旧版本数据订阅功能已停止售卖,如果用户需要新建订阅任务,请使用 Kafka 版数据订阅功能,参考 数据订阅(Kafka 版)
数据传输服务 DTS 提供基于 binlog 的增量数据订阅功能,仅需几步简单操作,即可订阅云数据库 TencentDB 的增量更新数据。
1. DTS 控制台 购买并创建 TencentDB 实例的订阅通道。
2. 使用 DTS 数据订阅 SDK 连接订阅通道,订阅并消费增量数据。

订阅原理

数据订阅通过模拟从库向主库获取对应 binlog 内容进行分析,架构图如下,通过解析 binlog,按照订阅通道配置的库表进行分析,对主库几乎无影响。n


订阅的消息内容目前默认保留最近1天。
以实例为单位订阅,后续新增的库表也会在原有订阅通道出现,不需要对原订阅通道进行新增配置操作。
以库为单位订阅,后续该库下的新增的表也会在原有订阅通道出现,不需要对原订阅通道进行新增配置操作。此方案下,如果需要新增库,需要进行新增配置操作。
数据订阅服务目前支持云数据库 MySQL 5.6、MySQL 5.7。
数据订阅暂不支持视图,触发器和外键。
数据订阅初次配置时会自动调整相关 binlog_row_image 和 binlog_format 参数,参数调整后,数据订阅会自动 kill 实例中存在的连接使参数立即生效,且数据订阅还会执行 flush tables 获取订阅数据的表结构;这可能会影响您的数据库请求,请您知晓并评估对业务的影响。

操作步骤

步骤1:创建数据订阅通道

1. 登录 DTS 控制台,在左侧导航选择数据订阅,单击新建数据订阅
2. 在新建数据订阅页,选择相应配置,单击立即购买
3. 开通成功后,返回数据订阅列表,单击初始化配置,为已购买的数据订阅通道初始化配置。
4. 在配置页,选择源 TencentDB 实例,单击下一步。n


5. 选择所需的同步类型及库表。
数据订阅的订阅对象粒度细分为库、表,即用户可以选择订阅某些库或者是订阅某几张表。
订阅数据类型细分为数据更新、结构更新、全实例。n 只选择数据更新及订阅对象时,只能订阅到 insert、delete、update 三种数据变更内容。n 如需订阅结构更新(DDL),需要选择同步类型中的结构变更。一旦订阅结构更新,那么 DTS 会将整个 TencentDB 实例所有结构变更拉取出来,用户需要使用 SDK 过滤需要的数据。n 选择全实例即数据更新+结构更新。n


6. 确定订阅对象和类型后,单击启动即可启动订阅通道。

步骤2:修改消费时间起点

DTS 支持在消费的过程中,随时修改消费时间起点。一旦修改完消费时间起点,那么下游 SDK 拉取到的增量数据从修改后的消费时间起点开始。
说明
DTS 目前只支持在控制台修改消费点,不支持在 SDK 中指定消费点。
修改步骤如下:
1. 停止 SDK 消费进程。n在 数据订阅 列表,单击订阅 ID 或操作列的查看订阅详情,进入订阅详情页,“消费者来源(IP)”为无,即为进程已停止。
2. 修改消费时间起点。n在 数据订阅 列表,将鼠标移至订阅的消费时间起点上,会出现“修改消费时间起点”图标,单击图标进入修改页。
说明
修改的消费时间起点必须在订阅通道的数据范围之内。



3. 重启 SDK 消费进程。n修改完消费时间起点后,即可重启本地的 SDK 消费进程,此时 SDK 会从修改的消费点开始订阅增量数据。

步骤3:修改订阅对象

DTS 支持在订阅消费的过程中,动态增加或减少订阅对象。
如果增加了订阅对象,那么修改完成后,订阅通道会从当前时间拉取新增订阅对象的增量数据。
如果减少了订阅对象,那么修改完成后,SDK 中将无法再订阅到这个对象的数据。
修改步骤如下:
1. 数据订阅 列表,选择操作列的更多 > 修改订阅对象,进入订阅配置页。
2. 在订阅配置页,修改订阅对象,单击保存。n



步骤4:使用 SDK 消费数据

请参见 SDK 使用指南

订阅案例