创建数据一致性校验

最近更新时间:2025-10-27 17:19:02

我的收藏

操作场景

数据一致性校验,即 DTS 对数据同步的源库和目标库的表数据进行对比,并给出对比结果和不一致详情,辅助用户快速对同步结果进行验证。数据一致性校验任务是独立进行的,不会影响源数据库的正常业务,也不会影响 DTS 的任务。
说明:
一致性校验仅作为辅助的数据验证手段。因此还需要用户自行进行数据验证,以确保同步结果满足要求。

校验内容

一致性校验支持全量校验和持续增量校验。
全量校验
针对目标端追平源端数据前的全部数据进行比较。
持续增量校验
针对持续增量校验任务发起后产生的增量数据进行比较。
说明:
1. 配置同步任务必须包含增量数据同步。
2. 每条同步任务同时只可发起一次增量校验。

注意事项及约束

1. 数据一致性校验的范围,仅对比源数据库选择的库表对象、和同步到目标数据库的库表对象。如果用户在同步任务过程中向目标库进行数据写入,则这部分数据不包含在校验范围内。
2. 数据一致性校验任务可能会增加源数据库实例的负载,因此请在业务低峰期进行操作。
3. 数据一致性校验的任务可以多次创建并执行,但同一时刻只能有一个校验任务处于运行中,即上一个校验任务结束或者终止后,下一个校验任务才能启动。
4. 如果在数据一致性校验任务还未结束时,用户选择完成或者终止 DTS 任务,则数据一致性校验任务会失败。
5. 创建一致性校验时,系统会自动在目标端中创建 dts_verify_result 库,用于记录一致性校验相关内容。dts_verify_result 库下创建的表样式如下:
diff_5xxxxxxxx4231 :保存校验出的不一致数据
diff_meta_5xxxxxxxxx4231:保存校验出不一致的元数据
result_5xxxxxxxxx4231 :记录每个阶段校验完成后的结果
status_5xxxxxxxxx4231:记录校验进度

创建数据一致性校验

自动触发

您可以在新建 DTS 同步任务时,开启数据一致性校验任务,当后续任务进行到同步增量步骤时自动触发一次一致性校验任务。
设置一致性校验页面,勾选开启数据一致性校验,配置参数后,单击下一步
说明:
其他同步操作请参见 同步操作指导

配置项
参数
描述
校验选项
校验内容
数据库信息:针对源和目标库中的索引、库表信息和片键进行校验。源库和目标库都为分片集群时,支持选择片键进行校验。
全量校验:针对目标端追平源端数据前的全部数据进行比较。
持续增量校验:针对持续增量校验任务发起后产生的增量数据进行比较。
数据库信息
支持校验索引、片键和库表信息。源库和目标库都为分片集群时,支持选择片键进行校验。
数据校验
内容校验:对所选检验对象进行内容校验。
行数校验:对所选校验对象进行行数对比。
校验基准
源端:使用源端的数据作为校验基准。
校验参数配置
线程数选择
设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。
校验对象选项
校验对象
全部同步对象:校验范围为同步任务勾选的全部对象。

手动创建

1. 登录 DTS 控制台
2. 数据同步页面,选择需要校验的同步任务,在操作列选择更多 > 创建数据一致性校验

3. 数据一致性校验页面,单击创建数据一致性校验
说明:
如果已存在一致性校验任务,可以单击操作列的创建类似任务,并支持配置相关参数。


4. 在弹出的对话框中,配置数据一致性校验参数后,单击创建并启动一致性校验

参数
说明
任务名称
创建一致性校验任务的名称。
校验方式
内置校验:校验服务内置于 DTS 任务中,需要在任务运行中时发起一致性校验,DTS 任务停止运行后,不支持发起校验。
校验内容
数据库信息:针对源和目标库中的索引、库表信息和片键进行校验。源库和目标库都为分片集群时,支持选择片键进行校验。
全量校验:针对目标端追平源端数据前的全部数据进行比较。
持续增量校验:针对持续增量校验任务发起后产生的增量数据进行比较。
校验基准
源端:使用源端的数据作为校验基准。
校验对象
全部同步对象:校验范围为同步任务勾选的全部对象。
数据库信息
支持校验索引、片键和库表信息。源库和目标库都为分片集群时,支持选择片键进行校验。
数据校验
内容校验:对所选检验对象进行内容校验,选择后可配置抽样的比例。
行数校验:对所选校验对象进行行数对比。
抽样对比
配置抽样比例,抽样比例支持10%,20%,30%……90%。
说明:
针对一些数据量较大的场景,全部数据校验可能会增加源库的负载,请用户根据业务情况选择抽样配比。
线程数选择
设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。

查看数据一致性校验结果

1. 数据同步页面,选择需要查看的同步任务,在操作列选择更多 > 创建数据一致性校验
2. 在操作列单击查看,即可查看校验结果。

3. 查看校验结果。
全量校验:查看预估集合总数已检测集合数量不一致集合数量

增量校验:查看已校验记录数不一致记录数


数据校验结果汇总

数据校验结果的汇总信息如下表所示:
全量校验
项目
详情
概要
对比类型:当前全部为内置校验。
对比方式:可选方式为完整校验、抽样校验和行数校验。
状态:当前校验任务的状态,为创建完成、等待运行、运行中或者已完成。
对比结论:当前校验任务的运行结果,为不一致或者一致。
线程数:当前任务配置的线程数。
开始时间:当前任务的开始时间。
结束时间:当前任务的结束时间。
数据库信息校验
校验结果:当前数据库信息的校验结果,为不一致或者一致。
数据校验
校验结果:当前数据校验结果,为不一致或者一致。
预估集合总数
系统预计的需要校验的所有的集合的总数。
已检测集合数量
任务当前已经完成检测的集合的数量。
不一致集合数量
已经完成检测的集合中,源和目标端不一致的集合的数量。您可以在操作列下方,根据业务需要单击查看,查看不一致详情。
持续增量校验
项目
详情
概要
起始位点:增量校验的开始时间。
当前位点:增量校验的当前时间。
已校验记录数
任务当前已经完成检测的集合的数量。
不一致记录数
已经完成检测的集合中,源和目标端不一致的集合的数量。您可以在操作列下方,根据业务需要单击查看,查看不一致详情。