一点数据比对经验分享如下:
异构数据库迁移数据比对,
这个比对方法的数据数据量最大的表是9亿条,30多个字段吧。
数据比对必须要有主键
追求的是数据一点不能差,对于比对耗时要求不是太高。
计算逻辑
1 两个不同数据库都要计算这张表的最终md5 值,然后比对,全表对比
1.1 首先把每一行的字段拼成一个长字符串,然后计算md5值
1.2 把每一行的md5值,拆成4个32位2进制,然后全表做sum ,出4个数值
1.3 4个数值合并成串,两边进行比对,如果一致,则认为两表数据值是相等的。
1.4 提速,可以将表数据按指定条件排序,然后分割计算,比对。
1.1~1.3环节都是sql实现,1.4是通过python来进行并发的
2 对于比对不一致的情况则要计算出每一行的md5值,配合主键,存储下来进行比对。