【数据治理】数据元、元数据、主数据、参考数据概述
数据元
什么是数据元:
《GB/T 19488.1 电子政务数据元第1部分:设计和管理规范》 里是这样定义的:
数据元(Data element):又称数据类型,通过定义、标识、表示以及允许值等一系列属性描述的数据单元。在特定的语义环境中被认为是不可再分的最小数据单元。
举例说明:
语义环境:描述员工年龄的大小 age为数据元,“18“为数据元的值。
数据元一般来说由三部分组成:
对象类
:思想、概念或真实世界中的事物的集合,它们具有清晰的边界和含义,其特征和行为遵循同样的规则。特性
:对象类中的所有成员共同具有的一个有别于其它的、显著的特征。表示
:它描述了数据被表达的方式。
还是以前面的例子:
语义环境:描述员工年龄的大小 age为数据元,“18“为数据元的值。
对象是员工 ,特性是 年龄 age ,表示是 数值
语义环境:描述员工所属部门的编码 deptcode为数据元,“1001“为数据元的值。
对象是员工所属部门,特性是 编码 deptcode ,表示是 文本
元数据
什么是元数据
百度百科是这样定义的:
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
《DAMA数据管理知识体系指南》是这样定义的:
元数据最常见的定义是“关于数据的数据”。这个定义非常简单,但也容易引起误解。可以归类为元数据的信息范围很广,不仅包括技术和业务流程、数据规则和约束,还包括逻辑数据结构与物理数据结构等。它描述了数据本身(如数据库、数据元素、数据模型),数据表示的概念(如业务流程、应用系统、软件代码、技术基础设施),数据与概念之间的联系(关系)。元数据可以帮助组织理解其自身的数据、系统和流程,同时帮助用户评估数据质量,对数据库与其他应用程序的管理来说是不可或缺的。它有助于处理、维护、集成、保护和治理其他数据。
怎么理解呢?《DAMA数据管理知识体系指南》举了一个比较好理解的例子:
为了理解元数据在数据管理中的重要作用,试想一个大型图书馆中有成千上万的书籍和杂志,但是没有目录卡片。没有目录卡片,读者将不知道如何寻找一本特定的书籍甚至一个特定的主题。目录卡片不仅提供了必要的信息(图书馆拥有哪些书籍和资料以及它们被存放在哪里),还帮助读者可以使用不同的方式(主题领域、作者或者书名)来查找资料。如果没有目录,寻找一本特定的书将是一件十分困难的事情。一个组织没有元数据,就如同一个图书馆没有目录卡片。
面对数据总是会有以下的一些疑问:
-
**这个数据怎么来的?**谁创建的,谁更新的,从哪个系统来的…
-
**这个数据是什么?**数据的语义环境是什么,数据怎么存储的,数据的定位是什么…
-
**这个数据怎么用?**数据的应用场景是什么,有没有和其他系统共享,如果丢失会造成什么影响…
-
**这个数据怎么管理?**谁负责这个数据,这个数据怎么评定质量,谁有权访问这个数据…
为了更好的解决这些问题,从而使用元数据来记录数据相关的信息。
元数据的分类
元数据管理的范围将涵括数据产生、数据存储、数据加工和展现等各个环节的数据描述信息,帮助用户理解数据来龙去脉、关系及相关属性。按其描述对象的不同可以划分为三类元数据:业务元数据、技术元数据、和操作元数据。
业务元数据
业务元数据(Business Metadata)主要关注数据的内容和条件,另包括与数据治理相关的详细信息。业务元数据包括主题域、概念、实体、属性的非技术名称和定义、属性的数据类型和其他特征,如范围描述、计算公式、算法和业务规则、有效的域值及其定义。业务元数据的示例包括:
1)数据集、表和字段的定义和描述。
2)业务规则、转换规则、计算公式和推导公式。
3)数据模型。
4)数据质量规则和检核结果。
5)数据的更新计划。
6)数据标准。
7)有效值约束。
8)数据的安全/隐私级别。
技术元数据
技术元数据(Technical Metadata)又可以分成结构性技术元数据和关联性技术元数据。结构性技术元数据提供了在信息技术的基础架构中对数据的说明,如数据的存放位置、数据的存储类型、数据的血缘关系等。关联性技术元数据描述了数据之间的关联和数据在信息技术环境之中的流转情况。技术元数据的示例包括:
1)物理数据库表名和字段名。
2)字段属性(数据类型)。
4)访问权限。
5)数据CRUD(增、删、改、查)规则。
6)物理数据模型,包括数据表名、键和索引。
7)记录数据模型与实物资产之间的关系。
8)ETL作业详细信息。
9)文件格式模式定义。
10)源到目标的映射文档。
11)数据血缘文档,包括上游和下游变更影响的信息。
12)程序和应用的名称和描述。
13)周期作业(内容更新)的调度计划和依赖。
14)恢复和备份规则。
15)数据访问的权限、组、角色。
操作元数据
操作元数据(Operational Metadata)主要是指与元数据管理相关的组织、岗位、职责、流程,以及系统日常运行产生的操作数据。操作元数据管理的内容主要包括:与元数据管理相关的组织、岗位、职责、流程、项目、版本,以及系统生产运行产生的操作记录,如运行记录、应用程序、运行作业。
1)批处理程序的作业执行日志。
2)抽取历史和结果。
3)调度异常处理。
4)错误日志。
5)报表和查询的访问模式、频率和执行时间。
6)补丁和版本的维护计划和执行情况,以及当前的补丁级别。
7)备份、保留、创建日期、灾备恢复预案。
8)数据归档、保留规则和相关归档文件。
9)清洗标准。
10)数据共享规则和协议。
11)技术人员的角色、职责和联系信息。
元数据应用
经过前面的介绍,大概对元数据有个初步的印象,可能接下来就要问了:元数据有什么用?
先引入一个场景:
假设有一天,我们需要对某一些业务信息指标做一个报表统计,用于前端的数据展示,这些业务信息可能来自于不同的表,通过不同的ETL过程到目标数据仓库,最后展示在一个报表中,如下图所示:
血缘分析
举例:
假设你在管理报表,有一天你发现有报表数据中 指标3 的数据异常,你需要找出错误的数据并提交流程修正,那么这个错误数据从何而来?一个个核对数据显然不够高效,那你就得知道这个报表的的指标来源,元数据的血缘分析能帮助你分析这个错误数据的上游路径。
查看元数据可以发现:
指标3 是由数据集市的 B主题数据 经过ETL过程生成的 ,
B主题数据 又是 由 数据仓库中的table1 和 table 4经过ETL过程生成的
血缘分析是一种技术手段,用于对数据处理过程的全面追踪,从而找到某个数据对象为起点的所有相关元数据对象以及这些元数据对象之间的关系。元数据对象之间的关系特指表示这些元数据对象的数据流输入输出关系 。
由元数据构建的血缘分析,可以快速定位数据链路,明确ETL细节,缩小数据问题的范围。
影响分析
举例:
还接上面的例子,有一天你发现数据仓库的table2 数据错了,等你将table2数据更正后,此时你需要及时提醒大家这个数据的更正信息,只需要通知这个数据影响到的实体就可以了,然而整个报表流程的数据传递这么复杂,怎么判断哪些实体会受到这个数据的影响呢。
如果没有元数据,那我们可能需要遍历所有的脚本、数据。才能得到想要的答案;而如果有成熟的元数据管理,那我们就可以直接得到答案,节省大量时间。
数据地图
数据地图是一种图形化的数据资产管理工具,它提供了多层次的图形化展示,并具备各种力度控制能力,满足业务使用、数据管理、开发运维不同应用场景的图形查询和辅助分析需求。
为什么有数据地图:
如果公司的数据库里只有百十来张表,那基本上不需要啥数据地图,因为靠脑子就能全记住了。
但是,如果有好几个系统、几百张表,而且在数仓里还分了好多层,之间的关系错综复杂,谁能全部记得住啊?
这个数据地图主要解决这些问题:
平台由多少数据资源?
每个数据源由多少表、字段?
这些表、字段里面都是什么内容?
怎么获取这些数据?
为啥叫“数据地图”,其实就是借用了地图“找信息”的功能,意思是在“数据地图”功能中,能找到所有的数据。
数据地图不是跟百度地图、高德地图一样,而是跟ETL流程DAG一样的,或者直接是表格展示。 更简单的表格基本上就是库名、表名、元数据代码、字段名、数仓位置、上游 、下游、管辖单位、负责人等。
主数据
什么是主数据
《 主数据管理实践白皮书(1.0 版)》是这样定义的:
主数据(MDM:Master Data):指满足跨部门业务协同需要的、反映核心业务实体状态属性的组织机构的基础信息。主数据相对交易数据而言,属性相对稳定,准确度要求更高,唯一识别。
《数据管理知识体系 DMBOK1.0》 对主数据的定义:
主数据是关于业 务实体的数据,这些实体为业务交易提供关联环境。业务规则通常规定了主数据格式和允许的取值范围。主数据是关于关键业务实体的权威的、最准确的数据,可用于建立交易数据的关联环境。
从字面意思上可以理解成主要的数据,什么是主要的数据呢?在整个企业业务流程中起到关键作用,而且是比较常用的数据,在核心业务流程上产生的数据都是主数据,这么一解释可以发现主数据是可以检测企业发展是否健康的一种方式,但这么理解是有些偏差的。稍微严谨一点的定义就是主数据是整个企业中使用的核心、非交易性数据。请注意:这里指的是非交易性数据。举个例子,比如你在ERP系统中能够看到一些交易数据,比如订单产生的日期和编号、地点、金额、商品、用户、供货商、店铺之类的信息。那么这些信息中的产品、供货商、用户、地点这些都是主数据,也就是说参与到核心流程中的主体数据都是主数据,这些实体为业务交易和分析提供了上下文信息。
那订单交易记录又算什么呢?这里其实又扩展出来了另外一种数据类型:交易数据,也就是这些实体数据结合在一起产生了事件活动记录,那么这个记录就属于交易数据。例如通话记录、销售记录等等事件。这样看起来好像主数据是嵌入到了交易数据中了,但是主数据相对交易数据来说的话,属性是相对稳定的,而且可信度要求高,需要做到唯一识别 。
主数据的特点
根据主数据的定义,可以总结出以下的特点:
**(1)共享性:**主数据满足跨部门、跨系统、业务协调需要的共享数据
**(2)高价值:**因为主数据是跨部门、跨系统、多业务需要的,所以比一般的数据,价值更高
**(3)变化慢:**由于主数据是跨部门、跨系统的共享数据,反映核心业务实体的基本信息,其属性是相对稳定的
**(4)高质量:**主数据的重要性要求其必须保障数据质量、准确性和一致性
**(5)可集成:**主数据将各个系统共享的核心实体数据进行集中管理,制定统一标准规范
主数据的价值
主数据主要有以下三点价值:
- 消除数据冗余:不同部门按照自身需求获取数据,容易造成数据重复 存储,形成数据冗余。而主数据打通各业务链条,统一数据语言,统一数 据标准,实现数据共享,最大化消除了数据冗余。
- 提升数据处理效率:各部门对于数据定义不一样,不同版本的数据不 一致,一个核心也为主体有多个版本的信息,需要大量人力成本、时间成 本去整理和统一。通过主数据管理可以实现数据动态自动整理、复制,减 少人工整理数据的时间和工作量。
- 提高公司战略协同力:通过主数据的一次录入、多次引用,避免一个 主数据在多个部门和线条重复录入。数据作为公司内部经营分析、决策支撑的“通行语音”,实现多个部门统一后,有助于打通部门、系统壁垒,实现 信息集成与共享,提高公司整体的战略协同力。
参考数据
什么是参考数据
《DAMA数据管理知识体系指南(第2版)》是这样描述的:
参考数据是指可用于描述或分类其他数据,或者将数据与组织外部的信息联系起来的任何数据(Chisholm,2001)。最基本的参考数据由代码和描述组成,但是有些参考数据可能更复杂,还包含映射和层次结构。
怎么理解呢?参考的中文解释就是 查阅、利用有关资料帮助学习、研究或了解情况 。参照数据类比考卷对应的参考答案,是对数据内容的解释说明,也包括对数据的范围限定。
参考数据可用于描述其他数据,列举了一个服务单状态代码示例。
代码 | 描述 | 定义 |
---|---|---|
1 | 新建 | 表示一个新的服务单已经创建,但还未分配人员 |
2 | 已分配 | 表示一个新的服务单已经分配了服务人员 |
3 | 施工中 | 表示分配的服务人员已经开始处理 |
4 | 已解决 | 表示服务人员已经处理完成 |
5 | 已取消 | 表示该服务单根据交互情况已经取消 |
6 | 待定 | 表示服务暂时无法处理 |
7 | 已完成 | 表示请求已经处理完成 |
通过上面的参考数据,可以明确知道 代码值1-7表示什么状态,这些状态又代表什么业务含义。
参考数据可用于分类其他数据,列举一个通用标准产品与服务分类示例。
代码值 | 描述 | 上一级分类 |
---|---|---|
10161600 | 花卉植物 | 10160000 |
10161601 | 玫瑰 | 10161600 |
10161602 | 猩猩木 | 10161600 |
10161603 | 兰花 | 10161600 |
10161700 | 切花 | 10160000 |
10161705 | 月季切花 | 10161700 |
通过上面的参考数据,可以知道 通用标准产品与服务分类,当查找玫瑰的时候,能找到它是属于花卉植物的。
参考数据可以将数据与组织外部的信息联系起来,列举中国省市区编码对照表;
国家名称 | 省份名称 | 城市名称 | 区域名称 | 区域编码 |
---|---|---|---|---|
中国 | 北京 | 110000 | ||
中国 | 北京 | 北京市 | 110100 | |
中国 | 北京 | 北京市 | 东城区 | 110101 |
中国 | 北京 | 北京市 | 西城区 | 110102 |
中国 | 北京 | 北京市 | 崇文取 | 110103 |
中国 | 北京 | 北京市 | 宣武区 | 110104 |
中国 | 北京 | 北京市 | 朝阳区 | 110105 |
中国 | 北京 | 北京市 | 丰台区 | 110106 |
中国 | 北京 | 北京市 | 石景山区 | 110107 |
中国 | 北京 | 北京市 | 海淀区 | 110108 |
根据这个对照表可以和外部的地理信息或者定位信息联系起来。
参考数据是增加数据可读性、可维护性以及后续应用的重要数据。例如,你看到“性别”的这个字段,很可能是1代表男性、2代表女性。在许多企业中有这样的约定俗成,而更多的参考数据可能记录在开发人员和运营人员的大脑当中。但问题是一旦这些人离开,您系统里面的数据就成了一堆没有注释的天书。
可能会觉得这所谓参考数据不就是数据字典吗?对,在很多系统里面都会有这样和那样的数据字典。但是正是由于这些数据字典局仅限于个别系统而没有统一标准,从一个侧面间接造就了大量的数据孤岛。企业为了进行更有效率的数据整合、数据共享和数据分析应用,开始尝试对参考数据进行企业或者部门层面的整合和管理,利用参考数据集记录系统尝试为范围内的IT系统中的数据库提供统一的参考数据。