一个数据校验的方案选择

sprouting 发布于 2021/11/27 14:00
阅读 320
收藏 1

我需要对任意一套数据库、数据表进行数据验证,所谓的数据验证,比如验证 A表某些字段是否有数据,A表的A1\A2字段数据是否是按照指定标准的,如A1是数字类型或时间类型,时间格式是否是标准的,数字是否保留了2位等,还有数据是否和标准值一致,比如男1,女2,之类的,还有 A表B表C表,D表,他们中的某几个字段是否一致的,也可能是A表 A1字段 和B表的B1字段时间是否按照顺序的,等等。

要验证的表基本在 3000W数据左右,要验证的规则可能都在100多条左右,可能同时A表验证是否为null,还有数据规范等等。

现在的方案是所有的功能都用SQL来处理的,比如是否有数据直接 is null 即可, 时间顺序是否对, A表 B表 C表关联后 用 < 来进行判断,几个表数据是否一致用拼接方式等等。

现在提出的方案,不直接用SQL方式做验证,用流式读取数据,(一个地方读,然后将要验证的数据放到队列中,然后开N个消费者)用代码在数据库中校验,当然,SQL还是要拼,大家觉得哪个方案比较好

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部