摘 要:元数据作为存储数据的数据,在各种数据仓库教材中都涉及到元数据的管理知识,但是在实际应用中对于元数据的管理却使用的很少,大多数据仓库开发人员都了解元数据的重要性,但是在真正应用中却很少使用,或者说不知道如何构建元数据库,本文就针对元数据的管理以及在Sql Server 2005中的具体实现。
关键词:元数据 数据仓库 数据模型 程序设计
中图分类号:TP31113 文献标识码:A 文章编号:1672-3791(2012)05(c)-0034-01
元数据是整个数据仓库的核心,它描述了仓库中的各个数据对象,遍及仓库的各个方面,同时它在数据仓库的建造及运行中起着极其重要的作用。而元数据大致分为关于数据源的元数据,数据模型的元数据,数据仓库映射的元数据以及数据仓库使用的元数据的四个方面类型。
(1)数据源的元数据。关于数据源的元数据在利用这类元数据时对不同数据源平台上的物理结构和含义是现有系统业务数据源的描述信息。其具体有以下几点:①数据源中所有物理数据结构,包括所有的数据项及数据类型。②所有数据项的业务定义。③每个数据项更新的频率,以及由谁或哪个过程更新的说明。④每个数据项的有效值。⑤其他系统中具有相同业务含义的数据项清单。
(2)数据模型的元数据。关于数据模型的元数据是数据仓库管理的基础,同时描述了仓库中有说明数据以及数据之间的关系。当一些用户提出需要哪些表系统就能从中选出这个表,这就说明了元数据可以支持用户从数据仓库中获取数据。通过这种关系表用户就能获取很多希望数据。
描述数据仓库中的数据及数据之间的各种复杂关系,元数据要定义以下内容。数据仓库中描述数据及数据之间的各种复杂的关系,现定义以下内容:①I/O对象:元数据在描述I/O对象的定义、类型、状态以及存档周期都是支持数据仓库I/O *** 作的各个对象。②关系:两个I/O对象之间是关联的。这种关联有三种类型分别是一对一、一对多和多对多。③关系成员:描述每个关系中两个I/O对象的具体角色(在一对多中是父亲还是儿子)、关系度(一对一还是一对多)以及约束条件(必须满足还是可选关系)。④关系关键字:描述两个I/O对象如何建立关联。每个关系都是通过I/O对象的关键字来建立的,元数据要指明建立每个关系的相应对象的关键字。
(3)数据仓库映射的元数据。数据仓库映射的元数据是数据源与数据仓库数据之间的映射,当数据源的数据项与数据仓库建立映射关系时,就要记下这些数据项发生的一些转换、变换和加载的过程。就是用元数据反映数据仓库的数据项是从转换、变换和加载过程这些特定的数据源填充的。而转移元数据的数据到数据仓库的目标数据是一件复杂的工作,其工作量占整个数据仓库的80%。其主要涉及以下两方面:①抽取工作之间的复杂关系。②源数据与目标数据之间的映射。
(4)关于数据仓库使用的元数据,数据仓库使用的元数据时对数据仓库中信息使用情况的描述。数据仓库的用户最关心的是以下两类元数据。①元数据描述数据仓库中有什么数据,它们从哪里来,即如何按主题查看数据仓库的内容。②元数据提供已有的,可重复利用的查询语言信息。如果某个查询能够满足他们的需求,或者与他们的愿望相似,他们就可以再次使用那些查询而不必从头开始编程。
1 元数据的管理
随着元数据越来越成为公司重要的资源,就越来越需要完善的元数据管理功能,包括:(1)支持企业范围内的体系结构。企业在开发应用程序、封装应用程序、决策支持数据库时,他们关心的是软件设计与开发、用户接口、 *** 作管理、应用程序内部的消息传递、数据的协同工作能力。所有这些都驱使开发人员去理解各种元数据目录,以及它们在企业范围内的体系结构的作用。(2)基于知识库的方法。元数据一般存储在其特定工具相关的属性知识库中。因此,企业可以要求提供一种机制,可以将其特定工具支持的元数据无缝地转移到一个共享的、公共的元数据知识库中。(3)配置管理。元数据知识库必须提供标准的配置管理能力,如注册、退出、版本控制等。还需要提供抽取、修改元数据的定义以及将其定义存到知识库中,此外,还必须具有在必要的时候将元数据恢复到某一个前版本的功能。(4)支持开放的元数据交换标准。企业内部和外部对元数据的访问导致了对开放的元数据交换标准支持的需求。至少企业元数据应该支持MDIS(元数据交换标准)。(5)动态交换和同步。企业应该采用MDIS标准,实现动态交换或同步,否则需要一个开放的元数据交换工具。
2 元数据在Sql Server 2005中的应用
21 概念
元数据描述OLTP中的表、数据仓库、数据集市和OLAP多维数据集等对象,还记录程序引用的对象。
22 具体实现和元数据的获取
在Sql Server 2005中一般由数据库系统本身产生元数据,或者在相应编程中产生元数据,不需要用户自己创建,当然用户也可以自己创建。例如在DotNet创建多维数据集时,自动产生XML格式的元数据。
下面介绍如何从Sql Server2005中获取元数据。
(1)使用系统提供的存储过程和系统函数访问元数据。
系统存储过程与系统函数在系统表和元数据之间提供了一个抽象层,使得我们不用直接查询系统表就能获得当前数据库对象的元数据。
存储过程如下。
sp_columns返回指定表或视图的列的详细信息。
Sp_databases返回当前服务器上的所有数据库的基本信息。
Sp_fkeys若参数为带有主键的表,则返回包含指向该表的外键的所有表;若参数为带有外键的表名,则返回所有同过主键/外键关系与该外键相关联的所有表。
Sp_pkeys返回指定表的主键信息。
Sp_server_info返回当前服务器的各种特性及其对应取值。
Sp_sproc_columns返回指定存储过程的输入、输出参数的信息。
Sp_statistics返回指定的表或索引视图上的所有索引以及统计的信息。
Sp_stored_procedures返回当前数据库的存储过程列表,包含系统存储过程。
Sp_tables返回当前数据库的所有表和视图,包含系统表。
(2)使用信息架构视图访问元数据。信息架构视图功能很强,它独立于系统视图,即便系统视图发生改变也不会更改信息架构视图。应用程序可以正常访问信心架构视图。
(3)使用系统表访问元数据。Sql Server中所有的对象信息都存在系统表中,可以通过系统表访问元数据。
3 结语
目前,元数据库的建立主要通过系统自动产生,然后由用户使用,用户很少自己创建元数据,但是随着数据量的增加和数据库设计的复杂性,以及程序设计的复杂性,尤其是数据仓库方面,越来越需要设计人员构建自己的数据仓库。
按照传统的定义,元数据(Metadata)是关于数据的数据。在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据(Technical Metadata)和业务元数据(Business Metadata)。
技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括以下信息:
数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容;
业务系统、数据仓库和数据集市的体系结构和模式
汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告;
由 *** 作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全(用户授权和存取控制)。
业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。业务元数据主要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息;具体包括以下信息:
企业概念模型:这是业务元数据所应提供的重要的信息,它表示企业数据模型的高层信息、整个企业的业务概念和相互关系。以这个企业模型为基础,不懂数据库技术和SQL语句的业务人员对数据仓库中的数据也能做到心中有数。
多维数据模型:这是企业概念模型的重要组成部分,它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式。
业务概念模型和物理数据之间的依赖:以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现。
22 元数据的作用
与其说数据仓库是软件开发项目,还不如说是系统集成项目[1],因为它的主要工作是把所需的数据仓库工具集成在一起,完成数据的抽取、转换和加载,OLAP分析和数据挖掘等。如图1所示,它的典型结构由 *** 作环境层、数据仓库层和业务层等组成。
其中,第一层( *** 作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源;第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓库层;第三层是为了完成对业务数据的分析而由各种工具组成的业务层。图中左边的部分是元数据管理,它起到了承上启下的作用,具体体现在以下几个方面:
(1) 元数据是进行数据集成所必需的
数据仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程当中。一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然后在各个数据集市的基础上再建设数据仓库。不过,当数据集市数量增多时很容易形成“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键。如果在建立数据集市的过程中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据集市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现。
(2) 元数据定义的语义层可以帮助最终用户理解数据仓库中的数据
最终用户不可能象数据仓库系统管理员或开发人员那样熟悉数据库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含意。元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以用户需要的方式“翻译”出来,从而帮助最终用户理解和使用数据。
(3) 元数据是保证数据质量的关键
数据仓库或数据集市建立好以后,使用者在使用的时候,常常会产生对数据的怀疑。这些怀疑往往是由于底层的数据对于用户来说是不“透明”的,使用者很自然地对结果产生怀疑。而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及数据抽取和转换的规则都会很方便地得到,这样他们自然会对数据具有信心;当然也可便捷地发现数据所存在的质量问题。甚至国外有学者还在元数据模型的基础上引入质量维[6],从更高的角度上来解决这一问题。
(4) 元数据可以支持需求变化
随着信息技术的发展和企业职能的变化,企业的需求也在不断地改变。如何构造一个随着需求改变而平滑变化的软件系统,是软件工程领域中的一个重要问题。传统的信息系统往往是通过文档来适应需求变化,但是仅仅依靠文档还是远远不够的。成功的元数据管理系统可以把整个业务的工作流、数据流和信息流有效地管理起来,使得系统不依赖特定的开发人员,从而提高系统的可扩展性。
以上就是关于浅析元数据在数据仓库中的应用:大数据仓库全部的内容,包括:浅析元数据在数据仓库中的应用:大数据仓库、什么是数据库的元数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)