全部产品
Search
文档中心

数据传输服务 DTS:配置数据校验

更新时间:Nov 10, 2023

本文介绍如何使用数据传输服务DTS(Data Transmission Service)配置数据校验任务,帮助您监控源库与目标库数据的差异,以便及时发现数据不一致的问题。

前提条件

  • 若您需要配置全量校验功能,DTS实例的任务步骤需勾选全量同步全量迁移

  • 若您需要配置增量校验功能,DTS实例的任务步骤需勾选增量同步增量迁移

注意事项

  • 经典网络的数据库实例暂不支持增量数据校验功能。

  • 开启多表归并的实例暂不支持数据校验功能。

  • 运行状态已完成的实例暂不支持数据校验功能。

  • 若待校验的表为无主键且无唯一索引的表,则该表的数据超过10000行时DTS将不会进行数据校验。

  • 若待校验的数据既没有主键约束也没有唯一约束,则DTS将不会进行增量数据校验。

  • 若同步或迁移实例进行重启操作(例如先暂停再启动),则实例中的全量校验任务会重新开始校验。

  • 在执行校验任务前需评估源库和目标库的性能,同时建议您在业务低峰期执行数据校验(例如源库和目标库的CPU负载在30%以下)。因为DTS在进行数据校验时将占用源库和目标库一定的读资源,可能会导致数据库的负载上升。在数据库性能较差、规格较低或业务量较大的情况下,可能会加重数据库压力,甚至导致数据库服务不可用。

支持的地域

  • 全量校验和结构校验:全域支持,且支持跨地域的链路。支持的地域,请参见支持的地域列表

  • 增量校验:华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口),不支持跨地域的链路。

支持的链路

说明
  • 源库和目标库间的双向同步链路也支持校验功能。

  • 源库和目标库支持阿里云和自建数据库实例。

数据校验方式

源库

目标库

全量校验

MySQL

MySQL、AnalyticDB MySQL、PolarDB MySQL版、PostgreSQL、AnalyticDB PostgreSQL、Oracle

PolarDB MySQL版

MySQL、AnalyticDB MySQL、PolarDB MySQL版、PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL、Oracle

PostgreSQL

MySQL、PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL、PolarDB PostgreSQL版(兼容Oracle)

PolarDB PostgreSQL

PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL、Oracle

单节点架构的MongoDB

单节点架构的MongoDB

副本集架构的MongoDB

副本集架构的MongoDB

分片集群架构的MongoDB

分片集群架构的MongoDB

主从复制集群架构的Tair/Redis

主从复制集群架构的Tair/Redis

Redis Cluster集群架构的Tair/Redis

Redis Cluster集群架构的Tair/Redis

SQL Server

MySQL、AnalyticDB MySQL、PolarDB MySQL版、SQL Server、AnalyticDB PostgreSQL

Oracle

AnalyticDB MySQL、AnalyticDB PostgreSQL、MySQL、PolarDB MySQL版、PolarDB PostgreSQL、PolarDB PostgreSQL版(兼容Oracle)、PostgreSQL、Oracle

PolarDB PostgreSQL版(兼容Oracle)

PolarDB PostgreSQL版(兼容Oracle)、AnalyticDB MySQL、AnalyticDB PostgreSQL、Oracle

Db2 for LUW

MySQL、PolarDB MySQL版、AnalyticDB MySQL、AnalyticDB PostgreSQL

Db2 for i(AS/400)

MySQL

增量校验

MySQL

MySQL、AnalyticDB MySQL、PolarDB MySQL版、PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL

PolarDB MySQL版

MySQL、AnalyticDB MySQL、PolarDB MySQL版、AnalyticDB PostgreSQL

PostgreSQL

MySQL、PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL

PolarDB PostgreSQL

PostgreSQL、AnalyticDB PostgreSQL、PolarDB PostgreSQL

SQL Server

MySQL、AnalyticDB MySQL、PolarDB MySQL版、SQL Server、AnalyticDB PostgreSQL

Oracle

AnalyticDB MySQL、MySQL、PolarDB MySQL版PolarDB PostgreSQL版(兼容Oracle)

结构校验

MySQL

MySQL、PolarDB MySQL版

PolarDB MySQL版

MySQL、PolarDB MySQL版

PostgreSQL

PostgreSQL、PolarDB PostgreSQL

PolarDB PostgreSQL

PostgreSQL、PolarDB PostgreSQL

在DTS同步或迁移实例中配置数据校验

  1. 进入高级配置页面。

    • 新创建的DTS实例:进入方法,请参见同步方案概览迁移方案概览中的相关配置文档。

    • 已创建完成的DTS实例:

      1. 进入同步或迁移任务列表页面。

      2. 单击目标实例ID。

      3. 基本信息任务管理页面中单击创建校验任务

  2. 设置数据校验方式

    根据业务需求勾选数据校验的方式,若您勾选了全量校验,您还需要设置如下表所示参数。

    说明
    • 全量校验:对全量任务中需要校验的数据进行校验。若实例不包含增量任务,则实例创建成功后且全量数据写入完成时开始校验;若实例包含增量任务,则实例创建成功且增量数据写入首次无延迟时开始校验。

    • 增量校验:对增量任务的数据进行校验,实例创建成功后且增量数据写入首次无延迟时开始校验。

    • 结构校验:对需要校验的对象进行结构校验。若实例不包含增量任务,则实例创建成功后且库表结构和全量数据写入完成时开始校验;若实例包含增量任务,则实例创建成功后且增量数据写入首次无延迟时开始校验。

    • 结构校验任务执行完成后,才会执行全量和增量校验任务。

    参数

    说明

    全量校验模式

    • 按抽样比例进行HASH校验:配置抽样百分比,对抽中的数据进行全字段校验,取值为10~100的整数。

    • 按表行数进行校验:对全量任务数据的行数进行校验。

    说明

    按表行数进行校验的全量校验模式不收费;按抽样比例进行HASH校验的全量校验模式按实际校验数据量收费,在公测期间免费。

    全量校验时间规则

    当前仅支持立即开始

    全量校验超时设置

    • 不设置:全量校验任务超时不会强制结束。

    • 设置:设置全量校验任务结束的延迟时间。在全量校验任务启动后开始计时,若校验任务未在指定时间完成则强制结束。取值为1~72的整数。

    选择校验基准

    • 默认:以源库和目标库的合集为基准,校验源库和目标库数据的一致性。

    • 源库:以源库为基准,校验目标库与源库数据的一致性(不校验目标库比源库多的数据)。

    • 目标库:以目标库为基准,校验源库与目标库数据的一致性(不校验源库比目标库多的数据)。

    每秒读取的最大数据行数rps

    全量数据校验会占用数据库一定的读取资源,您可以根据实际情况对全量校验任务进行限速设置(每秒读取的数据行数和数据量),以缓解数据库的压力。

    说明

    参数值为0时表示无限制,当每秒读取的最大数据行数rps每秒读取最大的Byte数byte/s均为0时,表示不限速。

    每秒读取最大的Byte数byte/s

  3. 设置校验对象

    您可以在已选择对象框中勾选不需要进行数据校验的对象,然后单击移除进行移除。

    说明

    DTS默认已将待同步或迁移的对象移动至已选择对象框。

  4. 配置校验告警。

    根据业务需求,选择配置如下表所示参数。

    参数

    说明

    全量校验告警

    • 不设置:不设置告警。

    • 设置:设置告警,您还需要选择和配置告警规则。告警规则如下:

      • 当全量校验任务失败时触发告警。

      • 设置数据不一致的阈值,当全量校验任务不一致数据大于等于设置的阈值时触发告警。

    增量校验告警

    • 不设置:不设置告警。

    • 设置:设置告警,您还需要选择和配置告警规则。告警规则如下:

      • 当增量校验任务失败时触发告警。

      • 设置数据不一致的周期数、统计周期和不一致数量阈值,当增量校验任务累计在设置的若干个周期,数据不一致记录量均大于等于设置的阈值时触发告警。

      • 设置数据延迟的周期数、统计周期和延迟时间阈值,当增量校验任务累计在设置的若干个周期,延迟均大于等于设置的阈值时触发告警。

    说明

    若您选择设置校验告警,您还需要输入告警联系人的手机号码。当校验任务触发告警时,将以短信的形式通知告警联系人。

  5. 根据提示及相关配置文档,完成后续配置。