数据质量管理系统设计与实现(一)

  |   0 评论   |   2,623 浏览

概述

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

数据质量评估维度

完整性 Completeness:完整性用于度量哪些数据丢失了或者哪些数据不可用。

规范性 Conformity:规范性用于度量哪些数据未按统一格式存储。

一致性 Consistency:一致性用于度量哪些数据的值在信息含义上是冲突的。

准确性 Accuracy:准确性用于度量哪些数据和信息是不正确的,或者数据是超期的。

唯一性 Uniqueness:唯一性用于度量哪些数据是重复数据或者数据的哪些属性是重复的。

关联性 Integration:关联性用于度量哪些关联的数据缺失或者未建立索引

数据质量管理流程

image.png

①:录入数据指标

②:录入监控项

③:任务运行成功,调用数据指标计算服务,如果该任务的输出数据需要计算指标,则启动任务计算

④:数据指标计算服务读取配置的数据指标

⑤:开始计算新数据的指标值

⑥:监控服务检测指标值是否超过阈值,决定是否预警

核心概念

数据指标

为了能够衡量数据在各个维度的质量,我们需要一种统一的办法来进行量化,因此,我们抽象出数据指标(metric)的概念

数据级别的指标

  • 记录数:当前数据集的记录总数

字段级别的指标

  • 排重值:user_id、order_id  可以统计出单日的用户数和订单数等

  • 枚举值:pay_status,order_status等可以统计出该字段每个枚举值的count值

  • 聚合值:可以支持最大、最小值统计(比如价格)、字段不为空数、字段为空数、字段长度最大值

下面给出例子

添加指标

image.png

如针对订单表的pay_amount字段,我们可以制定出以下指标:最高值、最低值和当天的订单数

image.png

指标历史

有了指标,我们还希望对每天的指标执行计算,并存储下来,因此,我们还需要指标历史(Metric History)的概念

通过Metric History,我们可以知晓某一指标历史一段时间的数值情况,进而进行同比、环比对比等分析

如下,我们给出订单表每天的数据量

image.png

如果是枚举类型的指标,我们直接给出值的分布

image.png

监控项

有了数据质量指标,下一步就是针对这些指标进行监控了

我们可以定义一些常用的触发条件,如(A)指标(大于)(阈值M)时,通知(XXX)的条目,我们称之为监控项(Monitor)

添加监控项

image.png

当前我们支持的操作符:

image.png

如下图,我们针对总行数,指定了两个触发条件

image.png

读后有收获可以支付宝请作者喝咖啡