当下数据治理领域,大家热衷于讨论数据目录、数据血缘、指标口径、大模型数据供给、数据资产运营等偏上层的能力,但在大量制造、金融、政务、零售的落地项目里,最致命、最高频的故障,反而来自最基础的四类问题:关键字段为空、重复主数据泛滥、编码格式混乱、数据延迟或业务时间失效。
很多团队的做法是:先在数据标准文档里写清楚“客户编码必填、证件号唯一、统一社会信用代码合规、业务数据T+1送达”,然后直接把规则交给下游数仓,在报表出问题之后再回溯清洗。这种 事后稽核兜底模式成本极高:脏数据沿着链路一路传导,污染主数据、汇总层、指标层、BI报表,甚至流入风控、结算等业务链路,引发统计失真、对账异常、合规风险。
一个容易被忽略的现实:数据质量不是一套事后报表,而是嵌入数据全链路的约束能力。必填、唯一、格式、时效,不是四个独立的SQL校验脚本,而是一套互相配合的防护体系。它的落地难点不在于正则怎么写、查重SQL怎么写,而在于:在哪里校验、哪些场景强拦截、哪些只告警、脏数据流向哪里、谁负责整改、规则变更如何管控。
本文将从工程落地角度,逐一拆解四类规则,提出分层校验模型、异常处置策略、避坑清单,最后给出实施路线与治理配套机制。文中方案兼顾实时CDC、批量ETL、API对接、Excel批量导入等混合集成场景,适配信创环境下异构系统打通的现状。
必填校验,目标是保证核心实体具备足够的业务信息,对应的质量维度是完整性。它的判定逻辑,远不止简单的isnotnull。
1.规则边界定义
业务上的空值,包含三类:数据库NULL、空字符串""、仅由空格、制表符、换行符组成的空白串;同时必须做例外约定:0、false、"0"属于合法业务值,不能被误判为空。
这里存在一个关键二分:技术必填vs业务必填。
很多项目踩坑,就是把二者混为一谈,直接给数据库加大量NOTNULL约束,在源系统不可控、批量导入场景下,引发批量任务失败、同步链路中断。
2.校验节点分层
校验优先级遵循源头优先,成本从低到高:
3.分级处置策略(治理前置约定)
规则上线前,必须和业务共同确认处置策略,分为三档:
批量文件导入场景,建议采用行级标记,输出原始行号、错误字段、错误原因,支持业务下载错误清单批量修正,而不是整批文件直接失败。
4.典型工程陷阱
跨系统同步时,上游经常传递字符串"null"、NA、空数组占位符,这类文本不是数据库NULL,很容易绕过空值校验;在管道预处理阶段,必须统一做空值映射归一化。
唯一性解决的是实体重复问题,对应质量维度唯一性。很多团队查重失效,根源不是SQL写错,而是没有提前定义清楚校验范围。
1.规则边界定义
分为单字段唯一、联合唯一:
校验范围是唯一性规则的核心:是全局全库唯一、租户内唯一、当日批次唯一、业务域内唯一?不同范围,查重SQL、索引设计、并发策略完全不一样。多租户场景下,如果唯一键不带租户ID,极易出现跨租户主键冲突的误判。
2.校验节点分层
3.重复数据的三种处置范式(提前和业务对齐)
查重前置预处理动作:统一trim去首尾空格,明确大小写敏感规则(邮箱一般大小写不敏感,编码类大多区分大小写),避免“肉眼相同、程序判定不同”的伪重复。
4.典型工程陷阱
增量同步场景下,高并发消息乱序,会导致短暂重复;这时不能简单用唯一索引强拦截,需要引入业务版本号、操作时间戳,做幂等判断,区分“正常变更”和“真正重复”。
格式校验解决的问题:数据不为空、没有重复,但形态不符合业务规范,对应质量维度有效性。它覆盖正则匹配、枚举字典、值域、长度、日期格式四类场景。
1.规则边界定义
常见校验对象:手机号、统一社会信用代码、邮箱、金额、状态编码、日期、编码长度。
一个重要提醒:身份证校验不要只依赖正则,正则只能匹配字符长度和格式,校验码需要使用国标算法,否则大量格式看起来合法、实际无效的假数据会流入下游。
2.校验节点分层
源头依然优先:前端下拉枚举、实时正则提示;接口层通过JSONSchema约束;集成管道中做清洗转换、字典映射、正则匹配;事后稽核平台做兜底巡检。
3.典型工程陷阱
正则不要过度僵化。很多存量历史数据存在局部不规范,规则上线时一刀切强拦截,会造成大面积任务失败。推荐策略:先灰度告警,统计存量不符合样本,评估是否需要兼容历史口径,再决定是否开启强拦截。
字典是格式规则最容易腐烂的地方:上游新增枚举值,没有同步同步到下游校验规则,新数据直接被判脏数据。因此字典变更需要纳入变更管理,字典版本和质量规则版本联动。
时效是四类规则里最容易被忽视的一类。它不校验“值长什么样”,而是校验时间是否合规,对应质量维度及时性,分为两大分支:链路新鲜度和业务有效期。
1.链路新鲜度(同步延迟)
衡量数据从业务系统产生,到抵达目标存储的时间差。典型规则:
这类脏数据一般不直接丢弃,优先告警、排查链路阻塞、补发、重跑批次。延迟超限不等于数据错误,只是无法满足上层应用的SLA。
2.业务有效期(业务时间合规)
校验业务时间本身是否符合业务逻辑:
这类属于业务规则,不是单纯的链路监控,标记后需要推送给业务责任人,跟进资质更新、单据修正。
3.典型工程陷阱
时间字段混淆:很多链路同时存在业务发生时间、上游系统写入时间、采集时间、入库时间。如果选错时间字段,延迟监控完全失真。时效规则设计时,必须明确基准时间字段。
四类规则不是零散脚本,而是一套三层防护体系,这也是治理落地的核心框架:
1.事前:源头拦截(最优成本)
业务页面、OpenAPI、导入模板。在数据流出业务域之前拦截脏数据,从根源减少治理压力。适合有条件改造上游系统的场景。
2.事中:管道校验与分流(异构场景主力方案)
大量企业现状是:上游ERP、CRM、第三方SaaS系统无法改造,无法在源头加校验。这时数据集成管道就是核心防线。
在管道内嵌入质量校验组件,对进入链路的数据做四类规则校验,脏数据自动分流归档,不写入主业务表。脏数据存储必须留存:原始报文、错误类型、错误字段、批次号、来源、时间戳,用于回溯、统计、整改。
在国产化集成项目中,低代码集成平台可以降低这一层的开发成本:平台内置空值检测、去重、正则、时间比对等通用质检组件,支持可视化拖拽配置规则,脏数据归档、告警、质量看板一站式配套,规则可以复用到CDC实时链路和批量ETL任务。这类平台的价值不在于“自动解决所有质量问题”,而是把高频、标准化的基础规则从硬编码脚本里剥离出来,让数据工程师、业务分析师都能维护规则,减少定制开发负担。
3.事后:稽核兜底、持续观测
定时稽核任务,跑全量/抽样规则,生成质量指标:完整性率、唯一重复率、格式合法率、时效达标率。用于长期基线观测、治理效果复盘,捕获穿透前两层防线的隐蔽脏数据。
4.配套治理闭环(很多项目缺失这一环)
1.指标看板:四类规则的脏数据量、脏数据率、整改率;
2.工单机制:脏数据自动派单,明确数据责任人,谁产生、谁整改;
3.规则版本管理:规则新增、修改、下线留痕,变更评审,避免随意调整正则、枚举引发线上故障;
4.数据契约:把必填、唯一、格式、时效写入上下游的数据契约,作为系统对接的约定,而不是IT单方面事后约束。
很多数据质量项目上线即翻车,根源是直接一步开启强拦截。推荐落地顺序:
1.梳理核心实体:客户、供应商、物料、订单等,逐字段标注:规则类型、优先级(P0/P1/P2)、处置策略、责任业务方;
2.优先源头改造,无法改造的,在集成管道配置校验;
3.第一阶段:仅告警、不阻断,持续采集2~4周脏数据样本,摸清存量问题分布、上游录入习惯;
4.样本评估完成、业务达成共识后,分批次开启P0字段强拦截;
5.持续复盘脏数据根因,反向优化业务录入页面、字典、上游系统流程,从源头减少脏数据产生;
6.定期复盘基线,迭代规则。
误区一:把数据质量等同于写SQL稽核。SQL只是事后检查手段,真正有效的治理是前置拦截;
误区二:数据库约束所有。唯一索引、NOTNULL适合主数据,不适合批量、异构、第三方数据源场景;
误区三:规则越严越好。过度严格的格式规则,会阻断正常业务流转,需要兼容历史口径;
误区四:数据质量是IT团队的事。业务定义标准、确认处置策略、负责整改,IT负责链路、监控、工具支撑;
误区五:一次性治理,验收即结束。脏数据是持续产生的,质量基线需要常态化运营。
必填、唯一、格式、时效,是数据质量体系里最基础、最朴素的四根支柱,却决定了上层所有数据应用的可信度。数据中台、指标平台、主数据、AI应用,无论架构多么先进,一旦底层基础规则失守,上层产出都会变成“垃圾进、垃圾出”。
这套体系的本质,不是追求零脏数据,而是建立可预期、可度量、可闭环的脏数据管控机制:区分哪些必须卡住、哪些可以放行但标记、哪些只做观测;把校验分层,优先源头、其次管道、最后稽核兜底;把规则、处置策略、责任、变更管理绑定在一起。
数据治理从来不是一次性的项目交付,而是嵌入数据流转全链路的常态化能力。先把这四类基础规则跑稳、跑通,再去推进更复杂的一致性、准确性、主数据融合、数据资产运营,才是稳健的落地路径。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005218/viewspace-3187246/ ,如需转载,请注明出处,否则将追究法律责任。