写点什么

十步法原则解决数据质量问题

2020 年 2 月 07 日

十步法原则解决数据质量问题

一、相关概念

1.1 数据质量

数据的一组固有属性满足数据消费者要求的程度。


1)数据固有属性


  • 真实性:即数据是客观世界的真实反映

  • 及时性:即数据是随着变化及时更新的

  • 相关性:即数据是数据消费者关注和需要的


2)高质量数据满足要求(消费者角度)


  • 可得的,当数据消费者需要时能够获取到;

  • 及时的,当需要时,数据获得且是及时更新的;

  • 完整的,数据是完整没有遗漏的;

  • 安全的,数据是安全的,避免非授权的访问和操控;

  • 可理解的,数据是可理解和解释的;

  • 正确的,数据是现实世界的真实反映。


1.2 数据质量管理

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


二、评估维度

任何改善都是建立在评估的基础上,知道问题在哪才能实施改进。通常数据质量评估和管理评估需通过以下几个维度衡量。常见的以下维度:


1)完整性


完整性,是指数据信息是否完整,是否存在缺失情况。数据缺失的情况可能是整个数据记录缺失,也可能是数据中某个字段信息的记录缺失。记录的完整性,一般使用统计的记录数和唯一值个数。完整性的另一方面,记录中某个字段的数据缺失,可使用统计信息中的 NULL 的个数进行审核。一般空值的占比基本恒定,同样可以使用统计的空值个数来计算空值占比,如果空值的占比明显增大,很可能这个字段的记录出现了问题,信息出现缺失。总而言之,完整性可用记录数、均值、唯一值、空值占比等指标来衡量。


2)规范性


规范性,是指记录是否符合规范,是否按照规定的格式存储(例如标准编码规则)。数据规范性审核是数据质量审核中比较重要也是比较复杂的一块。规范性检验主要是检验数据和数据定义是否一致,因此可以通过合规记录的比率来衡量。比如取值范围是枚举集合的数据,其实际值超出范围之外的数据占比,比如存在特定编码规则的属性值不符合其编码规则的记录占比。


3)一致性


一致性,是指数据是否符合逻辑,数据内单项或多项数据间存在逻辑关系。一致性检验,存在逻辑关系的属性之间的校验,比如属性 A 取某定值时,属性 B 的值应该在某个特定的数据范围内,都可以通过合规率来衡量。


4)准确性


准确性,用于度量哪些数据和信息是不正确的,或者数据是超期的。准确性可能存在于个别记录,也可能存在于整个数据集上。准确性和规范性的差别在于规范性关注合规,表示统一,而准确性关注数据错误。因此,同样的数据表现,比如数据实际值不在定义的范围内,如果定义的范围准确,值完全没有意义,那么这属于数据错误。


数据的准确性可能存在于个别记录,也可能存在于整个数据集。如果整个数据集的某个字段的数据存在错误,这种错误很容易发现,利用平均数和中位数也可以发现这类问题。当数据集中存在个别的异常值时,可使用最大值和最小值的统计量去审核,或者使用箱线图也可以让异常一目了然。


还有几个准确性的审核问题,字符乱码的问题或者字符被截断的问题,可以使用分布来发现这类问题,一般的数据记录基本符合正态分布或者类正态分布,那么那些占比异常小的数据项很可能存在问题。如果数据并没有显著异常,但仍然可能记录的值是错误的,只是这些值和正常值比较接近而已,这类准确性检验最困难,一般只能与其他来源或者统计结果进行对比来发现问题。


5)时效性


数据从产生到可以查看的时间间隔,也叫数据的延时时长。某些实时分析和决策需要用到小时或者分钟级的数据,这些需求对数据的时效性要求极高,所以及时性也是数据质量的组成要素之一。例如定义某张表在每月最晚达到的日期是几号。


6)唯一性


唯一性,用于度量哪些数据是重复数据或者数据的哪些属性是重复的。即对存在于系统内或系统间的特定字段、记录或数据集意外重复的测量标准。


7)合理性


合理性,是从业务逻辑角度判断数据是否正确。评估方面可参照规范性、一致性做法。


8)冗余性


冗余性,是指多层次数据中是否存在不必要的数据冗余。


9)获取性


获取性,是指数据是否易于获取、易于理解和易于使用。


三、影响因素

影响数据质量的因素主要来源于四方面:信息因素、技术因素、流程因素和管理因素。


1)信息因素


产生这部分数据质量问题的原因主要有:元数据描述及理解错误、数据度量的各种性质(如:数据源规格不统一)得不到保证和变化频度不恰当等。


2)技术因素


主要是指由于具体数据处理的各技术环节的异常造成的数据质量问题。数据质量问题的产生环节主要包括数据创建、数据获取、数据传输、数据装载、数据使用、数据维护等方面的内容。


3)流程因素


是指由于系统作业流程和人工操作流程设置不当造成的数据质量问题,主要来源于系统数据的创建流程、传递流程、装载流程、使用流程、维护流程和稽核流程等各环节。


4)管理因素


是指由于人员素质及管理机制方面的原因造成的数据质量问题。如人员培训、人员管理、培训或者奖惩措施不当导致的管理缺失或者管理缺陷。


四、解决质量问题方法

可以遵从下面的十步法原则(此部分摘自御数坊公开材料)。


1566207786967076843.jpeg


4.1 定义业务需求与方法

找出有哪些业务受到数据质量问题的影响,或者由于数据质量的改进将会为企业带来更好的业务效益的需求,评估这些业务需求并按照重要等级排序,作为本次数据质量提升的目标与范围。只有明确了业务需求与方法,才能确保要解决的数据质量问题是与业务需求相关的,从而真正的解决了业务问题。


4.2 分析信息环境

细化已定义的业务需求,识别出业务需求与数据、数据规范、流程、组织和技术(如系统、软件等)之间的关联信息,定义信息生命周期,确定数据来源及范围。通过分析信息环境,不仅可以为后续的原因分析提供帮助,也可以使我们对数据问题及现状有一个更全面、直观的理解与认识。


4.3 评估数据质量

从相关数据源提取数据,围绕已定义的业务需求,设计数据评估维度并利用相关工具完成评估,将数据质量评估结果以图表或报告形式准确的表达出来,使相关领导或业务人员都能够清晰的、直观的了解实际的数据质量情况,确保数据问题是与业务需求相关的,并能够得到相关领导或业务人员的重视与支持。


4.4 评估业务影响

了解低质量数据是如何影响业务的,为什么这些数据很重要,如果改善这些问题会带来哪些业务价值。评估方式的复杂度越高所花费的时间越长,不过与评估效果却并不一定成正比,所以在评估业务影响时也要注意方法的选择。另外,要将业务影响评估结果及时归档,这样,随着时间的推移即便问题被淡化,也能够有迹可查。


4.5 确定根本原因

在纠正数据问题之前要先确定其根本原因,产生问题的根源有很多。不过,有些问题的发生仅是表象,并不一定是导致错误数据的根本原因,所以在分析的过程中,要不断的去追踪数据进行问题定位,确定问题最早出现的根本原因;或者多问自己几遍“WHY”以弄清楚问题的根本原因,进而使问题得到有效的解决,达到治标又治本的效果。


4.6 制定改进方案

通过前面几步详细的问题分析及原因确定,在这一步则可以有针对性的制定出合理的数据质量改进方案,包括对已知数据问题的改进建议及如何预防未来类似错误数据的发生。


4.7 预防未来数据错误

根据解决方案的设计,预防未来错误数据的发生。


4.8 纠正当前数据错误

根据解决方案的设计,解决现有数据问题。这一步更多是”脏活累活”,但对于最终质量目标的达成至关重要。


4.9 实施控制监控

实施持续的监测,确定是否已经达到预期效果。


4.10 沟通行动和结果

对结果和项目进展情况沟通,保证整体项目的持续推进。


五、数据质量产品设计

5.1 数据产品价值

  • 完整检核标准梳理方法及指标规则模板。

  • 自动化的检核处理及问题通知机制,达到无人值守。

  • 提供全面的数据分析机制,加速问题解决。

  • 规范的问题管理流程及制度,精确管理问题每个阶段。

  • 完善的质量问题解决共享机制,实现数据治理的闭环管理。


5.2 处理问题流程

  • 确定规则:数据质量指标

  • 发现问题:数据质量检核

  • 提出问题:质量问题告警

  • 解决问题:质量问题分析

  • 归纳问题:问题管理流程


5.3 主要功能模块

1)质量评估


提供全方位数据质量评估能力,如数据的重复性、关联性、正确性、完全性、一致性、合规性等,对数据进行体检进而识别和理解数据质量问题。有评价体系作为参照,需要进行数据的采集、分析和监控,为数据质量提供全面可靠的信息。在数据流转环节的关键点上设置采集点,根据系统对数据质量的要求,配置相应的采集规则,通过在采集点处进行质量数据采集并进行统计分析,就可以得到采集点处的数据分析报告。


2)检核执行


提供配置化的度量规则和检核方法生成能力,提供检核脚本的定时调度执行和第三方调度工具的调度执行功能。


3)质量监控


系统提供报警机制,对检核规则或方法进行阀值设置,对超出阀值的规则进行不同级别的告警和通知。


4)问题管理


对数据问题进行流程处理支持,规范问题处理机制和步骤,强化问题认证,提升数据质量。通过质量评价体系和质量数据采集系统,可以发现问题,之后还需要对发现的问题及时作出反应,追溯问题原因和形成机制,根据问题种类采取相应的改进措施,并持续跟踪验证改进之后的数据质量提升效果,形成正反馈,达到数据质量持续改良的效果。


在源头建立数据标准或接入标准,规范数据定义,在数据流转过程中建立监控数据转换质量的流程和体系,尽量做到在哪发现问题就在哪解决问题,不把问题数据带到后端。


5)质量报告


系统提供了丰富的 API 可进行定制化数据质量包括开发,另外系统内置了常用质量报告。


6)质量分析


提供多种问题分析能力,包括血统分析,影响分析,全链分析,定位问题产生的根源。


本文转载自宜信技术学院网站。


原文链接:http://college.creditease.cn/detail/289


2020 年 2 月 07 日 20:40348

评论

发布
暂无评论
发现更多内容

开源整套Netty源码笔记+19个案例调优+游戏项目,终于彻底顿悟了

Java架构追梦

Java 源码 架构 Netty 游戏项目

掌握这些Java高级面试/知识点之后,轻松拿下各大厂Offer不在话下!

Java成神之路

Java 程序员 架构 面试 编程语言

智慧平安社区软件解决方案,社区大数据分析平台搭建

WX13823153201

智慧平安社区软件解决方案

AI人脸识别技术门禁系统解决方案智慧社区建设

13828808769

人脸识别 智慧城市 智慧平安小区平台开发 刷脸

面试官:数据库自增ID用完了会怎么样?

艾小仙

数据库

“阿里P8架构师”整理到深夜的Java技术文档:“Redis+Nginx+设计模式+Spring全家桶”

Java成神之路

Java 程序员 架构 面试 编程语言

Polkadot系列(四)——Polkadot茶溪岸啤(XCMP),干杯!

QTech

区块链技术 polkadot 跨链

消息队列优化(2) -- 几种基本实现

1412

消息队列 workflow srpc 异步调度 并行计算

UDP连接要不要发起connect

kof11321

网络编程

2020年国内前端团队都做了些什么?

徐小夕

前端 前端工程 前端进阶 技术栈 2021

曲折!目标腾讯,字节,拼多多;最后居然五面进了阿里?

Java架构之路

Java 程序员 架构 面试 编程语言

消息队列优化(3) -- grpc MPMCQueue 简介及各队列性能对比

1412

消息队列 workflow srpc 异步调度 并行计算

一个老程序员的2020年总结回顾,2021年如何变的更牛逼

陆陆通通

程序员 程序人生 年终总结

谁说明天上线,这货压根不知道开发流程!

小傅哥

Java 小傅哥 架构设计 开发流程 开发规范

重学JS | 数组知识点大全,必收藏!

梁龙先森

前端 编程语言

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

996小迁

redis 架构 面试 资料

呃?!!!我彻底忘了这件事😂

Nydia

消息队列优化(1) -- 鶸的介绍篇

1412

消息队列 workflow srpc 异步调度 并行计算

判断回文数字算法,swift 5初始化详解,时间管理计划落地,swift5 多线程高级用法 John 易筋 ARTS 打卡 Week 33

John(易筋)

ARTS 打卡计划 算法回文数字判断 时间管理计划落地 swift5 初始化详解 swift5多线程高级用法

关于一个梦(自我的死亡)

Yuchen

身心健康 心理 自我

软件架构设计方案实战

andy

面试腾讯,字节跳动首先要掌握的Java多线程,一次帮你全掌握

Java架构之路

Java 程序员 架构 面试 编程语言

干货|原来IPFS是这样存储文件的

QTech

区块链技术 IPFS 星际文件系统

微服务缓存原理与最佳实践

Kevin Wan

go 缓存 缓存穿透 缓存并发 go-zero

万字长文聊缓存(上)

Silently9527

Java nginx HTTP

阿里、有赞2020五轮技术面+一轮HR面,Java岗面经,面试题总结

Java成神之路

Java 程序员 架构 面试 编程语言

准备去阿里以及大厂面试你都需要会些什么?我从任职阿里的朋友口中,总结出了一些答案!

Java架构之路

Java 程序员 架构 面试 编程语言

敏捷与安全不可兼得吗?看完这篇文章后,我想说:未必!

华为云开发者社区

敏捷 安全 开发

我画了 40 张图就是为了让你搞懂计算机网络层

cxuan

计算机网络 IP 网络层 ipv6 ipv4

40亿条/秒!Flink流批一体在阿里双11首次落地的背后

Apache Flink

flink 流计算

江苏民丰 x mPaaS | 县域小银行,技术团队就12人,却找到了数字化转型的秘籍

蚂蚁集团移动开发平台 mPaaS

银行数字化转型 mPaaS

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

十步法原则解决数据质量问题-InfoQ