You need to enable JavaScript to run this app.
导航
数据校验简介
最近更新时间:2024.12.31 11:00:39首次发布时间:2023.11.02 14:15:44

数据库传输服务 DTS 提供了数据校验功能,该功能可以在不停服的情况下对源端和目标端的差异数据进行校验和检查,帮助您及时发现数据或结构不一致等问题。本文介绍数据校验的优势、费用和如何管理数据校验。

背景信息

通过数据校验功能,可以提高数据库的数据质量和可靠性,减少数据错误和异常情况的发生。同时,数据校验也是保护数据库安全性和保护数据完整性的重要手段之一。

优势

  • 数据校验支持在不停服的情况下进行校验。

  • 数据校验算法采用基于表的 Chunk 进行比对,具备高性能。

  • 数据校验任务支持对源端和目标端全量数据的行级数据进行字段校验。

  • 任务执行过程中如果有数据不一致的情况,DTS 会在一定时间后对异常数据再次校验,确保该异常不是增量延迟导致的。

费用

关于数据校验任务的计费信息,请参见数据校验任务计费方式

支持的校验方式

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

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

限制

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

  • 单表最多仅支持校验出 100 行不同数据,超过 100 行 DTS 将不会进行数据校验。

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

  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。

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

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

  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。

  • 单表最多仅支持校验出 100 行不同数据,超过 100 行 DTS 将不会进行数据校验。

  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。

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

  • 请勿在校验过程中对源端进行 DDL 操作,否则会导致校验任务结果不一致。

  • 最多支持校验出 1 万条不同的数据。

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

  • 源端和目标端的数据库实例都已开启 GTID。

  • 不支持校验无主键的表。

支持的数据库类型

  • MySQL

  • veDB MySQL

  • PostgreSQL

  • MongoDB

  • MySQL

  • veDB MySQL

  • MongoDB

  • MongoDB
  • MySQL

  • veDB MySQL

  • MySQL

  • veDB MySQL

  • MongoDB

操作文档