这篇文章主要从数据治理的基础和核心之一:元数据 入手,从以下几个角度展开具体讲解:
元数据概念
元数据的分布和采集
元数据的一些实际应用场景
1.元数据到底是个啥?
简单点,其实元数据相当于数据的户口本。
户口本是什么?它除了包含个人姓名、年龄、性别、身份证号码等各种基本描述信息外,还有这个人和家人的血缘关系,比如说父子,兄妹等等。所有的这些信息加起来,构成对这个人的全面描述,也可以称之为这个人的元数据。
同样的,如果我们要描述清楚一个实际的数据,以某张表为例,我们需要知道表名、表别名、表的所有者、数据存储的物理位置、主键、索引、表中有哪些字段、这张表与其他表之间的关系等等。所有的这些信息加起来,就是这张表的元数据。这么一类比,我们对元数据的概念可能就清楚很多了:元数据是数据的户口本。
2.元数据管理,是数据治理的核心和基础
如果让你带兵打仗,现在你必须要掌握的信息是什么?没错,一张战场的地图必不可少!而元数据在数据治理当中,就相当于所有数据的地图。
在这张关于数据的地图中,我们可以知道:
我们有哪些数据?数据分布在哪里?这些数据分别是什么类型?数据之间有什么关系?哪些数据经常被引用?哪些数据无人光顾?
……
所以,如果我们做数据治理,却没有掌握这张地图,就犹如瞎子摸象。后续的文章中我们要讲到的数据资产管理,知识图谱,其实大部分也是建立在元数据之上的。所以我们说:元数据是一个组织内的数据地图,它是数据治理的核心和基础。
3.元模型又是谁?
元模型 (Meta Model),是描述元数据的数据。
对于元模型的概念,我们不做深入的讨论。我们只需要知道下面这些:元数据本身的数据结构也是需要被定义和规范的,定义和规范元数据的就是元模型,国际上元模型的标准是 CWM(Common Warehouse Metamodel,公共仓库元模型),一个成熟的元数据管理工具,需要支持 CWM 标准。
4.元数据从哪来?
在大数据平台中,元数据贯穿大数据平台数据流动的全过程,主要包括数据源元数据、数据加工处理过程元数据、数据主题库专题库元数据、服务层元数据、应用层元数据等。
业内通常把元数据分为以下类型:
技术元数据:库表结构、字段约束、数据模型、ETL 程序、SQL 程序等。
业务元数据:业务指标、业务代码、业务术语等。
管理元数据:数据所有者、数据质量定责、数据安全等级等。
元数据采集是指获取数据生命周期中的元数据,对元数据进行组织,然后将元数据写入数据库中的过程。使用包括数据库直连、接口、日志文件等技术手段,对结构化数据的数据字典、非结构化数据的元数据信息、业务指标、代码、数据加工过程等元数据信息进行自动化和手动采集。元数据采集完成后,被组织成符合 CWM 模型的结构,存储在关系型数据库中。
5.有了元数据,我们能做些什么?
① 元数据查看
一般是以树形结构组织元数据,按不同类型对元数据进行浏览和检索。如我们可以浏览表的结构、字段信息、数据模型、指标信息等。通过合理的权限分配,元数据查看可以大大提升信息在组织内的共享。
② 数据血缘和影响性分析
数据血缘和影响性分析主要解决「数据之间有什么关系」的问题。因其重要价值,有的厂商会从元数据管理中单独提取出来,作为一个独立的重要功能。但是考虑到数据血缘和影响性分析其实是来自于元数据信息,所以还是放在元数据管理中来描述。
血缘分析指的是获取到数据的血缘关系,以历史事实的方式记录数据的来源,处理过程等。以某张表的血缘关系为例,血缘分析展示如下信息:
数据血缘分析对于用户具有重要的价值,如:当在数据分析中发现问题数据的时候,可以依赖血缘关系,追根溯源,快速地定位到问题数据的来源和加工流程,减少分析的时间和难度。
数据血缘分析的典型应用场景:某业务人员发现「月度营销分析」报表数据存在质量问题,于是向 IT 部门提出异议,技术人员通过元数据血缘分析发现「月度营销分析」报表受到上游 FDM 层四张不同的数据表的影响,从而快速定位问题的源头,低成本地解决问题。
除了血缘分析之外,还有一种影响性分析,它能分析出数据的下游流向。当系统进行升级改造的时候,如果修改了数据结构、ETL 程序等元数据信息,依赖数据的影响性分析,可以快速定位出元数据修改会影响到哪些下游系统,从而减少系统升级改造带来的风险。从上面的描述可以知道:数据影响性分析和血缘分析正好相反,血缘分析指向数据的上游来源,影响性分析指向数据的下游。
影响性分析的典型应用场景:某机构因业务系统升级,在 “FINAL_ZENT ” 表中修改了字段:TRADE_ACCORD 长度由 8 修改为 64,需要分析本次升级对后续相关系统的影响。对元数据 “FINAL_ZENT” 进行影响性分析,发现对下游 DW 层相关的表和 ETL 程序都有影响,IT 部门定位到影响之后,及时修改下游的相应程序和表结构,避免了问题的发生。由此可见,数据的影响性分析有利于快速锁定元数据变更带来的影响,将可能发生的问题提前消灭在萌芽之中。
③ 数据冷热度分析
冷热度分析主要是对数据表的被使用情况进行统计,如:表与 ETL 程序、表与分析应用、表与其他表的关系情况等,从访问频次和业务需求角度出发,进行数据冷热度分析,用图表的方式,展现表的重要性指数。
数据的冷热度分析对于用户有巨大的价值,典型应用场景:我们观察到某些数据资源处于长期闲置,没有被任何应用调用,也没有别的程序去使用的状态,这时候,用户就可以参考数据的冷热度报告,结合人工分析,对冷热度不同的数据做分层存储,以更好地利用 HDFS 资源,或者评估是否对失去价值的这部分数据做下线处理,以节省数据存储空间。
通过对元数据的加工,可以形成数据资产地图等应用。数据资产地图一般用于在宏观层面组织信息,以全局视角对信息进行归并、整理,展现数据量、数据变化情况、数据存储情况、整体数据质量等信息,为数据管理部门和决策者提供参考。
⑤ 元数据管理的其他应用
元数据管理中还有其他一些重要功能,如:元数据变更管理,对元数据的变更历史进行查询,对变更前后的版本进行比对等等;元数据对比分析,对相似的元数据进行比对;元数据统计分析,用于统计各类元数据的数量,如各类数据的种类,数量等,方便用户掌握元数据的汇总信息。诸如此类的应用,不一一列举。