当前位置:   article > 正文

数据仓库-数据质量管理_数据质量知识库

数据质量知识库

一、数据质量管理定义

数据质量管理(Data Quality Management),是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。

数据质量管理不是一时的数据治理手段,而是循环的管理过程。其终极目标是通过可靠的数据,提升数据在使用中的价值,并最终为企业赢得经济效益

二、企业数据质量痛点

  • 数据问题该如何修复,缺少流程化

  • 数据链路缺少质量保障监控

  • 数据不能及时产出,影响到下游数据的应用

  • 用户使用数据无感知,除了表面的数据质量问题,隐藏的数据问题仍存在

三、数据质量管理维度

1、数据完整性

数据信息不完整:数据记录缺失,字段信息的记录缺失。

模型设计不完整:唯一性约束不完整,参照不完整

数据条目不完整:数据记录丢失或不可用

数据属性不完整:数据属性空值

2、数据规范性

规范性指的是描述数据遵循预定的语法规则的程度,是否符合其定义,比如数据的类型、格式、取值范围等。

3、数据一致性

致性:指数据是否遵循了统一的规范,数据集合是否保持了统一的格式。

数据质量的一致性:主要体现在数据记录的规范和数据是否符合逻辑,一致性并不意味着数值上的绝对相同,而是数据收集、处理的方法和标准的一致。

多源数据的数据模型不一致:命名不一致,数据结构不一致,约束规则不一致

数据实体不一致:数据编码不一致,命名及含义不一致,分类层次不一致,声明周期不一致

常见的一致性指标有:ID 重合度、属性一致、取值一致、采集方法一致、转化步骤一致。

4、数据准确性

准确性是指数据记录的信息是否存在异常或错误。和一致性不一样,存在准确性问题的数据不仅仅只是规则上的不一致,更为常见的数据准确性错误就如乱码。

常见的准确性指标有:缺失值占比、错误值占比、异常值占比、抽样偏差、数据噪声。

5、数据唯一性

用于识别和度量重复数据、冗余数据。重复数据是导致业务无法协同、流程无法追溯的重要因素,也是数据治理需要解决的最基本的数据问题。

6、数据及时性

数据的及时性(In-time)是指能否在需要的时候获到数据,数据的及时性与企业的数据处理速度及效率有直接的关系,是影响业务处理和管理效率的关键指标。

三、数据质量实施流程

1、事前管理

1.1 测试验证

测试需要有专门的数据测试人员进行测试,输出测试用例和测试报告。

  • 总量核对:核对上下两步的数据总条数,没有过滤条件的话应该是一致的。

  • 多维度统计:复杂的多维度指标拆分成单维度SQL统计,对每个指标分别进行核查。

  • 多表关联统计:拆分成中间表进行核对每一步骤的指标。

  • 明细到指标统计:比如随机找一台车的明细和最后统计的指标进行核对。

  • 新老统计对比:比如有些指标是迁移或者之前业务手工制作,可以开发后的新指标同老指标进行对比。

1.2 上线审核

需要对上线的SQL代码进行审核,主要从以下几个方面:

  • 对查询表的where后面的条件、join关联字段、group by分组字段等重点检查逻辑,和需求理解结合审核。

  • 数据集命名、数据集字段命名、任务名称进行审核,是否按照数据仓库建设规范中的业务域、维度、原子指标、修饰类型、修饰词、时间周期、派生指标等标准进行命名。

  • 代码注释审核,每一步处理需要有注释该步骤的作用,每个指标也要有注释,where条件等也要添加注释。

  • 重要任务是否开启短信告警,任务启动时间等审核。

  • 任务上线的位置是否符合上线标准,比如上线的数据层级与业务层级等。

上线审核需要审核人员按照以上步骤进行审核,对不合理的地方进行指正,审核人员和开发人员共同保障代码质量。

1.3 流程规范

需求上线时候需要在知识库中完成所开发需求逻辑说明

复杂需求(比如项目指标),需要团队至少两人以上评审需求后开发。

提交上线申请的同事需要备注上需求逻辑说明。

审核上线人员为“轮值”,审核上线人员需要review开发人员的代码,需要和开发人员共同承担代码质量

1.4 其他规范

数据模型规范:

数据结构清晰、分层明确-层级依赖、高内聚-低耦合-可扩展、规范化-反规范化等。

元数据规范:

字段描述、字段类型-长度-取值范围、枚举范围、主键唯一等。

命名规范:

表、字段名称,项目名称,文件名称、函数名称、编码规范等。

安全规范:

隐私字段脱敏、权限层级管控等。

上线规范:

唯一性校验、试运行正常、数据条数校验、NULL 值校验等。

2、事中监控数据质量

指标开发完成后,需要对指标的波动情况进行监控,发现波动较大的进行核查,指标波动范围需要具体业务具体制定,需要业务人员协助确认。常用的数据质量监控方法如下:

2.1 校验每天的记录数

分析师遇到的最常见数据异常是其报告的输出突然降至0。我们通常会发现最后的罪魁祸首是当天没有将新记录添加到相应的表中。一种简单的检查方法是确保每天一个表中的新记录数>0。

2.2 NULL和0值校验

分析师常遇到的第二个问题是NULL或0值。我们要保证每天增量数据中的NULL或0值不能超过新增数据的99%。要检查这一点,只需将一个循环脚本设置为每天用NULL或0计数一个表中的新记录数。如果看到记录数急剧增加,则可能存在转换错误或源业务系统就存在异常。

2.3 每天新增的记录数波动范围

某一天你发现数据量出现大幅增长或下降,而规则1和2都已校验通过。这种波动可能是正常的,比如电商行业某天的大促活动,或者社交软件的营销活动。但是也可能这就是异常的,是因为从源系统抽取了重复的记录。所以针对此种情况,我们也要制定数据质量规则,检查这些波动何时发生,并主动进行诊断。比如自动执行的一个简单的SQL过程,每天检查COUNT个新记录是否在7天跟踪平均值的误差范围内。阈值和误差范围可能因公司和产品而异,经验值一般是加减25%。当然,你可也可以直接和前一天的数据对比,增量不超过前一天的1倍。

2.4 重复记录数据校验

不管是电商系统或者是社交系统或者是物联网设备上报的数据,正常情况下都不会出现两条完全一样的记录(包括ID,时间,值都一样)。笔者曾遇到一个终端上报的两条数据完全一样的场景,导致我在做时间分段时候,划分不正确。所以,对数据值唯一性校验是有必要的。

2.5 数据时间校验

一般我们业务系统的数据都是带有时间戳的,这个时间戳肯定比当前的时间要小。但是由于采集数据设备异常(业务系统异常),我们会碰到“未来时间”的数据,那如果我们以时间作为分区,后期可能就会出现异常的分析结果。当然,如果你的公司业务是跨国的,你需要考虑时差因素。

3、事后分析和问题跟踪

每周定时跑一次程序,对全局数据进行质量稽核控制,如唯一性,非空性等对于程序跑出来的数据:数据质量概览在数据质量管理系统查询数据质量明细数据在数据质量管理系统查询根据异常数据统计出来的各种数据质量报表也可以在数据质量管理系统查询,包括表覆盖率,历史趋势,综合分析,排名分析等(质量报告支持导出为word,pdf,excel)对异常进行评估、严重程度、影响范围、问题分类等可以订阅自己比较关心的主题,表或者规则,邮件只会发送订阅内容对于打分比较低的表或者业务,可以反推业务方进行整改

4、数据质量监控(DQC)

4.1 DQC概念

DQC全称Data Quality Center,中文又称数据质量监控,用于监控表/字段数据的质量,防止问题数据流入下游任务,是数据仓库强有力的保障卡点,dqc触发于每个任务执行后

4.2 DQC种类

强规则:强规则可以中断任务的进行,将任务置于失败,并对任务负责人及值班人发送任务失败的消息(消息包括电话、邮件、短信、钉钉、飞书等)

弱规则:弱规则不能中断任务的进行,只对任务负责人及值班人发送任务失败的消息(消息包括电话、邮件、短信、钉钉、飞书等)

四、体系评价维度

数据完整性

☆ 考量数据项信息是否全面、完整、无缺失

★ 指标公式:表完整性和字段完整性的平均值

监控覆盖率

☆ 确保数据遵循统一的数据标准或规范要求

★ 指标公式:已监控作业个数/作业总个数

告警响应度

☆ 通过日常管理、应急响应,降低或消除问题影响,避免数据损毁、丢失

★ 指标公式:已处理告警个数(本周)/告警总个数(本周)

作业准确性

☆ 考量数据是否符合预设的质量要求,如唯一性约束、记录量校验等

★ 指标公式:1 - 告警作业个数(本周)/监控作业总个数

作业稳定性

☆ 考量作业的运行稳定性,是否经常报错,导致数据事故

★ 指标公式:1 - 错误作业个数(本周)/作业总个数

作业时效性

☆ 考量数据项信息可被获取和使用的时间是否满足预期要求

★ 指标公式:延迟的高价值作业个数/高价值作业总个数

作业性能分

☆ 考量作业的执行效率和健康度,诊断作业是否倾斜等性能问题

★ 指标公式:1 - 危急作业个数(本周)/作业总个数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/532579
推荐阅读
  

闽ICP备14008679号