You need to enable JavaScript to run this app.
文档中心
数据库传输服务

数据库传输服务

复制全文
下载 pdf
数据校验
数据校验简介
复制全文
下载 pdf
数据校验简介
数据库传输服务 DTS 提供了数据校验功能,该功能可以在不停服的情况下对源端和目标端的差异数据进行校验和检查,帮助您及时发现数据或结构不一致等问题。本文介绍数据校验的优势、费用和如何管理数据校验。
背景信息
通过数据校验功能,可以提高数据库的数据质量和可靠性,减少数据错误和异常情况的发生。同时,数据校验也是保护数据库安全性和保护数据完整性的重要手段之一。
优势
  • 数据校验支持在不停服的情况下进行校验。
  • 数据校验算法采用基于表的 Chunk 进行比对,具备高性能。
  • 数据校验任务支持对源端和目标端全量数据的行级数据进行字段校验。
  • 任务执行过程中如果有数据不一致的情况,DTS 会在一定时间后对异常数据再次校验,确保该异常不是增量延迟导致的。
费用
关于数据校验任务的计费信息,请参见数据校验任务计费方式
注意事项
  • 由于全量校验和结构校验是对数据的实时校验,因此需要在预期数据一致时启动校验,因此需要在全量迁移/同步(如有)任务完成完成后,并且增量迁移/同步的延迟时间为 0 时,才能开启动全量或结构校验。
  • 增量校验是校验源端和目标端的新增数据,因此也需要增量迁移/同步的延迟时间为 0 时,才能启动增量校验。
  • 由于全量校验是对数据的实时校验,因此在校验过程中如果数据变更频繁,可能会校验到临时不一致的数据,导致数据校验任务结果不准确。
  • 在执行校验任务前需评估源端和目标端的数据库性能,建议您在业务低峰期执行数据校验(例如源库和目标库的 CPU 负载在 30% 以下)。因为 DTS 在进行数据校验时将占用源库和目标库一定的读资源,可能会导致数据库负载上升。在数据库性能较差、规格较低或业务量较大的情况下,可能会加重数据库的压力,甚至导致数据库服务不可用。
  • MySQL 到 MySQL 的单表最多支持校验出 10 万行不同数据,超过 10 万行 DTS 将不会进行数据校验。控制台页面不展示 Diff 数据,如需查看可将数据下载至本地。详细操作,请参见下载数据校验结果。该功能为加白功能,如需使用请提交工单
  • MySQL 到 MySQL 的单表数据校验功能,默认最多展示前 2000 行差异数据;单表校验总量上限为 10 万行,超过该阈值将自动跳过校验(不生成 Diff 结果)。控制台页面仅显示部分差异数据,如需查看完整校验结果,请下载本地文件。详细操作,请参见下载数据校验结果。该功能为加白功能,如需使用请提交工单
  • 在 MongoDB 的数据校验中,数据校验以源库为基准,仅验证源库中选中的同步或迁移数据在目标库中是否存在且一致,无法检测目标库中多出的额外数据。
支持的校验方式
数据校验任务支持通过全量内容校验、全量行数校验和结构校验三种校验方式检验源端和目标端的差异数据,该三种校验方式的具体区别如下表所示:
校验方式
全量校验
结构校验
增量校验
内容校验
行数校验
主键校验
描述
该校验方式可以对比较两个数据库或数据实体之间的全部或部分数据内容。全量内容校验过程可以确保数据的一致性,并且数据的精度和完整性得到保障。
该校验方式仅能简单地对比源数据库和目标数据库中的总行数是否一样。该校验方式快速且有效,能快速发现数据的丢失或重复添加等问题。
该校验方式可以校验源端和目标端的主键是否一致。
该校验方式可以检查数据结构的一致性,如表的列、数据类型、主键和索引等是否相同。该校验方式可以确保源数据库和目标数据库的结构一致性。
该校验方式可以校验增量任务开启后源端和目标端的全部增量数据是否一致。
限制
  • 如果待校验的表没有主键且没有唯一索引时,DTS 将不会进行数据校验。
  • MySQL 到 MySQL 的单表最多支持校验出 10 万行不同数据,超过 10 万行 DTS 将不会进行数据校验。
  • 其他类型数据库的单表最多仅支持校验出 100 行不同数据,超过 100 行 DTS 将不会进行数据校验。
  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。
  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。
  • 如果待校验的表没有主键且没有唯一索引时,DTS 将不会进行数据校验。
  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。
  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。
  • 单表最多仅支持校验出 100 行不同数据,超过 100 行 DTS 将不会进行数据校验。
  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。
  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。
  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。
  • 最多支持校验出 1 万条不同的数据。
  • 如果数据同步任务中配置了 ETL 规则,那么不支持进行数据校验。
  • 源端和目标端的数据库实例都已开启 GTID。
  • 不支持校验无主键的表。
校验任务启动时机
在全量迁移/同步(如有)任务完成,并且增量迁移/同步的延迟时间为 0 时,启动数据校验任务(全量校验、结构校验或增量校验)。
支持的数据库类型
  • MySQL
  • veDB MySQL
  • PostgreSQL
  • MongoDB
  • SQL Server
  • Redis
  • MySQL
  • veDB MySQL
  • MongoDB
  • SQL Server
  • MongoDB
  • MySQL
  • veDB MySQL
  • MySQL
  • veDB MySQL
  • MongoDB
操作文档
最近更新时间:2026.07.30 10:00:16
这个页面对您有帮助吗?
有用
有用
无用
无用