You need to enable JavaScript to run this app.
导航
配置数据校验
最近更新时间:2024.07.08 17:32:05首次发布时间:2023.11.02 14:15:44

本文介绍如何在数据库传输服务控制台配置数据校验任务,帮助您在不停服的情况下对源端和目标端的差异数据进行校验和检查,可以及时发现数据或结构不一致等问题。

背景信息

数据校验任务支持通过全量内容校验、全量行数校验和结构校验三种校验方式检验源端和目标端的差异数据,该三种校验方式的具体区别如下表所示:

校验方式全量内容校验全量行数校验结构校验
描述该校验方式可以对比较两个数据库或数据实体之间的全部数据内容。全量内容校验过程可以确保所有的数据值都一致,并且数据的精度和完整性得到保障。该校验方式仅能简单地对比源数据库和目标数据库中的总行数是否一样。该校验方式快速且有效,能快速发现数据的丢失或重复添加等问题。校验方式可以检查数据结构的一致性,如表的列、数据类型、主键和索引等是否相同。该校验方式可以确保源数据库和目标数据库的结构一致性。

限制

  • 如果待校验的表没有主键且没有唯一索引时,DTS 将不会进行数据校验。

  • 当目标表的数据超过 100 行时,DTS 将不会进行数据校验。

  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。

  • 如果待校验的表没有主键且没有唯一索引时,DTS 将不会进行数据校验。

  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。

  • PostgreSQL 和 MongoDB 任务暂不支持行数校验。

  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。

  • PostgreSQL 和 MongoDB 任务暂不支持结构校验。

前提条件

  • 已创建全量迁移任务,且任务状态为执行中。详细操作,请参见迁移方案概览

  • 已创建全量同步任务,且任务状态为执行中。详细操作,请参见同步方案概览

注意事项

  • 数据校验任务执行时,只能有一个校验任务在运行,多个校验任务可能会增加源端和目标端数据库的负载。

  • 在迁移或同步过程中,请勿进行以下操作,否则可能会导致校验结果不一致:

    • 对源端数据库做 DDL 操作。

    • 请勿对目标数据库进行写入操作。

  • 当任务完成全量迁移或全量初始化时校验任务才开始校验数据。

  • DTS 不会校验既没有主键约束也没有唯一约束的数据。

  • 如果同步或迁移任务进行重启操作(例如启动暂停后的任务),则任务中的数据校验任务会自动终止,且任务状态变更为已完成,如果需要对数据进行数据校验,您需要重新创建数据校验任务。

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

操作步骤

  1. 登录 DTS 控制台

  2. 在顶部菜单栏的左上角,选择项目和地域。

  3. 在左侧导航栏,单击数据迁移数据同步

  4. 迁移任务列表数据同步列表页面,单击目标任务名称。

  5. 在目标任务名称页面,单击数据校验

  6. 数据校验页签,单击创建数据校验

  7. 新建数据校验对话框,配置以下信息。

    参数说明
    任务 ID系统会默认设置一个任务 ID,您无需配置。

    任务名称

    自定义任务名称。任务名称的命名规则如下:

    • 以字母开头且长度需在 1~64 个字符内。

    • 只能包含数字、字母、下划线(_)和中划线(-)。

    校验方式按需选择校验方式,当前支持选择全量内容校验、全量行数校验和结构校验三种校验方式,具体区别,请参见背景信息
  8. 单击确定