写点什么

数据质量问题是“技术”问题还是“业务”问题?

  • 2020-06-12
  • 本文字数:3295 字

    阅读完需:约 11 分钟

数据质量问题是“技术”问题还是“业务”问题?


是不是感觉漫画中的场景很熟悉?没错,这种场景几乎每天都在企业中重复上演。

一、数据质量问题的危害

当前越来越多的企业认识到了数据的重要性,数据仓库、大数据平台的建设如雨后春笋。但 数据是一把双刃剑,它能给企业带来业务价值的同时也是组织最大的风险来源。糟糕的数据质量常常意味着糟糕的业务决策,将直接导致数据统计分析不准确、监管业务难、高层领导难以决策等问题,据 IBM 统计:


  • 错误或不完整数据导致 BI 和 CRM 系统不能正常发挥优势甚至失效

  • 数据分析员每天有 30%的时间浪费在了辨别数据是否是“坏数据”上

  • 低劣的数据质量严重降低了全球企业的年收入


可见数据质量问题已经严重影响了企业业务的正常运营,我着手数据质量项目近十年了,在实践中收获了一些经验。以下我将从数据质量问题的来源、责任主体等方面着手分析,并给出解决数据质量问题的策略,希望能给大家带来帮助。

二、数据质量问题来源

现在的数据集成融合就和古人筑堤坝一样,古人筑堤坝是为约束河水,扩展人类的生存空间;今人做数据集成融合,是为了挖掘数据价值,拓展企业的生存空间。那我们就在这个比喻的前提下,分析下数据质量问题的来源。


西汉的贾让在著名的治河文献《治河策》中提出了治理河水的策略,他认为在没有修筑大堤前,黄河“左右游荡,宽缓而不迫”,后来筑堤后,河道变窄,发生洪水时泄流不畅,常决口为患。


在企业信息化初期,各类业务系统恣意生长,这个阶段就像没有修筑大堤前的黄河,河水虽然漫流,但是河道宽阔,虽然也有数据问题,但不明显。


后来业务需求增长,需要按照统一的架构和标准把各类数据集成起来,这个阶段就像筑堤束水之后的黄河,泄流不畅、决口不断等问题纷纷出现,数据不一致、不完整、不准确等各种问题扑面而来。



费了九牛二虎之力才把数据融合起来,如果因为数据质量不高而无法完成数据价值的挖掘,那就太可惜了!大数据时代数据集成融合的需求会愈加迫切,不仅要融合企业内部数据,也要融合外部(互联网等)数据。如果没有对数据质量问题建立相应的管理策略和技术工具,那么数据质量问题的危害会更加严重

三、数据质量问题责任主体

人们在解决问题之前,往往会先分析出问题的责任主体,很多人可能在纠结,数据质量问题究竟“业务”的问题还是“技术”的问题?根据我以往的经验,造成数据质量问题的原因主要分以下几种:


1、数据来源渠道多,责任不明确。


2、业务需求不清晰,数据填报缺失。


3、ETL 处理过程中,业务部门变更代码导致数据加工出错,影响报表的生成。


我们发现 1 和 2 都是业务的问题,3 虽然表面看是技术的问题,但本质上还是业务的问题。因此大部分数据质量问题主要还是来自于业务。我在和很多企业做数据治理技术交流的时候,发现很多企业认识不到数据质量问题的根本原因,只从技术单方面来解决数据问题,没有形成以管理机制,导致效果大打折扣。现在走过弯路之后,很多企业认识到了这一点,开始 从业务着手解决数据质量问题了

四、解决数据质量问题,应该用“堵”还是用“疏”

弄清楚了数据质量问题来源、责任主体后,接下来就应该考虑如何解决。还以古人治理黄河水患为例来说明。


《治河策》中提出了治理水患的三种策略:“徙冀州之民当水冲者”为上策,主张不与水争地,能使黄河“宽缓而不迫”。中策是“多穿漕渠于冀州地,使民得以溉田,分杀水怒”,简单说就是分流,是上策的具体措施。下策是“缮完故堤,增卑培薄”,之所以是归为下策,是因为原来的堤防堤距过于狭窄,且堤线弯曲多变,再这样的基础上,无论怎么加高增厚,洪水问题也无法得到根本解决。



归纳总结下古人治理黄河水患,主要有两种套路,一种是“疏通”,上策迁移民众和中策分流黄河水患,都是具体体现;另一种是“围堵”,加高增厚堤防,抑制河水泛滥。



在治理数据质量的问题时,也可以应用下古人的智慧和考量。采用规划顶层设计,制定统一数据架构、数据标准,设计数据质量的管理机制,建立相应的组织架构和管理制度,采用分类处理的方式持续提升数据质量,这是数据质量管理 “疏”的方式。而单纯依赖技术手段,通过增加 ETL 数据清洗处理逻辑的复杂度,使用数据质量工具来发现 ETL 数据处理中的问题属于 “堵”的方式,只能解决表面的问题,不是根本的解决方法。这种方式其实也在好多企业中使用,其根本目的在于提高 ETL 处理的准确度,做法无可厚非,毕竟需求的出发点不一样,面临的现状也不一样。


按照我之前在多个行业实施数据质量管理项目的经验,数据质量管理的最佳实践是采用“疏”和“堵”相结合的方式,通过这种方式解决数据质量问题有几个要点:



1、定义业务问题、规划顶层设计


在解决数据质量问题之前需要定义清楚业务问题。是以提高主数据的质量为目标、以整改 BI 数据问题为目标,还是以满足风险管理、监管报送要求为目标。


在业务问题定义清楚之后,需要以业务问题为出发点,做顶层设计。设计好某业务主题的标准,以标准作为数据质量校验规则的准绳。数据标准的制定不在本文的讨论范围,这里就不在展开说了。这个是“疏”的最高境界,往往耗费的成本也比较高。


2、建立数据质量闭环管理机制


从问题定义、问题发现、问题整改、问题跟踪、效果评估 5 个方面建立相应的管理及认责机制。从业务出发做问题定义,由工具自动、及时发现问题,明确问题责任人,通过邮件、短信等方式进行通知,保证问题及时通知到责任人。跟踪问题整改进度,建立相应的质量问题评估 KPI。保证数据质量问题全过程的管理。


3、对不同数据的数据问题分类处理


在时间维度上分,企业数据主要有三类:未来数据、当前数据、历史数据。在解决不同种类的数据质量问题时,也要采取不同的处理方式。



  • 历史数据


如果你拿着历史数据,找业务部门给你做整改,业务部门通常以“当前的数据问题都处理不过来,哪有时间帮你一起追查历史数据的问题”为理由无情拒绝。这个时候即便是找领导协调,一般也起不到太大的作用。对于历史数据问题的处理,一般可以发挥 IT 技术人员的优势,用数据清洗的办法来解决,清洗的过程要综合使用各类数据源,提升历史数据的质量。


  • 当前数据


当前数据的问题,需要通过从问题定义、问题发现、问题整改、问题跟踪、效果评估 5 个方面来解决。具体可以参考我之前在普元微信公众号的文章《大数据是否值得信赖——浅谈商业银行数据质量管理》。


  • 未来数据


未来数据的处理,一般要采用做数据规划的方法来解决,从整个企业信息化的角度出发,规划统一企业数据架构,制定企业数据标准和数据模型。借业务系统改造或者重建的时机,来从根本上提高数据质量。当然这种机会是可遇而不可求的,在机会到来之前应该把企业数据标准和数据模型建立起来,一旦机会出现,就可以遵循这些标准。


这样,通过对不同时期数据的分类处理,采用不同的处理方式做到事前预防、事中监控、事后改善,能从根本上解决数据质量问题,为企业业务创新打通数据关卡。

五、总结

综上所述,数据质量问题需要业务部门参与才能从根本上解决。要发挥数据资产的价值,需要将组织、技术和流程三者进行有机结合,从业务出发做问题定义,由工具自动、及时发现问题,跟踪问题整改进度,并建立相应的质量问题评估 KPI。通过采用数据质量问题全过程的管理的“疏”和“堵”结合方式,才能最终实现提升数据质量持续提升的目标,支撑数据业务应用,体现数据价值。


参考文献


[1] DAMA international 著、马欢、刘晨等译.DAMA 数据管理知识体系指南.北京.清华大学出版社 2012.7


[2]王轩.建设大数据平台,从“治理”数据谈起[EB/OL],2017-06-23/2017-10-13.


[3]刘庆会.大数据是否值得信赖——浅谈商业银行如何提升数据质量 [EB/OL], 2016-04-14


[4]谢泽添.基于 CWM 的商业银行元数据仓库的研究与应用,2008-09-01


[5] 贾让.治河三策千古鉴.河北水利,2016(2):36-36


作者介绍


刘庆会


主要负责普元大数据治理产品的实施,十年大型企业信息数据治理架构设计与建设经验,为多家大型金融机构、企业设计与规划数据管理整体框架和项目实施,客户包括国家开发银行、中信银行、北京银行、重庆农商行、攀枝花银行、国家电网、浙江电力、新奥能源以及中国东方航空、中国国际航空等。数据行业有着深入的研究和洞察,并对企业信息化平台建设,数据治理及大数据平台建设有着丰富经验。


2020-06-12 17:522292

评论

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

全网首发!“阿里爸爸”最新出品SpringBoot高级笔记(内部笔记!)

白亦杨

Java 编程 程序员 架构师 计算机

Java对象还活着么(画画思维导图)

Beldon.Wu

Java

架构实战营1期第三模块作业

五只羊

架构实战营

模块三作业

seawolflin

架构实战营

外包3年,轻松从13K涨到27K,就因为吃透了这三份Java程序员必刷的算法宝典

愚者

Java 后端

花了一个星期做的面试文档后,发给在面试的朋友,他看完后竟然拿到好几个大厂的offer。震惊!!

偏执

Java 面试 后端

使用Apache Spark管理、部署和扩展机器学习管道(十一)

Databri_AI

机器学习 spark pandas

Vue进阶(幺捌肆):CodeMirror 应用小结

No Silver Bullet

Vue 7月日更 CodeMirror

学生管理系统架构设计

子豪sirius

架构实战营

一个 JVM 解释器bug在 AArch64 平台导致应用崩溃的问题分析

毕昇JDK社区

JVM

[架构实战营第一期]模块三作业

trymorewang

架构实战营

如何重写object虚方法

喵叔

7月日更

外包学生管理系统架构设计

gawaine

架构实战营

SpringBoot进阶篇

偏执

Java spring 后端

阿里面试技巧来啦!!!3技术面+2交叉面+1代码面+1HR面,offer轻松拿

愚者

Java 面试 后端

数据结构与算法全面笔记超级牛叉,你确定不进来看看???看了你绝对不后悔!!!

偏执

Java spring 后端

【架构实战营】模块三作业

Abner S.

架构实战营 #架构实战营

架构实战营作业 M03

Shawn Liu

架构训练营模块3作业

慕溶枫

架构训练营

2021年涌现大量低代码玩家,如何辨别低代码平台“真假”?

优秀

低代码

字节三面成功斩获offer,非常值得一看的500+面试题

愚者

面试 字节

从培训机构出来的程序员,刚开始就18k,真的适应得来吗?

愚者

Java

模块三作业:外包学生管理系统

buoge

网络攻防学习笔记 Day88

穿过生命散发芬芳

网络攻防 7月日更

阿里大出血!SpringBoot/SpringCloud全套学习脑图+面试笔记免费分享了

愚者

面试 Spring Cloud Spring Boot

App 用户新体验——Agora Native SDK 3.4.0

RTE开发者社区

人工智能 算法

饕餮台风vs人类,科技游击战术的进化

脑极体

模块三作业:外包学生管理系统架构文档

Felix

手慢无!(阿里内测版)SpringCloudAlibaba高级笔记全网首次公开

Java 编程 程序员 架构师 计算机

冲锋大厂!通过率达95%的Java面试要点来啦!

愚者

Java 面试

兄弟们来看我的Java面试资料大全!看了保证不亏,大厂欢迎你~免费的哦

偏执

Java 面试 后端

数据质量问题是“技术”问题还是“业务”问题?_文化 & 方法_技术琐话_InfoQ精选文章