本文介绍如何为数据传输服务DTS(Data Transmission Service)的迁移或同步任务配置数据校验功能,帮助您监控源库与目标库数据的差异,以便及时发现数据不一致的问题。
前提条件
注意事项
- 经典网络的数据库实例暂不支持数据校验功能。
- 开启多表归并的任务暂不支持数据校验功能。
- 若待校验的数据中无主键的数据超过10000行,则DTS将不会进行数据校验。
- 若待校验的数据既没有主键约也没有唯一约束,则DTS将不会进行增量数据校验。
支持的地域
- 全量校验:全域支持,且支持跨地域的链路。支持的地域,请参见支持的地域列表。
- 增量校验:华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口),不支持跨地域的链路。
支持的链路
- 全量校验:
- MySQL、AnalyticDB MySQL、PolarDB MySQL、SQL Server、PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL、Oracle间的同步或迁移任务。
- MongoDB间的同步或迁移
- Tair/Redis间的同步或迁移
- Oracle同步或迁移至PolarDB O引擎
- 增量校验:
- MySQL、AnalyticDB MySQL、PolarDB MySQL、SQL Server、PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL间的同步或迁移任务。
- Oracle迁移至MySQL、AnalyticDB MySQL、PolarDB MySQL或PolarDB O引擎
- Oracle同步至PolarDB O引擎
说明
- 上述源库和目标库间的双向同步链路,也支持数据校验功能。
- 上述源库和目标库支持阿里云和自建数据库实例。
操作步骤
- 进入高级配置页面。
- 设置数据校验方式。
根据业务需求勾选数据校验的方式,若您勾选了全量校验,您还需要设置如下表所示参数。
说明- 全量校验:对全量任务中需要校验的数据进行校验,实例创建成功且全量数据写入完成时开始校验。
- 增量校验:对增量任务的数据进行校验,实例创建成功且增量数据写入首次无延迟时开始校验。
参数 说明 全量校验模式 - 按抽样比例进行HASH校验:配置抽样百分比,对抽中的数据进行全字段校验,取值为10~100的整数。
- 按表行数进行校验:对全量任务数据的行数进行校验。
说明 按表行数进行校验的全量校验模式不收费;按抽样比例进行HASH校验的全量校验模式按实际校验数据量收费,在公测期间免费。全量校验时间规则 当前仅支持立即开始。 全量校验超时设置 - 不设置:全量校验任务超时不会强制结束。
- 设置:设置全量校验任务结束的延迟时间。在全量校验任务启动后开始计时,若校验任务未在指定时间完成则强制结束。取值为1~72的整数。
- 设置校验对象。您可以在已选择对象框中勾选不需要进行数据校验的对象,然后单击
进行移除。
说明 DTS默认已将待同步或迁移的对象移动至已选择对象框。 - 配置校验告警。
根据业务需求,选择配置如下表所示参数。
参数 说明 全量校验告警 - 不设置:不设置告警。
- 设置:设置告警,您还需要选择和配置告警规则。告警规则如下:
- 当全量校验任务失败时触发告警。
- 设置数据不一致的阈值,当全量校验任务不一致数据大于等于设置的阈值时触发告警。
增量校验告警 - 不设置:不设置告警。
- 设置:设置告警,您还需要选择和配置告警规则。告警规则如下:
- 当增量校验任务失败时触发告警。
- 设置数据不一致的周期数、统计周期和不一致数量阈值,当增量校验任务累计在设置的若干个周期,数据不一致记录量均大于等于设置的阈值时触发告警。
- 设置数据延迟的周期数、统计周期和延迟时间阈值,当增量校验任务累计在设置的若干个周期,延迟均大于等于设置的阈值时触发告警。
说明 若您选择设置校验告警,您还需要输入告警联系人的手机号码。当校验任务触发告警时,将以短信的形式通知告警联系人。 - 根据提示及相关配置文档,完成后续配置。