数据治理的内核:元数据管理
在做数据治理战略实施的时候,我们最常听到一句话是“元数据管理是企业数据治理的基础”,如何进行元数据管理是不同企业在进行数字化转型需要考虑的重要事情。本文尝试从元数据管理的价值,产品,技术角度展开讨论下。
元数据的定义
元数据最简单的定义是“描述数据的数据”,是为了描述数据的相关信息而存在的数据,例如记录数据的存储位置、模型定义、生命周期、血缘关系等信息。
比如我们去买一本书的时候,可能会去关注下书的作者,出版本,出版时间等信息,这些信息跟书本里要讲的内容没有直接的关系,但是可以辅助你这本数据相关背景。这些专门为了描述书的背景信息的数据就可以称为书的元数据。
类似的还有户口本元数据,如出生日期,住址等。
那么在数据仓库或者软件系统的环境下,主要有两方面作用:作为描述信息,作为控制信息。
作为描述性信息:描述系统的结构特征和静态特征;对数据采集、存储、处理和显示等数据生命周期的描述信息,帮助用户理解数据关系和相关属性。对于企业而言,元数据是跟企业所使用的物理数据、业务流程、数据结构等有关的信息,描述了数据(如数据库、数据模型)、概念(如业务流程、应用系统、技术架构)以及它们之间的关系。
作为控制性信息:控制并配置特定工具和进程运行,实现数据仓库管理和维护的(半)自动化管理。
总的来看,元数据可以看做是业务和技术系统之间的抽象层,建立起由实际业务到技术的桥梁。
元数据的价值
整体来讲,元数据系统的存在,就是为了可以快速理解元数据,并且灵活的组织管理,以此降低服务能力的实现成本。
通过元数据的管理,可以形成整个系统信息数据资本的准确视图,缩短数据清理周期,提高数据质量。元数据管理有利于统一数据口径,标明数据方向,分析数据关系,管理数据变更,为企业级数据治理提供支持,是企业实现数据自我服务,促进企业数据运营的可行路线。
从数据管理的角度来讲,元数据是数据安全、数据质量、数据架构、数据模型等实现基础。
从元数据建设的目标角度来讲,能够提供企业全局视角,对企业各业务域的数据资产进行盘点,实现企业数据资源的统一梳理和盘查。
从业务人员来讲,元数据管理平台通过对业务指标、业务含义、业务规则、取数口径、影响范围等信息进行各方位管控,协助他们快速了解业务相关内容,进行数据资产的管理。
从数据分析师的视角来讲,分析结果不正确,那么整个数据生产链路都有可能是出问题的点,可能是数据分析过程出问题,可能是数据在加工处理过程中出现了数据问题,可能是数据源本身就有问题…通过元数据血缘分析,能够快速定位数据来源和加工处理过程,能够帮助数据分析人员快速定位数据问题。另外,通过元数据血缘关系分析,可以理解不同数据指标间的关系,分析产生指标的数据源头波动情况带来的影响。
从技术人员来讲,元数据管理平台将分散、存储结构差异大的资源信息进行描述、定位、检索、评估、分析五大操作,以描述和分类的形式实现对信息的格式化,从而为机器处理创造了可能,大大降低了数据治理的人工成本。正因如此,元数据管理成为很多企业降本增效的重要手段。
产品设计
这部分主要尝试以产品视角,讨论元数据管理的目标,架构和具体产品功能的细节。
产品目标
统一定义业务术语和业务指标及其相关关系,解决数据歧义问题;
视图化展示数据资产、数据管理团队及其责任关系;
管理和维护数据源变化、数据流程变更、数据生命周期,实现数据清理和优化;
监控数据使用,统计数据影响,展示数据血缘,控制数据质量;
开放元数据基础数据能力,提供元数据服务支撑。
产品架构
元数据的管理基本上围绕了数据的全生命周期,所以元数据管理平台的模块设计也围绕这个生命周期展开,
主要包括了元数据采集服务、元数据管理服务、元数据访问服务和元数据分析服务。
图:元数据管理参考产品架构
元数据采集服务:能够适应异构环境,支持从传统关系数据库和大数据平台中采集从数据生成系统到数据处理系统到数据应用报表系统的全量元数据,包括过程中的数据实体和数据实体处理过程中的逻辑。
元数据管理服务:实现元数据的元模型定义和存储,将功能层包装成各种元数据功能,最终提供应用和展示;提供元数据分类建模、血缘关系和影响分析,方便数据跟踪和追溯;提供元数据权限管理。
元数据访问服务:元数据访问服务是元数据管理软件提供的元数据访问接口服务,一般支持 REST 或 Webservice 等接口协议。通过元数据访问服务支持企业元数据共享,是企业数据治理的基础。
元数据分析服务:元数据的应用一般包括数据地图、血缘分析、影响分析、全链分析等。
图:全链分析参考
产品功能
数据的采集:需要适配各种数据库、各类 ETL、各类数据仓库和报表产品,各类结构化或半结构化数据源。
业务元数据:描述数据的业务含义、业务规则等。通过明确业务元数据,让人们更容易理解和使用业务元数据。元数据消除了数据二义性,让人们对数据有一致的认知,避免“自说自话”,进而为数据分析和应用提供支撑。
常见的业务元数据有:
业务定义、业务术语解释等;
业务指标名称、计算口径、衍生指标等;
业务规则引擎的规则、数据质量检测规则、数据挖掘算法等;
数据的安全或敏感级别等。
技术元数据:是对数据的结构化,方便计算机或数据库对数据进行识别、存储、传输和交换。技术元数据可以服务于开发人员,让开发人员更加明确数据的存储、结构,从而为应用开发和系统集成奠定基础。技术元数据也可服务于业务人员,通过元数据理清数据关系,让业务人员更快速地找到想要的数据,进而对数据的来源和去向进行分析,支持数据血缘追溯和影响分析。
常见的技术元数据有:
物理数据库表名称、列名称、字段长度、字段类型、约束信息、数据依赖关系等;
数据存储类型、位置、数据存储文件格式或数据压缩类型等;
字段级血缘关系、SQL 脚本信息、ETL 抽取加载转换信息、接口程序等;
调度依赖关系、进度和数据更新频率等。
管理/操作元数据:
管理元数据描述数据的操作属性,包括管理部门、管理责任人等。明确管理属性有利于数据管理责任到部门和个人,是数据安全管理的基础。
常见的操作元数据有:
数据所有者、使用者等;
数据的访问方式、访问时间、访问限制等;
数据访问权限、组和角色等;
数据处理作业的结果、系统执行日志等;
数据备份、归档人、归档时间等。
元模型管理:参照 MOF(Meta Object Facility)
图:MOF 参考模型
元数据提供的应用:血缘分析、影响分析、全链分析、关联度分析,数据地图,质量核检等。
血缘分析:告诉你数据来自哪里,都经过了哪些加工。
影响分析:告诉你数据都去了哪里,经过了哪些加工。
全链分析:告诉你一个应用侧的数据整个生产链路。
冷热度分析:告诉你哪些数据是企业常用数据,哪些数据属于僵死数据。
关联度分析:告诉你数据和其他数据的关系以及它们的关系是怎样建立的。
数据地图:告诉你有哪些数据,在哪里可以找到这些数据,能用这些数据干什么。
质量核检:提供基础的填充率,一致性检查等。
其他周边:元数据版本管理、元数据的监控、元数据门户等功能,并提供丰富的服务接口支持与外部系统进行交互。
还可以提供订阅功能,对于用户比较关心的数据的并更提供一站到家得消息推送功能。
技术实现:
图:元数据管理平台参考技术架构
技术层面主要涉及到数据的采集和储存,主要涉及到三种场景:
元数据信息存储:使用一种数据库(推荐 TIDB)承载采集到的实体关系数据,作为元数据业务的中心存储。
元数据查询:使用一种面向查询场景的数据库(如 ES)数据从存储库的实体表同步,提供元数据检索能力,提供跨源跨表 join,分词查询,权重控制,自定义词包等能力。
关系查询:使用一种面向关系的图数据库(HugeGraph),数据从 TIDB 的关系表同步,提供图结构下的深度遍历,路径选择,成环处理等能力。
关于元数据血缘的覆盖广度和粒度级别:
元数据的管理与平台建设是一个庞大的持续性的工程。从重点出发,逐步覆盖完整的数据生产环节,如离线链路、实时链路、出入仓表、数据报表等等。
血缘的粒度由大至小分别是 表级 → 字段级 (分区级) → 行级,血缘粒度越小,进行数据链路上下游定位的精度越高,但采集解析存储的难度越大。行业内比较主流的做法是做到表级别,对于重点业务场景,可以考虑实现到字段级别。
以上,本文主要从概念,价值,产品,技术四个维度对元数据进行讨论。在元数据管理具体的实践过程中,还会涉及到另一个比较重要内容:对元数据的标准管理。
元数据只是是记录/描述数据的数据,即使数据是错的,元数据不管,只负责记录。而数据标准则是规范/定义数据的数据,数据标准就是定义数据对与错。数据标准是数据治理中相当重要的环节。
具体内容,咱们下节讨论。
题图来自 Unsplash,基于 CC0 协议。
参考:
版权声明: 本文为 InfoQ 作者【Skipper】的原创文章。
原文链接:【http://xie.infoq.cn/article/abc6671d7a515d739eb91482b】。文章转载请联系作者。
评论