浅析元数据在数据仓库中的应用

时间:2022-09-17 05:14:11

浅析元数据在数据仓库中的应用

摘 要:元数据作为存储数据的数据,在各种数据仓库教材中都涉及到元数据的管理知识,但是在实际应用中对于元数据的管理却使用的很少,大多数据仓库开发人员都了解元数据的重要性,但是在真正应用中却很少使用,或者说不知道如何构建元数据库,本文就针对元数据的管理以及在Sql Server 2005中的具体实现。

关键词:元数据 数据仓库 数据模型 程序设计

中图分类号:TP311.13 文献标识码: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中的应用

2.1 概念

元数据描述OLTP中的表、数据仓库、数据集市和OLAP多维数据集等对象,还记录程序引用的对象。

2.2 具体实现和元数据的获取

在Sql Server 2005中一般由数据库系统本身产生元数据,或者在相应编程中产生元数据,不需要用户自己创建,当然用户也可以自己创建。例如在创建多维数据集时,自动产生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 结语

目前,元数据库的建立主要通过系统自动产生,然后由用户使用,用户很少自己创建元数据,但是随着数据量的增加和数据库设计的复杂性,以及程序设计的复杂性,尤其是数据仓库方面,越来越需要设计人员构建自己的数据仓库。

上一篇:GPS技术在现代物流管理中的应用和问题 下一篇:现代市政道路给排水管道工程的设计与施工