数据质量和数据治理的关系 | 京东云技术团队
很多不太了解的人会认为:数据治理就是干数据清洗的。
近两年,在我们公司,数据治理团队在数据降本方面做的比较多,效果还不错,我们很多人可能以为:数据治理就是做数据清理的。
在京东科技集团数据治理工作组第一次全体会议上,我就讲过数据治理和数据清洗之间的关系:
数据清洗只是指通过识别和纠正数据中的错误、缺失、重复或不一致等问题,确保数据质量的过程。
我的观点是数据质量和数据治理是一体的,没有数据治理,就不可能有良好的数据质量。通过进行数据治理,我们实现了数据质量。怎么会这样?那是什么意思?让我们来了解一下。
1 数据质量管理
更准确地说,数据质量或数据质量管理侧重于确保数据符合我们的数据质量维度。数据质量有很多维度,比如:
•完整性:是否填写了所有相关字段?
•有效性:所有值都符合吗?地址字段是否在正确的顺序和正确的拼写?
•准确性:数据是否反映了现实世界中的人或物体? 米老鼠可能不是一个真正的销售对象。
•一致性:数据是否与理解的模式一致?例如,出生日期的数据格式应为 YYYY/MM/DD/。
•唯一性:是否有重复的记录?
•及时性:它是最新的吗?
数据质量确保我们的数据符合这些维度。或者简单地说,数据质量管理确保我们拥有高质量的数据,干净的数据。
让我们扩展我们对数据质量管理的理解,并从DAMA国际的角度来看待它。数据质量是国际数据管理协会确定的11个数据管理领域之一:
1.数据治理通过建立一个考虑到企业需求的数据决策系统,为数据管理提供指导和监督。
2.数据架构定义了管理数据资产的蓝图,通过与建立战略数据需求的组织策略保持一致,并设计满足这些需求。
3.数据建模和设计是一个发现、分析、表示和交流精确形式的数据需求的过程。
- 数据存储和操作包括设计、实现和支持使其价值最大化。操作在整个数据生命周期中提供支持,从规划数据到处理数据。
5.数据安全确保数据隐私和机密性得到保护,数据不被破坏,数据被适当访问。
6.数据集成和互操作性包括与数据存储、应用程序和组织内部之间的数据移动和整合相关的过程。
7.文档和内容包括计划、实施和控制活动,用于管理在一系列非结构化媒体中发现的数据和信息的生命周期,特别是支持法律和法规遵从性要求所需的文档。
8.参考数据和主数据包括核心关键共享数据的持续核对和维护,使系统能够一致地使用关于基本业务实体的最准确、最及时和最相关版本的真相。
9.数据仓库和商务智能包括计划、实施和控制过程,以管理决策支持数据,并使知识工作者能够通过分析和报告从数据中获取价值。
10.元数据包括规划、实施和控制活动,以便能够访问高质量的综合元数据,包括定义、模型、数据流和其他对理解数据及其创建、维护系统至关重要的信息并访问。
11.数据质量包括质量管理技术的计划和实施,以测量、评估和提高数据在组织内的适用性。
根据DAMA的说法,数据质量包括质量管理技术的计划和实施,以测量、评估和提高数据在组织内的适用性。
实际上,数据质量在大多数其他数据管理领域中都发挥着作用。要保证数据安全,就不可能没有好的数据质量,元数据与数据质量的关系也是双向的,数据架构也会对数据的质量起到一定的作用,反之亦然。处于中心地位的数据治理确保所有这些数据管理领域结合在一起。
2 无论治不治理,数据质量都在那里
到现在为止,你可能会说:“好吧,我有点明白了,但我们没有做数据治理,数据质量也挺好。”如果是这样的话,我认为有两种可能的现实:
•真的没有数据治理
•有隐形的数据治理
让我们更详细地看一下这两个案例。
2.1 真的没有数据治理
如果数据治理不存在,那么我们可能会遇到以下一种、部分或全部情况:
•数据质量不是企业级全域的:你也可能认为是覆盖企业范围的,比如ERP,这并不意味着数据质量是企业范围的。尤其是在像我们这样的大型组织中,因为可能存在数据质量规则,这些规则仅根据该企业系统的利益相关者的输入创建,但这可能会影响那些不是系统利益相关者或用户的人,比如有集成相关的系统用户,也可能是数仓或者下游数据用户。
•缺乏通用标准:可能会创建数据质量标准,但前提是它们与特定部门、业务单位或系统的需求有关。一旦其他部门或系统加入到数据质量计划的工作中,这些标准就会发生冲突,需要解决方法或完全更改。
•没有明确的角色和职责:可能会分配负责清洗和维护数据的资源,但资源类型因团队而异。当标准、定义和优先级发生冲突时,也可能不清楚谁拥有所有权,谁负责解决。
•数据质量管理大多是被动的:这主要是数据质量管理处于早期阶段,也意味着缺乏数据治理。数据质量问题是以被动的方式识别和处理的,并不总是解决问题的根本原因。
2.2 有隐形的数据治理
就目前我们公司的现状开看,作为产研、数仓、数据集市、数据分析等团队成员,你实际上可能会说:“好吧,我们并没有像你上面描述的那样糟糕”。您实际上可能有:
•数据质量要求
•数据质量校验规则
•数据质量测试,甚至是监控
•数据质量问题处理
那么,你可能就有了我喜欢称之为“卧底数据治理”的东西。你可能有很多数据治理的工作内容,但没有正式、正规和专业化的数据治理。
3 数据质量和数据治理关系
我想我已经从上一节中明确指出,数据治理和数据质量是共生关系。它们是同一枚硬币的两面。没有数据治理,就不可能有良好的数据质量,而数据治理实施必须非常有效,才能从根本上解决数据质量问题。
实际上,数据质量和数据治理之间存在相当多的重叠,如下图所示:
数据治理描述了谁需要做什么、在什么条件下对什么数据执行操作,以及使用哪些流程、程序、工具和总体最佳实践。因此,很多因素都会对数据质量产生有益的影响,但不仅如此。业务规则、数据标准、指标、角色和职责等都有利于数据质量,因此是重叠的,但不仅仅是数据质量。主数据管理、数据可访问性、数据集成、元数据管理、BI,甚至数据安全等等都有直接的好处。
当然,也有一些领域只与数据质量有关,例如:数据概要分析、数据匹配、根因分析和数据清洗。
4 总结
很多时候,数据质量是数据治理的驱动因素之一,这是数据治理计划的最初重点,因此两者之间可能会混淆。但它们并不相同,它们是同一枚硬币的两面,而不是两枚硬币。
作者:京东科技 李然辉
来源:京东云开发者社区 转载请注明来源

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一次因PageHelper引起的多线程复用问题的排查和解决 | 京东物流技术团队
A、Problem Description 1. PageHelper方法使用了静态的ThreadLocal参数,在startPage()调用紧跟MyBatis查询方法后,才会自动清除ThreadLocal存储的对象。 2. 当一个线程先执行了A方法的PageHelper.startPage(int pageNum, int pageSize)后,在未执行到SQL语句前,因为代码抛异常而提前结束。 3. 这个线程被另一个请求复用,根据当前的pageNum和pageSize参数,执行了B方法中的SQL语句。 4. B方法的SQL是全表扫描并查询出所有符合条件的数据,所以因为A方法的分页参数限定<<实际B方法中符合条件的数据量,导致了B方法查询结果的错误。 B、Problem inspection Steps 1. Code Review 先看一下A方法的代码就会发现,在使用了PageHelper.startPage之后,Mybatis查询SQL之前,有很多判断逻辑,并且问题就发生在中间标红的异常情况判断。 B方法在执行到第一个SQL...
- 下一篇
streampark+flink一键整库或多表同步mysql到doris实战
streampark+flink一键整库或多表同步mysql到doris实战,此应用一旦推广起来,那么数据实时异构时,不仅可以减少对数据库的查询压力,还可以减少数据同步时的至少50%的成本,还可以减少30%的存储成本; streampark搭建 二进制包编译构建 编译构建二进制可执行包,使用自己构建的二进制包构建Docker镜像,需要准备一台Linux的服务或者是虚拟机,可以正常上网即可,在该台机子上需要事先安装Git(拉取源码文件),Maven和java环境(JDK1.8),我采用的是是上传的源码包:incubator-streampark-2.1.0.tar.gz,然后解压源码包: tar -zxvf incubator-streampark-2.1.0.tar.gz 解压到服务器上,然后进入到解压路径里面 执行: 到此streampark已经搭建完成,可以在web页面验证应用是否可以访问, 登录账号; 是否能创建 flink 搭建 执行: 到此flink特搭建完毕; web是否可以访问...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作