1. 数据质量概述
数据质量是数据创建价值的保障基石,高质量的数据为数据统计、分析和应用提供了可信任的必要条件。
数据质量管理是指在数据创建、加工、使用和迁移等过程中,通过开展数据质量定义、过程控制、监控、问题分析和整改、评估和考核等一系列管理活动,提高数据质量以满足业务要求。
可按照"谁创建,谁负责;谁加工,谁负责;谁提供,谁负责"的原则界定数据质量管理责任,由数据流转环节的各责任方对管辖范围内的数据质量负责。对数据质量规则优先采取系统程序的自动化控制措施,并尽可能迁移管控点,从源头上控制数据质量。
应当建立一系列有效的方法和流程提升数据质量。
首先,应当明确定义数据质量需求和数据质量范围,在此基础上选定测量数据、制定测量规则,通过设计和建设数据质量检核模型进行数据质量问题识别,并深入分析原因。
再次,针对发现的质量问题分派责任方,拟定改进方案并执行改进和跟踪评估。
建立数据质量考核机制,且针对重要甚至重大问题进行有效问责。通过长时间积累的质量问题,进行问题分类管理,形成和丰富质量问题知识库,持续完善质量检核模型以及问题流程化管理。
数据质量审计工作评估数据风险度的和健康度,主要评估维度:
数据一致性:相同数据项在不同系统或同一个系统内不同表记录多次时,多个数据值是否相同。
数据准确性:数据是否符合数据标准中的业务定义。
数据完整性:业务需求所需的关键数据项在系统中是否有定义,或者关键数据项是否都采集了数据。
数据唯一性:是否满足一个业务唯一关键数据项值组合仅对应一条记录。
数据及时性:是否能够在数据需求定义要求的期限内获得最新的数据,或按要求的更新频率刷新数据。
数据真实性:数值是否反映了真实的业务情况。
数据精确性:数据的精确度是否满足要求。
2. 数据质量的重要性
数据质量为什么至关重要?因为拥有高质量的数据可以更好地了解任务情况,从而更精准地执行任何事情。
伴随着技术的进步,组织或企业能够收集大量数据,用好数据成为焦点。很多组织或企业并没有对数据进行质量管理,原因如下:
- 没有业务部门负责数据质量问题
- 数据质量需要跨职能合作
- 要求组织或企业认识到数据质量是一个重要问题
- 需要数据质量准则
- 需要投入财力和人力资源
- 投资回报往往难以量化
看起来,挑战大于好处
但是,数据质量务必重视,原因如下:
原因1:成本
数据质量差,是IT项目失败的主要原因。
原因2:合规
数据质量差的数据会带来重大的风险
比如,
- 数据缺失导致信用风险
- 信用记录不完整导致风险评估错误
原因3:决策
质量好的数据意味着有准确及时的信息来管理从研发到销售的产品和服务,这些数据服务就可以为业务带来巨大价值。
质量差的数据会误导业务做出错误决定,致使行动方向发生偏离。是否有准确的、可用的高质量数据,将直接影响领导层能否做出正确的决策和战略目标的实现。
因此需要特别重视数据的质量问题,针对数据质量进行专项治理。
3. 数据质量常见问题
发现数据质量常见问题有如下几个:
- 缺乏数据校验规则,导致数据缺失、数据不规则、录入错误数据或垃圾数据等问题
- 数据延迟,导致业务无法在正常时效内获得数据结果
- 数据问题发现滞后,数据开发晚于业务人员发现数据异常,导致影响已传导到数据应用端
- 数据问题发生后,排查分析耗时长,数据恢复慢
4. 数据质量问题原因
那么如何解决这些质量问题呢?
首先,我们需要了解这些质量问题产生的根本原因,了解问题才能更好解决问题
其次,对历次的数据质量问题进行复盘总结,通过长时间积累的质量问题,进行问题分类管理,形成和丰富质量问题知识库,持续完善质量检核模型以及问题流程化管理。
发现质量问题主要分为以下几类原因引发:
- 数据平台问题:队列资源不足等,导致作业运行延迟、报错。
- 数据开发问题:数据开发人员的任务脚本性能差,计算严重耗时,导致数据延迟;或者代码逻辑设计有问题,导致数据计算有误
- 上游系统异常:上游源系统异常,数据晚到,导致下游任务作业延迟
5. 数据质量治理
出现问题不可怕,可怕的是出现问题后,我们毫无感知,不能做到"早发现,早处理,早恢复",以致问题直接传导到业务方,影响业务开展工作。
大数据产品矩阵中,可以使用数据质量监控平台来支持数据质量的监控和治理,主要是对Hive数仓中的库表数据的质量进行监控,包括表级别和字段级别的数据进行监控,以减少或避免由数据质量引起的事故和损失。
通过实施下面几个关键步骤来进行数据质量治理:
- 配置监控规则
对高价值的作业,要求强制配置基础监控规则,如:主键唯一性校验、数据非空校验。
还可以根据业务场景需要,配置对应业务规则监控,平台内置了多种字段级校验规则和表级校验规则,供直接配置使用。
除了内置的校验规则,还支持SQL自定义监控规则,来满足各种数据监控场景。 - 监控告警
当监控规则识别异常时,支持以电话、邮件和短信等方式通知作业负责人进行跟进处理。 - 全链路数据监控
根据作业的价值,针对高价值作业,开发人员根据数据血缘,对上游作业依次配上监控,实现全链路的数据质量监控。
6. 数据质量评价体系
在执行了一系列的举措来提高数据质量后,如何来验证数据质量的治理效果呢?
需要设计和构建一个数据质量评价模型:
分别从数据完整性、监控覆盖率、告警响应度、作业准确性、作业稳定性、作业时效性、作业性能分等七个维度来考量平台的数据质量,基于该模型,还设计了数据质量分 这个指标,来直观反映平台数据质量的建设水平以及健康状况。
数据完整性:
考量数据项信息是否全面、完整、无缺失
指标公式:表完整性和字段完整性的平均值
监控覆盖率:
确保数据遵循统一的数据标准或规范要求
指标公式:监控高价值作业个数/高价值作业总个数
高价值作业:作业价值分在80分以上。
告警响应度:
通过日常管理、应急响应,降低或消除问题影响,避免数据损毁、丢失
指标公式:已处理告警个数/告警总个数(周为单位)
作业准确性:
考量数据是否符合预设的质量要求,如唯一性约束,记录数校验等
指标公式:1 - 告警作业个数/监控作业总个数
作业稳定性:
考量作业的运行稳定性,是否经常报错,导致数据事故。
指标公式:1 - 错误作业个数/作业总个数
作业时效性:
考量数据项信息可被获取和使用的时间是否满足预期要求。
指标公式:1 - 延迟的高价值作业个数/高价值作业总个数
作业性能分:
考量作业的执行效率和健康度,诊断作业是否倾斜等性能问题
指标公式:1 - 危急作业个数/作业总个数
从个质量维度的评价角度和指标公式可以发现,虽然数据质量监控的是表以及字段的质量情况,但质量分是设定在库这个级别。这么设计主要是为了更好的责任划分、统筹治理。
基于数据质量模型,我们还配套对应的数据质量监控报告。在报告中我们不仅能看到数据平台的整体质量评分,了解质量发展趋势,更能通过多维分析、单维下钻来了解平台的质量问题根源。
多维分析:详细展示七个质量维度的评分以及趋势变化,每个维度下还配有TOP榜,用来展示低质量的库排名,督促库负责人进行优化、治理。
单维下钻:每个质量维度都能从整体下钻到具体库以及表,深入了解该维度质量评分低的具体原因,以便针对性地解决问题、提高质量。
7. 总结
数据质量治理是一个长期的、持续性的工作,不可能期望一蹴而就。
治理过程中,需要不断优化质量短板,夯实质量基石。设目标、定责任,积极配合与行动,充分利用平台工具,让数据价值发挥耀眼光芒。
数据质量治理仅仅是数据治理的一个小环节,而企业内部的数据质量问题并非不治之症,根据行业最佳实践开展管理体系升级,配备必要软件,总会把问题给解决掉。