元数据管理
出自 MBA智库百科(https://wiki.mbalib.com/)
元数据管理(Metadata management)
目录 |
元数据管理(Metadata management)是对涉及的业务元数据、技术元数据、操作元数据进行盘点、集成和管理。采用科学有效的机制对元数据进行管理,并面向开发人员、业务用户提供元数据服务,可以满足用户的业务需求,为企业业务系统和数据分析的开发、维护等过程提供支持[1]。
我们可以从技术、业务和应用三个角度理解元数据管理。
技术角度:元数据管理涉及企业的数据源系统、数据平台、数据仓库、数据模型、数据库、表、字段以及字段间的数据关系等技术元数据。
业务角度:元数据管理涉及企业的业务术语表、业务规则、质量规则、安全策略以及表的加工策略、表的生命周期信息等业务元数据。
应用角度:元数据管理为数据提供了完整的加工处理全链路跟踪,方便数据的溯源和审计,这对于数据的合规使用越来越重要。通过数据血缘分析,追溯发生数据质量问题和其他错误的根本原因,并对更改后的元数据进行影响分析。
元数据管理的优势[2]
以下是使用专用软件集中元数据的好处:
集中式存储库可能包含报告和配置等信息。此数据可能存储在受安全密钥保护的文件或文件夹中。安全密钥的存在可确保对文件的访问受到限制,并为数据提供更高的安全性。
存储库提高了运营效率和管理效率。用户可以在一个位置检索、访问和分析来自多个来源的数据,从而提高工作效率。
集中式元数据还可以节省成本和时间。执行维护的时间和精力更少,便于更准确的数据分析和跟踪。
它提供了一个支持模型数据库,多个用户可以在其中提供他们的见解。
元数据管理的技术[3]
从技术层面来看,元数据管理的技术主要包括元数据采集、元数据管理、元数据应用和元数据接口等。
1、元数据采集
在数据治理项目中,常见的元数据有数据源的元数据、数据加工处理过程的元数据、数据仓库或数据主题库的元数据、数据应用层的元数据、数据接口服务的元数据等。
元数据采集服务提供各类适配器来满足以上各类元数据的采集需求,并将元数据整合处理后统一存储于中央元数据仓库,实现元数据的统一管理。在这个过程中,数据采集适配器十分重要,元数据采集不仅要能够适配各种数据库、各类ETL、各类数据仓库和报表产品,还需要适配各类结构化或半结构化数据源。
(1)关系型数据库
通过元数据适配器采集来自Oracle、DB2、SQL Server、MySQL、Teradata、Sybase等关系型数据库的库表结构、视图、存储过程等元数据。关系型数据库一般都提供了元数据的桥接器,例如Oracle的RDBMS,可实现元数据信息的快速读取。
(2)2.NoSQL数据库
元数据采集工具应支持来自MongoDB、CouchDB、Redis、Neo4j、HBase等NoSQL数据库中的元数据,NoSQL数据库适配器多半利用了自身管理和查询Schema的能力。
(3)数据仓库
对于主流的数据仓库,可以基于其内在的查询脚本,定制开发相应的适配器对其元数据进行采集。例如MPP数据库Greenplum,其核心元数据都存储在pg_database、pg_namespace、pg_class、pg_attribute、pg_proc这几张表中,通过SQL脚本就可以对其元数据进行采集。Hive表结构信息存储在外部数据库中,同时Hive提供类似show table、describe table之类的语法对其元数据信息进行查询。
当然,也可以利用专业的元数据采集工具来采集数据仓库系统的元数据。
(4)云中的元数据
随着公有云的日趋成熟,通过提供安全的云连接,将云端企业元数据管理用作核心IT基础架构的扩展,尤其是在中小企业之间,已经成为现实。云端企业元数据管理通过各种上下文改善信息访问,并将实时元数据管理、机器学习模型、元数据API推进流数据管道,可以更好地管理企业数据资产。
(5)其他元数据适配器
建模工具:PowerDesigner、ERwin、ER/Studio、EA等建模工具适配器。
ETL工具:PowerCenter、DataStage、Kettle等ETL工具适配器。
BI工具:Cognos、Power BI等前端工具中的二维报表元数据采集适配器。
Excel适配器:采集Excel格式文件的元数据。
当然,目前市场上的主流元数据产品中还没有哪一个能做到“万能适配”,在实际应用过程中都需要进行或多或少的定制化开发。
2、元数据管理
从技术的角度看,元数据管理一般包括元模型管理、元数据审核、元数据维护、元数据版本管理、元数据变更管理等功能。
(1)元模型管理
元模型管理即基于元数据平台构建符合CWM规范的元数据仓库,实现元模型统一、集中化管理,提供元模型的查询、增加、修改、删除、元数据关系管理、权限设置等功能,支持概念模型、逻辑模型、物理模型的采集和管理,让用户直观地了解已有元模型的分类、统计、使用情况、变更追溯,以及每个元模型的生命周期管理。同时,支持应用开发的模型管理。
支持元模型的全生命周期管理。元模型生命周期中有三个状态,分别是:设计态、测试态和生产态。
设计态的元数据模型,通常由ERWin、PowerDesigner的等设计工具产生。
测试态的元数据模型,通常是关系型数据,如Oracle、DB2、MySQL、Teradata等;或非关系型数据库,如MongoDB、HBase、Hive、Hadoop等。
生产态的元数据模型,本质上与测试态元数据差异不大。
通过元数据平台对应用开发三种状态的统一管理和对比分析,能够有效降低元数据变更带来的风险,为下游ODS、DW的数据应用提供支撑。
(2)元数据审核
元数据审核主要是审核采集到元数据仓库但还未正式发布到数据资源目录中的元数据。审核过程中支持对数据进行有效性验证并修复一些问题,例如缺乏语义描述、缺少字段、类型错误、编码缺失或不可识别的字符编码等。
(3)元数据维护
元数据维护就是对信息对象的基本信息、属性、被依赖关系、依赖关系、组合关系等元数据的新增、修改、删除、查询、发布等操作,支持根据元数据字典创建数据目录,打印目录结构,根据目录发现、查找元数据,查看元数据的内容。元数据维护是最基本的元数据管理功能之一,技术人员和业务人员都会使用这个功能查看元数据的基本信息。
(4)元数据版本管理
在元数据处于一个相对完整、稳定的时期,或者处于一个里程碑结束时期,可以对元数据定版以发布一个基线版本,以便日后对存异的或错误的元数据进行追溯、检查和恢复。
(5)元数据变更管理
用户可以自行订阅元数据,当订阅的元数据发生变更时,系统将自动通知用户,用户可根据指引进一步在系统中查询到变更的具体内容及相关的影响分析。元数据管理平台提供元数据监控功能,一旦监控到元数据发生变更,就在第一时间通知用户。
3、元数据应用
(1)数据资产地图
按数据域对企业数据资源进行全面盘点和分类,并根据元数据字典自动生成企业数据资产的全景地图。该地图可以告诉你有哪些数据,在哪里可以找到这些数据,能用这些数据干什么。数据资产地图支持以拓扑图的形式可视化展示各类元数据和数据处理过程,通过不同层次的图形展现粒度控制,满足业务上不同应用场景的图形查询和辅助分析需要:
(2)元数据血缘分析
元数据血缘分析会告诉你数据来自哪里,经过了哪些加工。其价值在于当发现数据问题时可以通过数据的血缘关系追根溯源,快速定位到问题数据的来源和加工过程,减少数据问题排查分析的时间和难度。
(3)元数据影响分析
元数据影响分析会告诉你数据去了哪里,经过了哪些加工。其价值在于当发现数据问题时可以通过数据的关联关系向下追踪,快速找到有哪些应用或数据库使用了这个数据,从而最大限度地减小数据问题带来的影响。这个功能常用于数据源的元数据变更对下游ETL、ODS、DW等应用的影响分析。
血缘分析是向上追溯,影响分析是向下追踪,这是这两个功能的区别。
(4)元数据冷热度分析
元数据冷热度分析会告诉你哪些数据是企业常用数据,哪些数据属于僵死数据。其价值在于让数据活跃程度可视化,让企业中的业务人员、管理人员都能够清晰地看到数据的活跃程度,以便他们更好地驾驭数据,处置或激活僵死数据,从而为数据的自助式分析提供支撑。
(5)元数据关联度分析
元数据关联度分析会告诉你数据与其他数据的关系,以及它们的关系是怎样建立的。关联度分析是从某一实体关联的其他实体及其参与的处理过程两个角度来查看具体数据的使用情况,形成一张实体和所参与处理过程的网络,如表与ETL程序、表与分析应用、表与其他表的关联情况等,从而进一步了解该实体的重要程度。
4、元数据接口
建立元数据查询、访问的统一接口规范,以将企业核心元数据完整、准确地提取到元数据仓库中进行集中管理和统一共享。
元数据接口规范主要包括接口的编码方式、接口响应、接口协议、接口安全、连接方式、技术实现、调用方式、报文格式等方面的内容。
元数据管理中的难点[4]
元数据管理是大数据平台建设的重要组成部分,是企业实现数据资产,资产服务化的重要基础,在数据管理大环境下和数据安全、数据质量、数据架构、数据模型等有着千丝万缕的关系。也是是业务和技术互通的桥梁。因此元数据建设的好坏会对企业整体数据以及管理带来重要的影响。
首先是元数据识别,要确定要管理哪些元数据,按元数据的定义来看只要能描述数据的数据都能作为元数据进行管理,但从价值角度讲一定要找到对数据业务、数据运维、数据运营、数据创新带来帮助的元数据进行管理,避免眉毛鼻子一把抓。一般企业元数据建设都是围绕数据集中的数据平台进行全链路的源、数据平台、分析系统的元数据数据管理,围绕这条主线,进一步管理业务元数据和操作元数据。在建设过程中要围绕本企业数据管理问题域进行虚实结合的建设。
其次是元模型的构建,元模型其核心结构要稳定,因为元数据的建设不是一蹴而就的,需要慢慢的积累和演变,因此存储元数据的元模型结构一定要进行抽象出稳定的结构,比如:针对关系抽象出组合关系和依赖关系、针对模型要抽象出每一类型元数据父类或基类以方便其灵活扩展。
最后是元数据间的关系,从元数据应用的角度来看,光分析元数据的结构对数据分析人员和数据应用的价值还不是那么的突出。元数据管理的价值主要在其关系的丰富程度,举个不恰当的例子,犹如一个人如果其社会关系足够的丰富,那么其处理各种事情就游刃有余,元数据也类似数据分析和应用一定是从其关系中探寻出数据的价值进而指导业务或进行数据创新。从长期的实践中发现,基于信息项或字段的元数据关系构建是最稳定的。
不同角色对元数据管理的期望[4]
为了站在不同角色的角度回答这个问题,我们先把企业中与元数据管理项目相关的几种角色列一列,这里暂且将这些角色分为企业高管、数据开发人员、数据分析人员、数据管理人员、运维人员、其他业务用户几种。
企业高管:在数据越来越重要的形势下,高管们比较关心的是企业的整个数据全貌以及数据在全企业中的使用状况(或者可以说是更注重数据资产与应用层面),但是没有一个人能直接告诉领导企业中的数据是什么样,具体的使用流通情况是什么,有效的元数据管理能很好地回答企业高管的这些问题。
数据开发人员:对于数据开发来说,最常见的问题就是大量的重复工作:明明已经有了一模一样的接口或者脚本,但是因为是别人写的,没有统一标识并管理起来,所以根本就找不到,即使找到了可能也会因为缺少相关的解释说明,根本无法重复利用,降低数据开发效率的同时也造成了大量的冗余。元数据管理能方便数据开发人员查找想重复利用的信息,而解释说明恰好可以通过业务元数据管理来实现。
数据分析人员:数据分析人员通常需要通过较高级的数据统计分析实现公司与战略决策、业务或考核相关的目标。对于他们来说,错综复杂的数据关系、参差不齐的数据质量和业务元数据的缺失是主要问题。元数据管理降低了这些信息的获取门槛,也为数据质量的问题追溯提供了支持。
数据管理人员:数据管理人员通常需要负责数据从设计、测试到部署交付的全生命周期管理。对于他们来说,通常需要管理各种版本的数据信息,并管理企业数据的生命周期,如何控制各状态下数据的协调一致和及时判断数据处于什么周期需要做什么操作是目前急需解决的问题。这可以通过管理企业元数据来实现。
运维人员:对于运维人员来说,需要时刻保证系统的稳定性,尤其是当企业模型发生变更时,要不断判断变更带来的影响,显然人工判断的方式在准确性和实时性上都很难保证,而且对运维人员的业务能力要求较高,很大程度上增加了系统风险。通过元数据管理,当系统变更时,可以根据已经获取到的系统、表等对象间关系自动分析出变更带来的影响,用自动化的方式降低维护成本,提升用户体验。
其他业务人员:由于业务人员对业务规则、业务流程比较熟悉,通常不需要对技术细节有很深入的了解,技术门槛往往导致业务人员获取和理解数据难,因为不了解数据存储情况,也很难技术沟通业务需求,往往最终难到手的数据也不是自己想要的,难以匹配业务的快速发展。
企业进行元数据管理的方式[1]
企业进行元数据管理可以分为以下几个部分:
- 技术与工具:进行元数据管理,离不开技术与工具的支持。选用合适的工具,能让元数据管理更加轻松便捷。以SoData数据机器人为例,这一款一站式解决数据“实时、轻量、多源、异构”需求的数据开发治理工具,建立了元数据管理体系,可以通过元数据管理工具自动采集元数据信息,协助梳理业务系统,通过元数据分析,了解数据之间的影响、血缘逻辑,帮助用户了解和管理数据关系和脉络。