数据元
什么是数据元:
《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一样的,或者直接是表格展示。 更简单的表格基本上就是库名、表名、元数据代码、字段名、数仓位置、上游 、下游、管辖单位、负责人等。
————————————————
原文链接:https://blog.csdn.net/qq_41116027/article/details/124392461