关键字:
电科金仓、KingbaseFlySync、KFS、KFSMC、数据比对、数据校验
1.功能描述
在异构或同构数据库之间进行数据搬迁或增量数据同步的过程中,进行日常运维巡检或出现入库异常场景时(可能是技术人员误操作、软件缺陷等),需要对两端数据的一致性进行确认。KFS提供了数据校验功能,支持多种校验类型:精简模式、详细模式、MD5模式、增量校验。
精简模式是仅校验源端、目标端表数据条数是否一致的一种方式,以下内容将主要介绍精简模式。
2.使用场景介绍
精简模式对应数据库的count操作,耗时短,但无法确认详细数据是否一致,主要使用场景:
1)对数据一致性要求不高,通过记录条数粗略确认数据一致性
2)精简模式配合其他校验模式使用,先通过精简模式确认两端记录条数是否差异较大,对于差异量较大的表可采用搬迁方式修复,对差异较小的表可以使用详细模式,校验后修复
3.配置使用方式介绍
前提条件:
1)数据源组合为KFS实时同步支持的组合
2)已安装KFS同步程序并启动,同步服务状态可为offline
3)已将KFS节点添加到【KFSMC】-【节点管理】,【KFSMC】-【服务管理】正常显示收集到的同步服务
4)在KFSMC所在机器,通过KFS同步程序的ini中配置的数据库连接信息,可正常访问两端数据库
使用方式:
- 通过浏览器访问KFSMC金仓数据同步管理平台
2)【数据校验】-【任务管理】-【新建】,校验类型选择精简模式
3)【调度管理】,新建、修改、删除调度任务,校验任务必须关联调度任务才能执行
4)【调度管理】-【任务列表】-【立即执行】,立即执行校验任务,或按调度任务的设置的策略,等待自动调起
5)【数据校验】-【查看结果】,查看任务级的校验进度、执行结果
6)【数据校验】-【查看结果】-【查看详情】,查看表级的校验进度及执行结果
注意事项:
1)目前精简模式不支持在【查看结果】界面进行暂停、恢复、终止操作。如需终止,需通过重启compare服务三次或者删掉console元库task_buffer表相关记录后重启compare服务。
4.示例
1)通过浏览器访问KFSMC金仓数据同步管理平台

检查【部署管理】-【节点管理】是否已添加节点,检查【部署管理】-【服务管理】是否已收集到同步服务,如果已收集到,可忽略此步骤


2)【数据校验】-【任务管理】-【新建】,新建校验任务

主要分为【填写任务信息】、【选择校验对象】两步

第一步:【填写任务信息】
填写校验任务名,选择KFS源端、目标端同步服务,校验类型选择精简模式,对象类型选择数据库。

【数据库信息转换】、【SSL加密】一般可不设置。【数据库信息转换】针对数据库地址与ini中地址信息不同,需要设置地址映射的场景。【SSL加密】针对Oracle的SSL加密连接的场景。

【高级参数】-【任务组合策略】,指在精简模式校验结束后,对比对结果有差异的表自动创建后续的任务并自动执行。
【高级参数】-【分区表选择】,指对于KingbaseESV8及PostgreSql数据源,选择校验对象界面是否可勾选分区子表。
【高级参数】-【SCN值】,指对于Oracle-KingbaseESV8组合,设置Oracle端的日志号查询,主要用于不停机迁移后的存量数据校验。
注意:在有增量数据同步的情况下,可能会因实时同步延迟,导致校验结果显示有差异
第二步:【选择校验对象】
通过此界面设置需要校验的表及校验条件,支持通过树状结构勾选或导入txt文件。源端、目标端均需要设置表,两端均选择/导入表后,将自动匹配两端需要校验的表。


点击【完成】,生成校验任务

3)【数据校验】-【任务管理】,查看校验任务信息
【数据校验】-【任务管理】-【配置详情】:查看校验任务的配置信息

【数据校验】-【任务管理】-【查看】:查看校验任务的校验表的范围

【数据校验】-【任务管理】-【刷新过滤器】:KFS过滤器配置信息变更或同步范围变更后,可通过刷新过滤器功能,刷新校验任务中的配置信息或将检验范围刷新成全量的同步表

4)【调度管理】-【新建】,新建调度任务关联校验任务


【执行任务】:调度任务关联的校验任务,可关联多个,调度执行时将执行所有关联的校验任务
【调度策略】:支持一次执行或按固定频率调起调度任务,仅一次执行、每月、每周、每日、每小时

新建成功后,可在【数据校验】-【调度管理】查看、修改、删除调度任务,【运行】/【暂停】可控制调度任务是否定时调起
5)【调度管理】-【任务列表】-【立即执行】,立即执行校验任务,或按调度任务的设置的策略,等待自动调起

6)【数据校验】-【查看结果】,查看任务级的校验进度、执行结果

7)【数据校验】-【查看结果】-【查看详情】,查看表级的校验进度及执行结果,支持按照校验状态及对象名搜索

【差异结果处理】:手动为校验结果不一致的表快速添加一个新的详细校验或MD5校验任务,相较于新创建校验任务,省略了一些步骤





