创建数据一致性校验

最近更新时间:2025-08-01 17:34:31

我的收藏

操作场景

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

注意事项及约束

1. 数据一致性校验任务可能会增加源数据库实例的负载,因此请在业务低峰期进行操作。
2. 内置校验注意事项。
2.1 内置校验的范围,仅对比源数据库选择的库表对象、和迁移到目标数据库的库表对象。如果用户在迁移任务过程中向目标库进行数据写入,则这部分数据不包含在校验范围内。
2.2 如果在数据一致性校验任务还未结束时,用户选择完成或者终止 DTS 任务,则数据一致性校验任务会失败。
3. 控制台可以展示的冲突 Key 只有一部分,冲突 Key 的详情可能会跟前端展示的冲突数量不一致。冲突数量一定是准确的,但是详情只会展示一部分。
4. 一致性校验比较的类型包括 string、hash、set、zset、stream 五种基本类型。

实现原理

DTS 对 Redis 数据库的一致性校验通过全量对比源端和目的端的 Redis 中的数据的方式来进行数据校验,其比较方式通过多轮次比较。
实现原理如下:


创建数据一致性校验任务

自动创建

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

校验选项
配置项
说明
校验内容
全量校验:对源库选择迁移的所有对象数据逐条对比,确保迁移数据完整性。
校验基准
源端:使用源端的数据作为校验基准。
校验模式
对比 Key + Value:校验所有数据是否一致。
只对比 Key :只校验 Key 是否存在。
对比 Value 长度:只校验 Value 的长度是否相同。
对比 Value:对于长度超过1000的 Key 只对比长度,不对比内容。
校验参数配置
配置项
说明
校验 QPS
设置校验的每秒查询速率(即 QPS)。
QPS 为单个分片的校验上限,限制校验的每秒查询速率,为0代表不限制。
复检次数
设置复检次数。
如果在第一次全量数据校验结果为不一致时,后台会对全量校验的不一致数据,发起校验。
复检时间间隔
设置复检时间间隔。
校验对象选项
配置项
说明
校验对象
全部迁移对象:校验范围为迁移任务勾选的全部对象。

手动创建

您可以针对存量 DTS 迁移任务,创建数据一致性校验任务。
1. 登录 DTS 控制台
2. 数据迁移页面,选择需要校验的迁移任务,在操作列单击更多 > 创建数据一致性校验
说明:
数据一致性校验需要在迁移任务步骤进行到同步增量时,才可以创建。如果界面按钮呈灰色,则 DTS 任务状态不满足条件,如任务未进行到同步增量步骤、任务失败、任务终止。

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


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

参数
说明
任务名称
创建一致性校验任务的名称。
校验方式
内置校验:校验服务内置于 DTS 任务中,需要在任务运行中时发起一致性校验,DTS 任务停止运行后,不支持发起校验。
校验内容
全量校验:对源库选择迁移的所有对象数据逐条对比,确保迁移数据完整性。
校验基准
源端:使用源端的数据作为校验基准。
校验模式
对比 Key + Value:校验所有数据是否一致。
只对比 Key :只校验 Key 是否存在。
对比 Value 长度:只校验 Value 的长度是否相同。
对比 Value:对于长度超过1000的 Key 只对比长度,不对比内容。
校验类型
完整校验:对所选校验对象的完整数据进行校验。
抽样校验:对所选校验对象抽选一定的比例进行校验。
Key 抽样比
配置 Key 抽样比例,抽样比例支持10%,20%,30%……90%。
说明:
校验类型抽样校验时,才需配置该参数。
校验对象
全部迁移对象:校验范围为迁移任务勾选的全部对象。
应用 key 过滤
待校验的 Key 前缀:如果已经设置迁移的 Key 前缀规则,并且针对一致性校验,仅需对部分重要 Key 进行检查,可在输入框内保留需要校验的 Key。
待过滤的 Key 前缀:如果已经设置过滤的 Key 前缀规则,并且针对一致性校验,需要过滤暂不需要进行检查的 Key,可在输入框内增加需要过滤的 Key。
说明:
迁移链路已经应用了 Key 前缀过滤规则,数据校验默认同迁移链路一致的过滤规则。如果仅针对部分数据做校验,支持在原有基础上修改过滤规则。
迁移规则与过滤规则混合使用时,过滤规则优先级高于迁移规则。
校验 QPS
设置校验的每秒查询速率(即 QPS)。
QPS 为单个分片的校验上限,限制校验的每秒查询速率,为0代表不限制。
复检次数
设置复检次数。
如果在第一次全量数据校验结果为不一致时,后台会对全量校验的不一致数据,发起校验。
复检时间间隔
设置复检时间间隔。

查看数据一致性校验结果

1. 在迁移任务首页,最后一次校验结果列,可查看校验结果,一致或者不一致,单击查看更多进入校验详情页。

2. 单击查看,即可查看校验结果。

3. 查看预估 Key 总数、已校验的 key 数量、已校验的 Field 数量、不一致的 key 数量、跳过校验的 Key 数量。

4. 查看不一致详情。
4.1 已检测区域单击对应 Key 后的查看,可查看不一致的数据详情。

4.2 在弹出的对话框中查看不一致详情。

4.2.1 在对话框右侧单击

,下载不一致详情。

在弹出的对话框中,下载不一致信息,单击下载

5. 查看跳过校验的 Key。
已跳过区域,可查看跳过校验的 Key,以及未检查原因。