- 背景
数字化转型是业务、流程、管理和技术一次变革,随着企业数字化进程加快,各业务形态整合深入,相关业务系统迭代加速,数据多样性非结构化、半结构化和结构化数据涌现且数据量级呈井喷式增长。在信息时代,数据已和资本、土地、技术,知识和管理同样重要的生产要素存在,同时,数据消费者对准确性和时效性数据迫切需求与日俱增,如何提升数据质量方法很多,以后另做分享,此篇讲解数据质量监控的重要性,因为大数据技术暴露出的问题有可能超出开发同学的认知,有同学自信满满这写肯定没问题,实际上出现超出了其认知的问题出现了,就会发生数据故障,待发现时为时已晚,所以数据质量监控能不以人的意志为转移地识别超出认知的是否有数据质量问题,重要性不言而喻。
- 数据质量迭代流程:
首先,数据存在人为干预或加工的过程就会存在数据质量问题,为减少人为失误或系统故障,所以数据须对数据质量监控;
其次,数据是公司的重要资产,需做好数据质量迭代计划,识别和发现各种形式数据质量问题,改进数据质量问题,形成闭环,最终提高数据质量,提升用户体感,加速公司数字化转型,从而服务于公司战略和愿景;
最后,作为数据部门,是数据集成、存储、汇总、分析、呈现和服务的统一出口,有责任和义务对自己提供的高质量的数据负责,同样需对数据入口的质量问题及时发现,推动上游及时改进的责任,共同提高数据质量。
数据质量产生因素有多种,如数据生产者或上游业务系统人为失误、系统硬件故障和系统逻辑变更信息不对称;数据加工者对数据加工过程人为因素造成数据问题;数据消费者对数据理解不准确导致误用等问题。
因此,每周周会增加一个议题统计数据质量问题情况:数据质量监控计划、触发数据问题统计、数据问题修复迭代计划和数据问题复盘等,从监控计划、数据问题发现、数据质量问题修复跟进形成一个提升数据质量闭环。
识别数据质量问题途径:
- 配置数据质量监控规则,主动识别数据质量问题,及时响应修复,尽量避免或减少数据故障问题发生;
- 数据质量逐级下传由终端数据消费者识别,用户体验不友好。所以尽量主动完善监控数据质量覆盖范围和数据服务场景,让数据准确健壮武装到牙齿,无论是上游数据生产者业务系统还是数据加工者及时发现,让数据问题消逝于无形,提升用户数据使用友好体验。
- 确定数据监控数据范围
数据监控范围参考两个指标:
- 核心业务主流程关键数据
- 业务长期痛点的数据
各域需梳理出核心关键或长期痛点数据模型清单。
- 数据监控覆盖场景
- 离线报表
- 准实时报表
- 实时大盘
- 数据服务推送
- 算法依赖
- 数据分析依赖
- 其他(ftp file推送、olap下载,业务库数据推送)
- 数据质量QC监控规则覆盖
必须任务级监控项:
- 任务失败电话告警
- 任务延迟启动电话告警
- 任务延迟完成电话告警
其他监控项,根据实际需要数据监控,如易于漏数据的,做记录条数多少验证或记录数波动大小告警;稳定的枚举值个数、内容做完整性 包含 不包含等具体枚举值验证;门店清单完整性比较,如不按时日结完成,打电话告警门店负责人及全集图曝晒;维度表剔除重复处理;上游系统IP不通配置上游业务系统负责人及dba告警电话;关键字段非空告警监控。
参考数据质量监控规则:
序号 | 监控规则大类 | 监控规则 | 检测级别 | 备注说明 |
---|---|---|---|---|
1 | 有效性 | 字段内容长度有效性检测 | 字段级 | 字段内容长度异常检查,如手机号长度不等于11位,支持异常数占比检测 |
2 | 字段内容格式有效性检测 | 字段级 | 支持正则表达式对字段内容进行检查,身份证号内中文,常用正则表达式做到下拉可选【身份证、手机号、银行卡、邮箱等】,支持异常数占比检测 | |
3 | 字段数值范围有效检测 | 字段级 | 数值范围是否超出有效范围,如年龄300岁,支持异常数占比检测 | |
4 | 枚举值个数有效检测 | 字段级 | 枚举个数大于或等于某个值 | |
5 | 枚举内容有效有效检测 | 字段级 | 枚举值内容异常检查 | |
6 | 唯一性 | 检查是否存在重复 | 字段级 | 指定主键是否存在重复检查,支持异常数占比检测 |
7 | 完整性 | 字段内容是否为null | 字段级 | 字段为null或空串检查,支持异常数占比检测 |
8 | 记录条数环比波动检测 | 表级别 | 记录条数环比是否在合理范围阈值内波动 | |
9 | 记录条数方差检测 | 表级别 | 记录数方差在指定合理范围阈值内波动 | |
10 | 记录条数是否丢失检测 | 表级别 | 如记录条数大于指定的值 | |
11 | 记录数比对是否一致 | 表级别 | 两张表记录数是否一致 | |
12 | 准确性 | 数值同比 | 字段级 | 数值同比波动是否超出指定阈值 [同比年、同比季度、同比月、同比周]粒度可选 |
13 | 数值环比 | 字段级 | 数值环比波动是否超出指定阈值 [1-30]天可输 | |
14 | 字段间逻辑检查 | 字段级 | 表内字段之间存在大于、小于等逻辑关系检查, | |
15 | 数值方差检验 | 字段级 | 数值方差是否在合理范围内 | |
16 | 数值形变分析检验 | 字段级 | 数值是否正常 | |
17 | 一致性 | 两表间字段交叉验证 | 字段级 | 代表同一事物的数值,在不同的表内是否相同或一致的,如同一指标口径在不同报表是否是一致的,数值是否相等 |
18 | 表级别一致性检查 | 表级别 | 字段命名、comment是否为null、数据类型是否符合规范的表级别检查,通过与词根词组对比判断,是否符合标准规范 | |
19 | 编码一致性 | 表级别 | 检查编码表 | |
20 | 时效性 | 数据是否及时输出 | 表级别 | 如驾驶舱报表是否及时发出检测 |
21 | 自定义规则SQL | 自定义规则SQL | 表和字段级别 | 用户可根需要编写自定SQL来实现 |
必配置监控规则:
为了便于数据质量问题量化和跟踪直到修复,可从数据中台和各老平台数据质量元数据信息或电话告警元数据中,统计相关指标。
- DQ配置覆盖范围比例
- 每周触发数据质量问题按类型统计
- 响应处理时效和问题统计
- 从告警系统拉取统计告警电话数
- 数据质量监控迭代计划跟踪
- 经常告警,执行定期迭代计划
- 数据生产者(上游业务系统)问题跟进
- 数据加工者修复迭代计划
- 数据消费者(数据误使用,引导)
- 数据问题引起故障定责
- 其他
这里进行一些人性化或人文关怀,因半夜处理数据质量问题的,视情况可晚到等
- 总结
数据是对现实世界中人、物、事件动作、时间和空间等在网路空间的一种记录描述,企业对这些事物动作的数据进行分析、呈现、管理、决策,总结过去,把握现在,预测未来。可见数据质量好坏是数据最要的属性之一,数据质量监控能不以人的意志为转移地识别超出认知的是否有数据质量问题,数据质量监控好,数据开发背锅少。