元数据:数据治理的基石
数据工匠俱乐部 今天

以下文章来源于BigDataplus ,作者后羿BigDataplus
背景:
据说,英语中元数据meta一词最早出现于1968年,其是对希腊语前缀"meta-“的粗略翻译,用于表明更抽象层次的事物。尽管元数据一词只有几十年的历史,然而几千年的图书馆管理员们一直在工作中使用着元数据,只不过我们先所谓的“元数据”是历史上被称为"图书馆目录信息”。图书目录中的信息解决了一个十分关键的问题,就是如何帮助用户在图书馆快速地、准确地找到想要的资料。
图为爱尔兰最古老的都柏林圣三一学院图书馆

图书目录中依然延续至今的信息片段:书名、作者或整理、主题、简介和篇幅。但如今其含有更多的信息,如出版社、出版时间、定价、条形码和上架建议等等。

如今的图书目录采用更多的信息片段。每本著作都有唯一的编码号码(图书馆的书一般带有手写或机打标签),根据某种编码方案(如杜威十进制分类法等)设计的纯数字或字母数字混编字符串,来帮助图书馆用户在书架上准确地快速地找到著作。
试想几种场景,一个藏有几千万册的图书馆没有分类编码存储;著作没有著作名称、作者、简介等;著作封面简介与内容不符;著作没有目录等等。就会出现这样的结果:

    图书馆无法管理的自己图书,很难统计馆内多少图书、每类图书多少图书馆无法根据大众读者喜好摆放某类图书的位置读者无法找到自己想读的图书读者费时费力地找到了图书,但内容与描述不符读者精疲力尽地找到了图书,但无法快速定位到某些章节读者心平气和地找到了图书,但内容是错误的读者心满意足地找到了图书,但内容是下册的,又必须从上册读起读者喜出望外地找到了图书,但内容是用甲骨文写的,用梵文作的注解(读者看不懂)读者欲哭无泪地找到了图书,但图书馆要下班关门了......读者崩溃了.....

同样道理,若企业没有做好元数据管理,那么数据消费者或数据分析师会面临上述读者的同类困境:找不到数据、找到没有上下文无法理解数据、理解了数据因数据格式无法使用、内容有误导致结果错误、查询性能低、数据加工好已经错过时效等等问题。解决上述困境或管好这些对事物的描述信息都属于元数据管理的概念范畴。
如果没有元数据管理,数据无法被有效地组织起来、被准确地理解、被合理地使用和产出预期的结果,那么数据价值无法发挥出来,于是数据变成了数据负债;如果没有元数据,那么数据的内容和真实性就难以估量,继而可能造成数据价值和可用性的降低。元数据是发挥数据价值的前提,是数据治理的基石。

何为元数据

“元数据是关于数据的数据”(准确地说这个定义不大实用,且不易被理解)。从数据、信息、知识和智慧人类认知领域的层次结构来讲,数据是通过工具或机器搜集的原始资料。确切地说,数据是原始、未经处理的资料或潜在信息。信息就是经过某种处理并供人使用的数据。知识指的是你知道的事情,也就是经过内化的信息,而智慧则是指了解如何运用知识。元数据是对潜在信息的信息,是关于数据的更高层次抽象,是对数据的描述。

准确的元数据是必不可少的,也是迅速有效地对数据去粗取精的关键。没有元数据,数据就毫无意义,只不过是一堆数字或文字而已。

元数据只是发挥数据价值的充分条件,“酒香也怕巷子深”如制定了合理并严格执行数据标准,通用的易用的模型设计数仓底座,极高的良性循环的数据质量,安全的顺滑的数据访问和数据共享机制和合理的高效的管理流程等,就亟须统一标准的、合理的、易用理解的、易用使用的元数据管理系统,不能把“好酒”(数据)埋没掉,要把数据宣传出去,让更多用户知晓、理解和高效使用,并使数据价值得最大发挥。

同时也应避免言过其实的“金玉其外,败絮其中”即数据不标准、数据质量较差、数据存在异常和形散而神散、重复建设及计算的数仓等等,即使有个华丽的元数据可视化展示,只会换来业务用户更多抱怨。

总之,名副其实是最好的,数据与元数据同步持续良性迭代优化。

元数据应用领域较广,种类甚多, 按照不同应用领域或功能,元数据分类有很多种方法或种类,元数据一般大致可为三类:业务元数据、技术元数据和操作元数据。各自包含内容如下:

业务元数据:

    指标名称、计算口径、业务术语解释、衍生指标等数据概念模型和逻辑模型业务规则引擎的规则、数据质量检测规则、数据挖掘算法等数据血缘和影响分析数据的安全或敏感级别等

技术元数据:

    物理数据库表名称、列名称、列属性、备注、约束信息等数据存储类型、位置、数据存储文件格式或数据压缩类型等数据访问权限、组和角色字段级血缘关系、ETL抽取加载转换信息调度依赖关系、进度和数据更新频率

操作元数据:

    系统执行日志访问模式、访问频率和执行时间程序名称和描述版本维护等备份、归档时间、归档存储信息

上述只是大致的分为三类,简单地列举常用的元数据信息,其实还包括结构性元数据、保存性和权限元数据等等这里就不一一列举了。

元数据管理

元数据也是数据,同样适用数据生命周期管理。元数据生命周期可分为采集、整合、存储、分析、应用、价值和服务几个阶段。

元数据架构

元数据战略是关于企业元数据管理目标的说明,也是开发团队的参考框架。元数据战略决定了企业元数据架构。元数据架构可分为三类:集中式元数据架构、分布式元数据架构和混合元数据架构。

集中式元数据架构:

集中式架构包括一个集中的元数据存储,在这里保存了来自各个元数据来源的元数据最新副本。保证了其独立于源系统的元数据高可用性;加强了元数据存储的统一性和一致性;通过结构化、标准化元数据及其附件的元数据信息,提升了元数据数据质量。集中式元数据架构有利于元数据标准化统一管理与应用。

分布式元数据架构:

分布式架构包括一个完整的分布式系统架构只维护一个单一访问点,元数据获取引擎响应用户的需求,从元数据来源系统实时获取元数据,而不存在统一集中元数据存储。虽然此架构保证了元数据始终是最新且有效的,但是源系统的元数据没有经过标准化或附加元数据的整合,且查询能力直接受限于相关元数据来源系统的可用性。

混合式元数据架构:

这是一种折中的架构方案,元数据依然从元数据来源系统进入存储库。但是存储库的设计只考虑用户增加的元数据、高度标准化的元数据以及手工获取的元数据。

这三类各有千秋,但为了更好发挥数据价值,就需要对元数据标准化、集中整合化、统一化管理。如果企业做功能较为完善的数据资产管理平台可采用集中式元数据架构。

元数据生命周期

笔者这里以集中式元数据架构为例讲解,通过对数据源系统的元数据信息采集,发送Kafka消息系统进行解耦合,再使用Antlr4开发各版SQL解析器,对元数据信息新增、修改和删除操作进行标准化集中整合存储。在元数据集中存储的基础上或过程中,可提供元数据服务与应用,如数据资产目录、数据地图、集成IDE、统一SQL多处理引擎、字段级血缘关系、影响度分析、下线分析、版本管理和数据价值分析等(这些元数据应用可根据产品经理设计理念进行优化组合,笔者这里拉平排列各功能应用,为了方便讲解各元数据应用模块)。这里就包括了元数据采集、整合、存储、分析、应用等阶段的生命周期。

元数据管理与常见元数据应用:

数据资产地图

数据资产地图包括数据资产目录和血缘关系等。通过对元数据的标准化、加工整合形成数据资产地图。数据资产地图一般可支持全文搜索和模糊查询表信息检索、也支持按照关系查找或按主题域层级查找。一般采集Elasticsearch做元数据信息检索和Neo4J做血缘关系的数据地图。如图:

检索表的元数据信息包括分层信息、分层数据库数量、每层功能描述、数据库表数量、总计存储大小、存储类型、实际表存储位置,表基本信息包括主题分类、所属主题、主题描述、表名称、表数据功能简介、表类型、表创建人、表更新人、创建时间、更新时间、数据更新人、数据更新时间、表预估数据量、表文件大小、表文件个数、表文件存储格式、表压缩格式、数据质量评分、数据热度、更新频率、大致更新完成时间等等。

还包含指标业务元数据信息如下:

元数据信息也要包括归档和已销毁的数据记录的元数据信息。归档元数据信息便于数据分析师查找,快速恢复,重新使用挖掘出数据价值。已销毁元数据信息便于数据安全管理。

还包括未采集数据资产管理平台的元数据信息,实际数据还分布在各个源系统的数据,需要抽取、转换、清洗和加载到数据平台的相关流程和ETL工具,便于业务用户元数据查找和数据使用。

版本管理

元数据版本管理功能,可对元数据进行发布、查看历史版本、导出历史版本和版本对比操作。在元数据未发布或未正式上线使用时,其他仅有使用权限的用户无法查看此版本信息,这样保证了元数据系统权威性和可靠性。这里同样涉及影响度分析和下线分析元数据应用模块,如表结构变更、删除等下游系统都能做到动态感知提醒或告警功能,下线分析也是如此。

血缘关系

血缘关系包含了集群血缘关系、系统血缘关系、表级血缘关系和字段血缘关系,其指向数据的上游来源,向上游追根溯源。这里指的血缘关系一般是指表级和字段级,其能清晰展现数据加工处理逻辑脉络,快速定位数据异常字段影响范围,准确圈定最小范围数据回溯,降低了理解数据和解决数据问题的成本。

在传统的ETL工具如Informatica、DataStage和开源Kettle中都有相应血缘关系,以informatica ETL工具的表级血缘关系和字段级血缘举例,如图:

(上图:表级血缘关系)

(上图:字段级血缘关系,也称mapping)

但只能展现使用这些传统ETL工具的血缘关系,其他方式ETL却无法生成血缘关系。其不灵活也不便于元数据统一集中管理。

大数据时代,大部分企业数据仓库都使用Hive作为数仓存储和ETL数据加工,如果是单一Hive处理引擎,可使用Hive Hook直接解析字段级血缘关系和表级别血缘关系。如果多种计算引擎就使用上述笔者给出技术架构图,通过对不同存储和计算引擎监听动作,使用Antlr4开发各版本SQL解析工具,动态识别元数据信息变更、删除和新增实时或准实时生成集群血缘关系、系统血缘关系、表级血缘关系和字段血缘关系。通过从语法树遍历解析后存储Neo4j图数据

影响度分析

影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造时,能动态数据结构变更、删除及时告知下游系统。通过依赖数据的影响性分析,可以快速定位出元数据修改会影响到哪些下游系统,哪些表和哪些字段。从而减少系统升级改造带来的风险。

下线分析

下线分析和影响度分析功能大致相同,只是应用的侧重点不同,下线分析是根据数据热度,对冷数据或冰数据归档下线时,是否对其他应用造成依赖影响,便于数据归档操作。

数据价值分析

数据价值分析主要是对数据表的被使用情况进行统计,价值密度、访问频次、使用方式、时效性等级等维度评估,从而评级出数据热度,热数据、温数据、冷数据和冰数据。数据价值访问评估一些常用的维度:表的访问频率分析、表分区数据访问分析、跨表访问分析、跨层访问分析、跨库访问分析、字段访问频率分析、表访问用户量分析和分层表访问总量分析等。数据热度应随着时间的推移,数据价值会变化,应动态更新数据热度等级,推动数据从产生到销毁数据生命周期管理。总之,在成本可控、可量化、可管理的前提下,从数据中挖掘出更多有效的数据价值。

集成IDE

为了方便数据提供者或数据分析师数据收集、清洗、加工数据的方式不同,集成IDE集成了不同数据开发语言或工具,如集成Python、R、Shell和各版本数据处理引擎的SQL。这是统一的数据开发加工入口。每个元数据应用模块都不是独立的,需要其他元数据应用模块如数据资产地图和数据目录集成,便于快速定位分析师要查找的数据和准确地理解数据,从而提高了数据加工或数据分析的效率。

统一SQL路由引擎

集成IDE开发中提到统一SQL路由引擎,其统一使用HQL语言智能地路由多种执行引擎。这降低了用户熟悉其他SQL的学习成本,其可屏蔽了多种引擎SQL差异,可基于SQL复杂度和成本估算、优先级和各引擎集群空闲程度,把用户提交的SQL路由到合适的执行引擎,如果Hive转换Presto、Spark或其他引擎执行失败,则使用Hive引擎来补救执行,最终都会返回结果。统一SQL路由引擎是使用Antlr4实现的词法文件,具体实现可参考笔者之前的文章,这里给出链接如下:
Antlr4实战:统一SQL路由多引擎
元数据应用还有很多,如数据探查、元数据对比分析是否存储重复计算和重复存储等等,限于篇幅,不一一列举。
总结:
如何从数据中探索信息、发现知识,寻找隐藏在数据中的趋势、模式、相关性及隐含规律,都要我们用于更好的数据洞察力,而这种洞察力的基础来自我们对元数据的理解。
元数据是用数据管理数据,是快速查找数据、精确定位数据、准确地理解数据和快速使用数据的关键。元数据管理还须符合数据标准、较高的数据质量、数据安全、数据共享、合理顺滑管理流程。在存储、计算和人力成本合理可控、可管理的前提下,使数据价值得最大发挥,是数据全生命周期管理重要组成部分。是提升数据价值发挥的前提,是数据治理的基石。

元数据:数据治理的基石相关推荐

  1. 元数据管理——企业数据治理的基石

    ​数字化时代,不少企业开始数字化转型,开始收集整理数据,但在使用途中,通常会发生数据泄露,安全没办法得到保障:数字管理混乱,查找困难,无效失效数据偏多:数据流程复杂,流程不畅,无法有效赋能业务. 这些 ...

  2. 数据治理-DAMA元数据模块总结

    最近在看DAMA元数据模块做了如下的总结,供大家参考学习 1.什么是元数据 元数据的定义是关于数据的数据,它不仅仅包括了技术和业务流程.数据规则和约束,还包括逻辑数据结构和物理数据结构等. 它描述的是 ...

  3. 浅谈数据治理体系演进

    网易内部如严选.云音乐.传媒等数据团队对数据内容体系的治理思路都是将治理规范融入到开发过程中,将治理的动作提前,这其实就是"开发治理一体化":事后依赖数据资产健康评估和治理工具进行 ...

  4. 数据治理 主数据 元数据_我们对数据治理的误解

    数据治理 主数据 元数据 Data governance is top of mind for many of my customers, particularly in light of GDPR, ...

  5. 终于有人把数据治理的元数据、主数据等概念讲明白了

    DAMA国际数据管理协会对数据治理定义:数据治理是对数据资产的管理活动行使权力和控制的活动集合(规划.监控和执行). 数据治理涵盖了从前端业务系统.后端业务数据库再到业务终端的数据分析,从源头到终端再 ...

  6. 数据治理:元数据及元数据管理策略、方法和技术

    导读:这篇文章来自笔者的<一本书讲透数据治理:战略.方法.工具与实践>,可能是电子版流出,不知被哪位大佬摘录到公众号上了.在公众号搜索了下,这篇文章还挺受欢迎,多个数据类公众号都转载了,全 ...

  7. Hadoop生态系统的元数据管理和数据治理平台--Atlas 学习

    最近在规划数据治理的功能,所以研究了一下Apache Altas Atlas 介绍 Atlas 是apache下的大数据的元数据管理和数据治理平台,是Hadoop社区为解决Hadoop生态系统的元数据 ...

  8. 元数据与数据治理|大数据治理(第九篇)

    魅族大数据平台的一个技术分享活动,话题是<大数据治理之路>.魅族大数据平台工作人员分享了一些他们的大数据治理经验,很有内容. 首先,他们整理了一个治理流程,架构图 然后,依照架构图,大致讲 ...

  9. 如何理解元数据、数据元、元模型、数据字典、数据模型这五个的关系?如何进行数据治理呢?数据治理该从哪方面入手呢?

    如何理解元数据.数据元.元模型.数据字典.数据模型这五个的关系?如何进行数据治理呢?数据治理该从哪方面入手呢? 导读 一.数据元 二.元数据 三.数据模型 四.数据字典 五.元模型 导读 请问元数据. ...

  10. 数据治理三大件:元数据、数据标准、数据质量(PPT)

    数据治理职能是指导所有其他数据管理领域的活动.数据治理的目的是确保根据数据管理制度和最佳实践正确地管理数据.而数据管理的整体驱动力是确保组织可以从其数据中获得价值,数据治理聚焦于如何制定有关数据的决策 ...

最新文章

  1. [BZOJ2693]jzptab
  2. css经典布局——头尾固定高度中间高度自适应布局
  3. DSP Builder
  4. leetcode49. 字母异位词分组
  5. net core mysql 组件记录
  6. 软件测试人员的职业发展之路,写给那些还在迷茫的测试人
  7. 浅谈国内信息化项目的范围管控变更办法
  8. 排队论----学习反馈
  9. 计算机吴军科学家个人故事,吴军:阅读与写作50讲+吴军个人成长书单
  10. FastReport.Net报表工具 vs RDL标准报表定义语言
  11. 关于win10系统中谷歌浏览器崩溃的问题
  12. 【亲测】80个经典在线休闲H5小游戏源码合集,直接上传空间即可使用,可玩性还不错
  13. 现金流动负债比率 和 ROE详解
  14. 在vue-cli项目中,如何使用网易云信
  15. 【java】-XX:-OmitStackTraceInFastThrow只有空指针,没有堆栈信息
  16. iOS开发实习一周工作和收获记录
  17. Https-证书应用
  18. 微软公司等数据结构+算法面试100题
  19. 布尔型函数 c语言,C语言中的布尔值
  20. 多线程 常见的线程方法

热门文章

  1. SQL Server 常用高级语法笔记
  2. python 实现Hadoop的partitioner和二次排序
  3. Linux备份数据 结果为0 原因:mysqldump command not found
  4. 自定义一个可以使用foreach语句进行迭代的类(IEnumerable)
  5. head禁用页面缓存
  6. Linux 2.6下Driver开发的34个变化
  7. MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...
  8. 数据库SQL语言学习--上机练习3(插入 更新 删除)
  9. 【Codeforces Round #299 (Div. 2) C】 Tavas and Karafs
  10. Laravel配置DingoAPI和JWT