(一)数据拉取
这种新方法的第一步,是借助大数据组件快速、高效地拉取待校验数据。大数据组件在此过程中发挥着关键作用,它能够从复杂的数据环境中精准地获取所需数据,为后续的数据处理流程奠定基础。
(二)数据分类
拉取到数据后,紧接着便是一个极为关键的步骤 —— 将待校验数据按照表类型进行细致分类。具体的分类方式如下:首先对数据进行解析,获取数据关键列的内容。若关键列内容不为空,那么该数据类型大概率属于主键表或唯一索引表;若关键列内容为空,则需进一步判断数据是否含有普通索引。若不存在普通索引,此数据类型即为三无表;若含有普通索引,则可判定为普通索引表。通过这种严谨的分类方式,能够为后续的查询操作提供更为精准的依据。
(三)查询操作
完成数据分类后,接下来要根据不同的表类型获取与之对应的查询条件。对于主键表和唯一索引表,以主键列作为查询条件;三无表由于其特殊性质,以全字段作为查询条件;普通索引表则以源端索引列为查询条件。有了明确的查询条件后,就可以拼接对应的查询语句,并在数据库中执行查询操作。通过这种针对性的查询策略,能够显著缩短查询时间,提高数据处理效率。
(四)数据比对与记录
查询操作完成并得到结果后,便进入以表为单位的数据逐级比对环节。在这一过程中,系统会逐列对数据进行细致比对,优先校验源端数据库和目标端数据中对应主键列的存在情况。若主键列不存在,则采用其他数据进行列比对。经过比对,差异化数据便会浮出水面。此时,将这些差异化数据上报至大数据组件,并进行落盘记录。这一举措具有重要意义,它使得后续查看比对结果变得更加便捷,极大地增加了数据比对结果的可视性,方便技术人员对数据差异进行深入分析与处理。
(五)数据修复
最后,根据全量数据和增量数据的不同性质,通过预设的修正策略对差异化数据进行修复。在全量阶段,一旦存在差异化数据且数据比对完成,系统便会发送修复指令;在增量阶段,当上游处于停机状态时,同样会发送修复指令。一旦系统响应修复指令,会立即停止拉取待校验数据和数据比对操作,集中精力对差异化数据进行修复。修复过程以表级为单位,以源端数据为基准,执行 delete 和 insert 操作,确保数据库迁移前后的数据一致性。