元数据管理
(一) 什么是元数据
元数据(meta-data)是关于数据的数据,是关于数据、操纵数据的进程,以及应用程序的结构、意义的描述信息,其主要目标是提供数据资源的全面指南。元数据按其用途可分为3类:技术元数据(technical meta-data)、业务元数据(business meta-data)和内联映射元数据(inter-mapping meta-data)。元数据对不同厂商提供的不同软件系统和产品之间的集成起着不可缺少的作用。
中国电信企业在经过近20年的信息化建设后,已经形成了众多的信息系统,这些信息系统构成了电 信行业的信息供应链(information supply chain,ISC)的相关组件(如计费系统,经营分析与决策支持系统,客户关系管理系统,服务开通系统等),电信行业的信息供应链的组件拥有丰富的元数 据结构,且它们和元数据紧密相关。因此,需要把元数据作为它们操作和服务的基础。
(二) 元数据集成体系架构提议
随着电信行业的竞争白热化,在不可能全新设计开发所有系统的前提下,电信运营商们必然要求在信 息化建设中将遗留系统(legacy system)进行高效全面的集成,解决所谓的“信息孤岛”问题,以保证信息和数据的共享,提高经营和决策的科学性和正确性。这就意味着在信息供应链中交 换和共享元数据成为电信行业信息化建设不可回避的问题。由于这些系统分别由不同的厂商在不同的时期建设,各自拥有不同的元数据模型(即元模 型,metamodel)要很容易地在这些系统中共享元数据几乎是不可能的,这就需要集成设计者通过一个和底层技术无关的通用的元数据集成模型来解决这个 问题。
要设计一个复杂的符合行业需要并且可实现的元数据集成体系架构,必须从2个方面考虑:元数据互连体系架构、元数据生命周期体系架构。
(一) 元数据互连体系架构从一个高层的角度描述了一个实际的数据仓库或ISC中软件产品和工具之间建立的物理元数据交换连接。常见的互连体系结构的泛化类型 有:1.点对点模型,在需要交互的系统之间直接建立数据连接;2,中央辐射模型(如星形结构),建立一个中央模型存储库;3.分布式模型,多个中央辐射式 的拓扑结构通过他们各自的中心存储库再以点对点方式或者中央辐射式结构连接起来。通过基础的拓扑图知识可以知道:在一个复杂的交互环境中使用点对点模型是 代价最为昂贵的,同时也是最复杂的,因此在大型系统集成中是完全不可行的而中央辐射式结构在这种超大型系统中则存在处理能力不够的弱点,因此:电信行业的 元数据互连架构只能采取分布式模型。
(二) 一个元数据的生命周期由创作、发布、拥有、消费、管理5种活动组成。对应了5种元数据生命周期角色:作者、发布者、所有者、消费者、管理者。这些角色定义 了元数据体系架构的另一个观点,即元数据生命周期体系架构,该架构定义了元数据集成体系架构的整个元数据流和行为特性。所有业务系统是元数据体系的元数据 的作者,同时每个业务系统都有它本身的元模型存储库,因此从某种意义上来说,元数据体系也是发布者和管理者,同时它又是其他业务系统元数据的消费者,而全 局的中央元模型存储库则是全局元数据的发布者和管理者。
综合以上分析,我们可以得出一个较为合理的电信行业元数据集成体系架构:
(三) 客户关怀系统中元数据管理方案实例
在此,以客户关怀系统为例,介绍集市开发过程中的元数据及管理方案。
客户关怀系统介绍:
目前,各大电信运营商对客户的争夺非常激烈,如何有效管理存量客户已经成为陕西电信关注的一个 重点;随着市场格局的变化,需要从管理客户数量转变为管理客户质量与关系,即从大众营销转为定向营销;而这种转换需以识别客户的价值和流失趋势两方面的特 征为基础;陕西电信客户关怀系统正是以此为建设宗旨,为目前陕西电信存量客户的管理提供强有力的业务支撑和数据支撑。
所示:红色的方框代表客户关怀系统涉及的功能模块;
本系统涉及的支撑系统功能数据模型设计需要遵循陕西电信IT支撑系统企业数据模型,以便以后能够顺利纳入陕西电信IT支撑系统体系。详细要求参见“数据规范”。
关于客户关怀系统元数据管理提出:
如 上图:由于客户关怀数据集市的实施,需要从电信方数据仓库数据每月提取部分原始账单数据,并对此部分数据进行清洗、转换以及汇总,为了保证客户关怀系统中 的相关指标和数据仓库中指标计算的一致性、合理性,以及客户关怀系统中数据访问(包括数据查询、增、删、改)的有效监控,就须要有一套完整的元数据来定义 和维护,来有效的保证电信数据仓库数据中各个集市数据的面向主题、集成性、数据相对稳定等特征。
客户关怀系统中元数据的主要管理功能:
根据客户关怀系统的需求,以及项目组的开发经验,把数据集市系统中,元数据机制描述为以下五类系统管理功能:
(1)描述哪些数据在数据集市中;
(2)定义要进入数据集市中的数据和从数据集市中产生的数据;
(3)记录根据业务事件发生而随之进行的数据抽取工作时间安排;
(4)记录并检测系统数据一致性的要求和执行情况;
(5)衡量数据质量。
依据以上提出的元数据的管理功能,将项目组开发过程中的元数据管理划分为如下,并根据不用的种类来实施不同的元数据管理方法:
一、数据结构:
数据集的名称、关系、字段、约束等,包括数据库模型设计文档,表的设计文档,以及相关的管理,在客户关怀系统中,数据结构的元数据管理采用svn统一版本的管理方法。
二、数据部署:
数据集的物理位置,包括数据集市平台设计方案(服务器配置、分区、表、日志等的管理),web平台设计方案(web服务器的配置、数据源、连接池的配置等),各方案对应相关文档,采用svn的统一版本的管理方法。
三、数据流:
数据集之间的流程依赖关系(非参照依赖),包括数据集到另一个数据集的规则,客户关怀系统中的 数据流划分为,电信原始数据、细节层数据、计算层数据、业务部分数据,每月从电信拿到原始细节层的数据,进行保存,并更新相关元数据文档。在细节层对电信 数据进行计算,在计算层对细节曾数据进行汇总,还包括业务库和集市层数据的迁移,在整个数据的流向过程中需要进行元数据的管理。并维护相关文档。
四、质量度量:
对数据集上可以计算的度量进行相关元数据的管理,包括详细设计文档中对各个表中度量的定义、描述等。
五、度量逻辑关系:
记录数据集度量之间的逻辑运算关系。要求客户关怀系统中对所有表和度量之间的关系进行严格的文档记录,包括度量的计算、度量之间的相互依赖关系、以及历史信息进行元数据管理
六、ETL过程:
记录过程运行的顺序,并行、串行,由数据库开发人员,根据各个模块的ETL过程,制定相关元数据管理文档,并形成元数据文档提交svn,进行统一版本的管理。
七、数据集快照:
记录一个时间点上,数据在所有数据集上的分布情况。对数据库在这一时间的数据分布、I/O、表空间使用,内存使用等进行快照,并形成元数据文档提交svn,进行统一版本的管理。
八、星型模式元数据:
记录事实表、维度、属性、层次等。
九、数据访问日志:
记录哪些数据何时被何人访问。启用数据库的快照捕获以及预警,对访问数据库的人的相关信息进行记录,保存数据库访问时间,把对数据库表德操作、锁、内存使用、I/O使用等信息记录日志,并形成元数据文档提交svn,进行统一版本的管理。
十、质量稽核日志:
记录数据库何时、何度量被稽核,其结果;
十一、 数据装载日志:
记录哪些数据何时被何人装载,在客户关怀系统中,建立日志表,对每个ETl过程,记录抽取时间,操作人员,起始和截止时间,抽取涉及到的表,操作行数等相关信息。并形成元数据的文件提交svn,进行统一版本的管理。
(四) 元数据管理过程中部分问题的处理
1. Q:如何做到数据汇总时对数据改动、数据作废记录时间戳、作者、错误原因,代码等信息。
A:
一、 在数据关怀数据集市中建立日志表,在细节层、计算层的运算时对操作人员、操作时间、用时、访问的表、操作成功标志等进行记录,并对此表的数据进行管理,做到有效的监控。
二、 在ETL过程中建立日志文件,记录系统中的数据流向,以及错误故障点、错误信息、ETL成功标志等信息,并提交相关人员进行处理,做到对整个ETL过程的实时监控,并有利于断点的恢复。
2. Q:如何保证电信数据仓库中各个数据集市的数据的相对一致性
A:
对每个计算层和汇总层的相关指标取值进行详细的描述,并对ETL过程进行完整的测试,统一口径,形成元数据文档提交svn,进行统一版本的管理