数据质量:数据治理的核心
点击上方蓝字关注DolphinScheduler(海豚调度)
背景
随着大数据时代的到来,流动的数据已经成为连接全世界的载体,也成为促进经济社会发展、便利人们产生生活的源动力。伴随着数据的流动,尤其是为了解决流动过程中产生的一系列问题,”数据治理“流行起来。而要了解数据治理及数据质量,还得从数据、数据治理、数据质量这些基本概念说起。
何为数据
数据是一个十分模糊的概念,至今信息学家们对数据也没有统一的定义。笔者这里给出了维基百科关于数据的定义。数据(英语:data)是指未经过处理的原始记录。但从艾略特《岩石》中的诗句:“我们在知识上所遗失的智慧在哪里?我们在信息中所遗失的知识在哪里?”备受信息学家的青睐。艾略特看似提出了一种层级结构,按照需求性从高到低依次排列为智慧、知识、信息。不过我们往往会运用同样的层级结构,再增加数据层。这种层级结构为数据、信息、知识、智慧。在这种观点下,数据是通过工具或机器搜集的原始资料。确切地说,数据是原始、未经处理的资料,甚至从未有人接触过、看过或者思考它。如“嫦娥四号”探测器从月球返回地球的信息流就是数据。信息就是经过某种处理并供人使用的数据。如比特流转换为图像等。知识指的是你知道的事情,也就是经过内化的信息,而智慧则是指了解如果运用知识。
数据、信息、知识、智慧这种层级结构是人类认知领域中的各个信息阶段。
随着对数据认知理解的深入,数据也可从不同视角进行分类:数据结构、是否可再生、数据保密等级、存储层次等等。
同样,从数据价值角度可分为数据资源、数据资产和数据资本。在数字经济发展历程中,数据起到了核心和关键作用,人们对数据价值的认识也是由浅入深,由简单趋向复杂。总体来看,数据价值的发展主要分为三个阶段:第一阶段是数据资源阶段,数据是记录、反应现实世界的一种资源;第二阶段是数据资产阶段,数据不仅是一种资源,还是一种资产,是个人或企业资产的重要组成部分,是创造财富的基础;第三阶段是数据资本阶段,数据的资源和资产的特性得到进一步发挥,与价值结合,通过交易等各种流动方式,最终变成了资本。
数据治理
数据治理定义很多版本,这里给出了DAMA国际数据管理协会对数据治理定义。数据治理是对数据资产的管理活动行使权力和控制的活动集合(规划、监控和执行)。
数据治理是高层次的、规划性的数据管理制度活动,其关键管理活动包括制定数据战略、完善数据政策、建立数据架构等,注重数据的使用者、使用方式、使用权限等合规性制定,强调开展数据资产全生命周期管理前的基础工作,关注数据资产管理中的相关保障措施。
2015 年,DAMA 在 DBMOK2.0 知识领域将其扩展为 11 个管理职能,分别是数据架构、数据模型与设计、数据存储与操作、数据安全、数据集成与互操作性、文件和内容、参考数据和主数据、数据仓库和商务智能、元数据、数据质量等。因数据治理涉及内容较多,本文先讲较重要的数据质量管理职能。
实际上,大数据处理的关键也是在解决数据质量问题,《大数据资产:聪明的企业怎样致胜于数据治理》作者托尼·费舍尔曾提到:“如果基本数据不可靠,大多数企业的大数据计划要么失败,要么效果低于预期。造成上述结果的关键原因在于,数据生命周期中流入了不一致、不准确、不可靠的数据。”,糟糕的数据质量常常意味着糟糕的业务决策,将直接导致数据统计分析不准确,监管业务难,高层领导难以决策等问题。
数据质量管理是数据治理的核心,数据治理工作最终是为了保证在一个组织内生产、供应和使用高质量的数据。
数据质量管理
数据质量问题早在 1957 年的时候,计算机刚刚发明的时候,大家就意识到数据对于计算机决策的影响,提出 Garbage In Garbage Out的警示。2001 年,美国公布《数据质量法案(Data Quality Act)》,提出提升数据质量的指导意见。2018 年,中国银行保险监督管理委员会发布《银行业金融机构数据治理指引》,强调高质量的数据在发挥数据价值中的重要性。数据质量是保证数据应用效果的基础。数据质量是描述数据价值含量的指标,如同矿石的含金量,数据质量的好坏决定着数据价值的高低。
缺乏数据质量管理会导致脏数据、重复数据、冗余数据、数据丢失、数据不一致、无法整合、责任缺失,糟糕用户体验等等低劣数据质量问题。于是对企业来说,提升数据质量的需求显得日益强烈。
在理想情况下,数据质量管理应制定并实施一项过程改进规划和流程,覆盖整个数据生命周期。从数据的初始创建、采集、存储、系统集成、归档和销毁。但实际上这不可能一次做完所有的事情,可为改善哪些流程设定优先级,有序分批完善。
数据质量控制方法论
提升数据质量需获取管理层的重视,在推动数据质量管理机制的建立,数据质量检测系统实现,数据质量文化的构建等方面,能获取更多资源。
1.获得管理层对数据质量的重视
数据是否支持公司的愿景和使命
愿景体现了企业家的立场和信仰,是这些最高管理者对企业未来的设想。使命指的是企业由社会责任、义务所承担或由自身发展所规定的任务。如阿里巴巴的使命:让天下没有难做的生意;其愿景:成为一家活102年的好公司。马云:“阿里巴巴不是零售公司,是数据公司”。如此庞大的数据公司若无数据质量战略,提升数据质量的全局的迭代规划和完善流程是无法完成和实现这样的使命和愿景。
数据资产化离不开高质量数据
数据资产化是指实现数据可控制、可量化和可变现属性,体现了数据价值的过程。但是数据质量好坏决定着数据价值高低,影响着数据资产的效益效果。且当前数据已经渗透到各行各业,日益成为企业不可或缺的战略资产。
数据驱动依赖高质量数据
当今如此多的工作是数据驱动的组织中,是否有准确的、可用的高质量数据直接影响领导层是否作出正确的决策和战略目标的实现。
获取管理层对数据质量的承诺不仅意味着获取数据质量项目需要的资源支持,还意味着管理层认识到高质量的数据价值,并愿意投资于改进工作并奖励有助于的此行为。
2.建立数据链管理机制
数据生产者
源系统:
源系统数据录入界面施加更好的限制来杜绝数据质量问题。如APP上,让用户需填写月收入信息时,设置档次范围,让用户选择,而不是输入框,英文或中文的数据录入。
系统之间的数据交换,制定符合数据质量标准的接口调用规范。调用第三方系统,双方约定好数据接口规范等。
源系统在系统设计和生产流程将数据消费者用途考虑在内。如不顾数据消费者需求存储大量json类型,不仅涉及数据安全还有无法更好使用这些数据。
ETL开发:
建立一套完整的相对全面的脱敏生产数据环境
提高数据开发人员意识。
列筛选会验证单个列中的数据。如判断这列是否存在空值、数值范围、枚举值内容等。
结构筛查会跨列验证数据的关系。如验证两列或者多列之间的层次关系(一对多等关系)等。
业务规则筛查实现更复杂的验证。如银行贷款的放款日期与起息日等等其他的复杂的逻辑关系测试。
数据知识管理:
系统建设和数据开发整合到项目开发的生命周期中,并伴随系统演进对它进行管理与维护。如元数据管理、系统文档和培训教材在利益相关者之间共享,包括数据质量的检测结果等。
数据管理者
制定数据质量标准和数据管控考核,分析数据质量问题和数据质量迭代整改计划制定和推动,数据使用的管理等等。
数据消费者
数据消费者仍有正确使用数据的责任,且负有了解数据知识的责任,必须知道他们使用的数据表示什么以及如何表示的,还有如何正确使用数据的责任。
从数据管理者、数据生产者到下游数据消费者需要被连接起来,以便通过数据链来创建更好的数据。
3.数据质量的检测和量化
数据质量检测系统
“工欲善其事,必先利其器”需对数据质量进行测量,就需要数据质量检测系统。笔者之前已经发过两篇关于批和流数据质量检测系统的技术实现说明,这里给出链接,不再赘述。
测量数据质量,监控关键数据
检测指标如下:
有效性
字段长度有效:
字段内容有效
字段数值范围有效
枚举值个数有效
枚举值集合有效
唯一性
对主键是否存在重复数据的监控指标。
完整性
字段是否为空或NULL
记录数是否丢失
记录数环比波动
录数波动范围。
记录数方差检验
准确性
数值同比
数值环比
数值方差检验
表逻辑检查
一致性
表级别一致性检查
时效性
表级别质量监控指标,数据是否按时产出
数据剖析
最大值检查
最小值检查
平均值检查
汇总值检查
自定义规则检查
用户写自定义SQL实现的监控规则
从有效性、唯一性、完整性、准确性、一致性、时效性、数据剖析和自定义规则检查等几个维度对数据质量进行测量,但对于现在超级大的数据量级监控所有的数据是不符合成本效率的。因此,知道哪些数据为最关键的,对这些关键数据进行全链路的数据质量,这样有助于防止错误或揭示改进的机会。
数据质量问题的量化
对于数据质量的检测结果进行分析和量化,查找出现质量问题的数据链环节,定位数据问题,实行问责机制。
4.保持对数据生产者对各自的数据质量负责
数据质量问责制
数据生产者是创建数据流程的所有者,要生产高质量的数据需要从消费者那里了解需求和期望,一旦这些需求和期望被定义完成,管理层必须确保数据生产者为他们的数据链环节负责。同时数据生产者还需提供系统相关数据知识,系统文档、元数据和培训教材,这些知识像数据本身一样,必须被共享和管理。还要制定机制他们对系统中可能会影响下游用户的任何更改进行沟通。数据消费者仍负有了解数据知识的责任和有正确使用数据的责任。将数据质量目标纳入绩效评估中。
5.构建注重数据质量文化
数据是企业成功的关键,因为它提供了企业决策的基础,成功执行数据质量流程需要一个治理结构(数据管理、数据质量问责制、倡导改善项目)。有效地利用数据需要一个支持结构(数据知识管理、元数据管理、员工培训,主数据管理),以及用于管理和解决问题的流程(升级和设定优先级,数据生产者和消费者之间建立起有效的沟通机制),支持结构和流程必须成熟,以确保企业能从数据资产中获取价值。可见生产高质量数据需要管理层重视,需要整个企业的承诺。
数据质量应该在整个数据生命周期过程中都能获得有效改善。源系统生产者都知道他们生产的数据的下游用途,数据存储团队都有测量和监控他们负责的数据质量的方法或系统,数据消费者有他们有效地使用数据所需的数据知识、元数据以及其他支持结构,且可以提供与数据和用途相关的输入和反馈,使得那些负责存储和数据的访问人员都能针对不断的发展的业务提高数据使用质量。数据质量超越了数据本身,还取决于管理层对质量文化的承诺。
总结
本文从数据、数据治理和数据质量管理基础概念开始讲解,并循序渐进地讲述数据质量起源、带来的负面影响及其重要性,其中给出笔者之前实现两篇流和批数据质量检测系统实现过程的文章链接,最后并给出数据质量控制方法论。从数据质量系统设计和实现,再加上数据质量控制方法论,本文算是对数据质量问题有个较为完整的讲解。
由于笔者知识及水平有限,因此文中错漏之处在所难免,恳请各位老师、专家不吝赐教。
往期文章分享
数据治理系列
戳原文,立刻奔向
DolphinScheduler 的 github 仓库一起玩耍,不妨点 star 收藏吆~