3. 数据质量概述
在 UNS(统一命名空间)体系中,数据质量不是“数据看起来对不对”的主观判断,而是一组可定义、可度量、可追踪、可治理的工程属性。它决定了上层指标、报表、模型和自动化决策是否可信。若把 UNS 比作企业数据的高速公路,数据质量就是路面平整度、标识清晰度和限速规则,任何一处失守都会让下游“翻车”。
一、数据质量的定义:从“符合预期”到“适合用途”
数据质量通常被定义为:数据满足明确或隐含需求的程度。在 UNS 工程语境下,更准确的说法是“数据在特定业务场景下适合其用途的程度”。这意味着同一份数据,在实时告警场景中要求毫秒级时效,在月度报表场景中则更看重完整性与一致性。因此,数据质量不是绝对标准,而是与用途绑定的相对标准。
从治理视角看,数据质量包含三个层次:
- 技术质量:格式、类型、精度、编码、主键唯一性等是否合规。
- 业务质量:数值范围、业务规则、逻辑关系是否符合领域约束。
- 管理质量:元数据、责任人、血缘、变更记录是否完备可追溯。
在 UNS 中,数据质量治理的核心目标不是“消灭所有脏数据”,而是让脏数据可发现、可隔离、可修复、可追责,并控制其对下游的影响半径。
二、数据质量的六个核心维度
业界常用维度包括完整性、准确性、一致性、时效性、唯一性和有效性。它们之间并非孤立,而是相互制约。例如,过度追求时效性可能牺牲完整性;过度清洗可能破坏原始语义。UNS 治理需要在维度之间做权衡。
三、评估指标:把“感觉”变成“数字”
数据质量必须可量化,否则治理无法验收。常用评估指标包括:
| 维度 | 典型指标 | 计算口径示例 | UNS 场景阈值参考 |
|---|---|---|---|
| 完整性 | 空值率、记录缺失率 | 空值数 / 总记录数 | < 0.5% |
| 准确性 | 异常值比例、规则命中率 | 违反业务规则数 / 总记录数 | < 1% |
| 一致性 | 跨源差异率 | 不一致记录数 / 比对记录数 | < 0.2% |
| 时效性 | 延迟时长、超时率 | 实际到达时间 - 预期时间 | P95 < 5 分钟 |
| 唯一性 | 主键重复率 | 重复主键数 / 总主键数 | 0 |
| 有效性 | 格式合规率 | 符合格式记录数 / 总记录数 | > 99.5% |
在工程落地中,这些指标通常以规则形式写入质量平台,并通过调度任务周期性执行。例如:
-- UNS 质量规则示例:设备测点数据完整性校验
SELECT
COUNT(*) AS total_rows,
SUM(CASE WHEN point_value IS NULL THEN 1 ELSE 0 END) AS null_rows,
ROUND(SUM(CASE WHEN point_value IS NULL THEN 1 ELSE 0 END) / COUNT(*), 4) AS null_rate
FROM uns_iot.device_measurement
WHERE dt = '${bizdate}'
AND point_code IN ('TEMP_01', 'PRESS_02', 'FLOW_03');
-- 阈值判定:null_rate > 0.005 触发告警
四、常见问题与治理意义
UNS 场景中,数据质量问题往往集中在以下五类:
- 源头缺失:采集端断点、网关丢包导致记录缺失。
- 口径冲突:同一指标在不同系统中定义不同,导致跨域比对失败。
- 延迟堆积:消息队列积压或批处理窗口错位,使数据“迟到”。
- 重复写入:幂等设计缺失,造成主键重复与指标虚高。
- 元数据失管:字段含义、责任人、血缘缺失,问题定位靠“猜”。
常见误区:把数据质量等同于“清洗”。清洗只是事后补救,真正的治理必须前移到源头约束、入湖校验和链路监控,否则问题会反复出现。
治理意义体现在三个层面:业务层面,提升报表与模型可信度,减少决策偏差;工程层面,降低下游反复排查与返工成本;管理层面,通过责任矩阵和 SLA 让数据资产可审计、可考核。在 UNS 中,数据质量治理最终要形成“定义规则—采集校验—监控告警—根因定位—修复闭环—复盘优化”的持续循环,而不是一次性项目。
落地建议:先选取 1~2 条核心 UNS 数据链路做质量基线,明确维度、指标、阈值和责任人,再逐步扩展到全域。质量治理的起点不是工具,而是共识与责任。