当前位置: 首页 > news >正文

数据中台:企业数据质量参差不齐?听听专家怎么说

本文节选自《数据中台》

作者:付登坡,江敏,任寅姿,孙少忆 等

1

   

数据质量管理的目标

数据质量管理主要解决“数据质量现状如何,谁来改进,如何提高,怎样考核”的问题。在关系型数据库时代,做数据治理最主要的目的是提升数据质量,让报表、分析、应用更加准确。时至今日,虽然数据治理的范围扩大了,开始注重数据的服务和共享,注重数据价值的运营,但是提升数据的质量依然是数据治理最重要的目标之一。

为什么数据质量问题如此重要?因为数据要能发挥其价值,关键在于其数据的质量的高低,高质量的数据是一切数据应用的基础。如果一个组织根据劣质的数据去分析业务、指导决策、进行创新,那还不如没有数据,因为通过错误的数据分析出的结果往往会带来“精确的误导”,对于任何组织来说,这种“精确误导”都无异于一场灾难。

另一方面,对于数据最主要的使用者数据科学家和数据分析员来说,每天都要花大量的时间辨别手上的数据是否可用,造成资源的严重浪费。可见数据质量问题已经严重影响了组织业务的正常运营。通过科学的数据质量管理,持续地提升数据质量,已经成为组织内刻不容缓的优先任务。

2

   

数据质量问题产生的根源

做数据质量管理,首先要搞清楚数据质量问题产生的原因。原因有多方面,比如在技术、管理、流程等方面。造成质量问题的原因通常很复杂,比如企业的信息系统一般是由外部的供应商承建的,在建设过程中,这些系统使用当时条件下不同的标准生产和使用数据,甚至没有标准,就只是当时的 IT 人员头脑里自己的“标准”。这种现象就导致系统间存在大量的重复数据、脏数据、不同口径的数据。

这些数据质量问题产生的原因,从本质上来说,还是由于管理不善导致的,技术和流程只是其表象。所以,要解决数据质量问题,也就不能局限于只想从技术角度来解决问题,希望通过购买某个工具就能解决质量问题,还是要从业务、管理、技术多方面入手。

从多个角度思考问题,整合资源,解决数据质量问题,重要的是建立一套科学可行的数据质量评估标准和管理流程。

3

   

数据质量评估的标准

当谈到数据质量管理的时候,必须要有一个数据质量评估的标准,有了这个标准,才能知道如何评估数据的质量,才能把数据质量量化,并知道改进的方向,评估改进后的效果。

目前业内认可的数据质量标准有:

3.1

   

准确性:描述数据是否与其对应客观实体的特征一致。

举例:用户的住址是否准确;某个字段规定应该是英文字符,在其位置上是否存在乱码。

3.2

   

完整性:描述数据是否存在缺失记录或缺失字段。

举例:某个字段不能为 null 或者空字符。

3.3

   

一致性:描述同一实体同一属性的值在不同的系统中是否一致。

举例:男女是否在不同的库表中都使用同一种表述。例如在 A 系统中,男性表述为 1,女性表述为 0;在 B 系统中,男性表述为 M,女性表述为 F。

3.4

   

有效性:描述数据是否满足用户定义的条件或在一定的取值范围内。

举例:年龄的值域在 0~200 之间。另一个枚举的有效性例子是银行的币种代码。

3.5

   

唯一性:描述数据是否存在重复记录。

举例:身份证号码不能重复,学号不能重复。

3.6

   

及时性: 描述数据的产生和供应是否及时。

举例:生产数据必须在凌晨 2:00 入库到 ODS(Operational Data Store,操作数据层)。

3.7

   

稳定性:描述数据的波动是否稳定,是否在其有效范围内。

举例:产品质量抽样统计的合格率,不会有超过 20%的波动范围。

3.8

   

连续性:描述数据的编号是否是连续的。

举例:政府处理环保违法案件,案件的编号必须是连续的。

3.9

   

合理性:描述两个字段之间逻辑关系是否合理。

举例:企业注销时间必须晚于注册时间,自然人的死亡时间必须晚于出生时间。

以上数据质量标准只是一些通用的规则,这些标准可以根据客户数据的实际情况和业务要求进行扩展,如进行交叉表数据质量校验等。

4

   

数据质量管理的流程

要提升数据质量,需要以问题数据为切入点,注重问题的分析、解决、跟踪、持续优化、知识积累,形成数据质量持续提升的闭环。数据质量的管理流程如图 1 所示。

图 1 数据质量管理流程

首先需要梳理和分析数据质量问题,摸清楚数据质量的现状。在这个过程中,需要使用到数据质量评估标准和评估工具,对业务数据进行全部或抽样的扫描,找出不符合质量要求的数据,形成数据质量报告,提供给用户参考。

然后针对不同的质量问题选择适合的解决办法,制定出详细的解决方案。如在落地到数据中心的过程中进行数据清洗,在数据录入的源头进行质量把控,对数据建模过程进行是否符合质量标准的审核等等。

接着是问题的认责,追踪方案执行的效果,监督检查,持续优化。在这一步,要真正地把每一个问题都落实到具体的责任人,并且形成一套最终的考核机制,督促相关的责任人持续不断地关注与提升数据质量。

最后形成数据质量问题解决的知识库,以供后来者参考。数据质量问题往往不是偶然出现的,许多问题都有其共性,比如由于在数据录入环节,对输入框中输入内容没有严格限定格式,会批量造成同样的数据质量问题,把这些质量问题的解决过程沉淀下来,形成知识库,有助于提升后续数据质量问题处理的效率。

上述步骤不断迭代,形成数据质量管理的闭环。

从以上流程中可以看出,要管理好数据质量,仅有工具支撑是远远不够的,必须要组织架构、制度流程参与进来,才能形成一套完整的、有效的管理流程。

5

   

数据质量管理的取舍

企业也好,政府也好,从来不是生活在真空之中,而是被社会紧紧地包裹。解决任何棘手的问题,都必须考虑到各种社会因素的影响,做适当的取舍。

第一个取舍:数据质量管理流程。前面讲到的数据质量管理流程,是一个相对理想的状态,但是不同的组织内部,其实施的力度都是不同的。举个例子:你很难想像某个企业中下级部门去跟上级部门进行数据质量的问责。这与数据治理的建设方在整个大的组织体系中的话语权有很大的关系。但这就是做数据治理必须接受的现实。遇到这种问题,只能采用迂回的方式,尽量弥补某个环节缺失带来的不利影响,比如和数据提供方一起建立起数据清洗的规则,对来源数据做清洗,尽量达到可用的标准。

第二个取舍:不同时间维度上的数据采取不同的处理方式。从时间维度上划分,数据主要有三类:未来数据、当前数据、历史数据。在解决不同种类的数据质量问题时,需要考虑取舍之道,采取不同的处理方式。

5.1

   

历史数据

一个组织的历史数据经过经年累月的积累,往往已经是海量的规模,无论是从成本还是难度出发,都很难一一处理。难道就没有更好的办法了吗?——对于历史数据问题的处理,可以发挥技术人员的优势,用数据清洗的办法来解决,对于实在清洗不了的,要判断投入和产出的效益比,决定是否要对所有的历史数据进行质量管理。

从另一个角度来看:数据的新鲜度不同,其价值往往也有所差别。在大多数情况下,历史数据的时间越久远,其价值越低。比如对于电商数据来说,相比十年前的购买记录,最近一两年的购买记录肯定更有价值。所以,不应该把最重要的资源放在历史数据质量的提升上,而是应该更多地着眼于当前产生和未来即将产生的数据。对于历史数据是否要进行管理,以“是否可商用”作为评判的标准。

5.2

   

当前数据

当前数据的问题,需要通过前一小节讲过的梳理和发现问题、分析问题、解决问题、问题认责、跟踪和评估等流程来解决,管理过程中必须严格遵循流程,避免脏数据继续流到数据分析和应用环节。

5.3

   

未来数据

管理未来的数据,一定要从数据资产管理的整体规划开始,从整个组织信息化的角度出发,规划组织内统一的数据架构,制定出统一的数据标准。借业务系统新建、改造或重建的时机,在创建物理模型、建表、ETL 开发、数据服务、数据使用等各个环节遵循统一的数据标准,从根本上提升数据质量。这也是最理想、效果最好的数据质量管理模式。

这样,通过不同的策略,对不同时期数据进行不同的处理,能做到事前预防、事中监控、事后改善,很大程度上解决数据质量问题。


6

   

推荐阅读

什么是数据中台?什么样的企业需要建数据中台?数据中台应该如何架构与设计?建设数据中台的系统方法论是什么?一个完整的数据中台有哪些组成部分?如何从0到1实现一个数据中台?数据中台应该如何运营?数据中台的安全如何保障?

……

以上所有问题都能在本书中找到答案!

本书从建设、管理、运营、安全4个维度详细讲解了数据中台概念、认知、架构、原理、组成,以及从0到1的完整过程。得到了阿里巴巴集团联合创始人谢世煌、原阿里集团副总裁卜鹰等近10位行业专家的高度评价和推荐!


扫码关注【华章计算机】视频号

每天来听华章哥讲书

更多精彩回顾

书讯 | 5月书讯(下)| 5天小长假,一起读新书

书讯 | 5月书讯(上)| 5天小长假,一起读新书

资讯 | DB-Engines 4月数据库排名:Redis有望甩掉“千年老七”?

书单 | 360漏洞响应平台(SRC)为白帽子挑选的10本互联网安全好书

干货 | 数据仓库分层存储技术揭秘

收藏 | 计算机系统之芯——从零开始设计CPU

上新 | 【新书速递】深入理解Java虚拟机HotSpot

点击阅读全文购买

相关文章:

  • 【新书速递】信息安全标委会委员推荐的金融科技安全工具书
  • 终于有人把A/B测试讲明白了
  • 学会这7个绘图工具包,Matplotlib可视化也没那么难
  • 多图详解数据中台建设框架(建议收藏)
  • ASC20-21超算大赛开战——有一群年轻人正在用超算的力量改变世界
  • 【第54期】“换道超车”:无人驾驶在中国的落地之路
  • 微服务究竟是“灵丹”还是“毒药”?
  • 【新书速递】字节跳动、360的智能硬件产品经验总结
  • 手把手教你用Scrapy爬取知乎大V粉丝列表
  • 这样构建的用户画像!想不懂你的用户都难
  • 【新书速递】硅谷和国内的数据中台有哪些区别?
  • DB-Engines 5月数据库排名:MySQL或将超越Oracle?
  • 如何评价一套合格的推荐系统?
  • 无处不在的架构之美
  • 《深入理解计算机系统》漫游指南
  • 【技术性】Search知识
  • Android单元测试 - 几个重要问题
  • avalon2.2的VM生成过程
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript HTML DOM
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 机器学习 vs. 深度学习
  • 技术胖1-4季视频复习— (看视频笔记)
  • 深度学习入门:10门免费线上课程推荐
  • 为什么要用IPython/Jupyter?
  •  一套莫尔斯电报听写、翻译系统
  • 应用生命周期终极 DevOps 工具包
  • 智能网联汽车信息安全
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​flutter 代码混淆
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (31)对象的克隆
  • (6)STL算法之转换
  • (LeetCode) T14. Longest Common Prefix
  • (补)B+树一些思想
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)计算机毕业设计大学生兼职系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (强烈推荐)移动端音视频从零到上手(上)
  • .Mobi域名介绍
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .net和php怎么连接,php和apache之间如何连接
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /etc/shadow字段详解
  • @EnableAsync和@Async开始异步任务支持
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [C++]unordered系列关联式容器
  • [CSS] 点击事件触发的动画
  • [Excel] vlookup函数
  • [javaSE] 看知乎学习工厂模式