Let's talk about the metadata management system in the data warehouse

original address


The definition of metadata

According to the traditional definition, Metadata is data about data. In the data warehouse system, metadata can help data warehouse administrators and data warehouse developers to find the data they care about very easily; metadata is the data describing the structure and establishment method of data in the data warehouse, which can be The different uses are divided into two categories: technical metadata (Technical Metadata) and business metadata (Business Metadata).

Technical metadata is the data that stores the technical details of the data warehouse system and is used to develop and manage the data used by the data warehouse. It mainly includes the following information:

  • A description of the data warehouse structure, including the definition of the warehouse schema, views, dimensions, hierarchies, and derived data, and the location and content of the data mart;
  • Architectures and patterns of business systems, data warehouses and data marts
  • Algorithms for aggregation, including metric and dimension definition algorithms, data granularity, subject areas, aggregations, summaries, predefined queries and reports;
  • Mapping from operating environment to data warehouse environment, including source data and their contents, data segmentation, data extraction, cleaning, transformation rules and data refresh rules, security (user authorization and access control).

Business metadata describes the data in the data warehouse from a business perspective. It provides a semantic layer between the user and the actual system, so that business personnel who do not understand computer technology can also "read" the data in the data warehouse. The business metadata mainly includes the following information: the data model, object name and attribute name expressed by the user's business terms; the principle of accessing the data and the source of the data; the analysis methods, formulas and reports provided by the system; the specific information includes the following information :

  • Enterprise Concept Model: This is the important information that business metadata should provide. It represents the high-level information of the enterprise data model, the business concepts and interrelationships of the entire enterprise. Based on this enterprise model, business personnel who do not understand database technology and SQL statements can also know the data in the data warehouse.
  • Multidimensional data model: This is an important part of the enterprise conceptual model, which tells the business analyst what dimensions are in the data mart, the categories of dimensions, the data cube, and the aggregation rules in the data mart. The data cube here represents the multidimensional organization of the business fact table and dimension table for a subject area.
  • 业务概念模型和物理数据之间的依赖:以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现。

二、元数据的作用

与其说数据仓库是软件开发项目,还不如说是系统集成项目,因为它的主要工作是把所需的数据仓库工具集成在一起,完成数据的抽取、转换和加载,OLAP分析和数据挖掘等。如下图所示,它的典型结构由操作环境层、数据仓库层和业务层等组成。

其中,第一层(操作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源;第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓库层;第三层是为了完成对业务数据的分析而由各种工具组成的业务层。图中左边的部分是元数据管理,它起到了承上启下的作用,具体体现在以下几个方面:

1.元数据是进行数据集成所必需的

数据仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程当中。一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然后在各个数据集市的基础上再建设数据仓库。不过,当数据集市数量增多时很容易形成“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键。如果在建立数据集市的过程中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据集市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现。

2.元数据定义的语义层可以帮助用户理解数据仓库中的数据

最终用户不可能象数据仓库系统管理员或开发人员那样熟悉数据库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含意。元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以用户需要的方式“翻译”出来,从而帮助最终用户理解和使用数据。

3.元数据是保证数据质量的关键

数据仓库或数据集市建立好以后,使用者在使用的时候,常常会产生对数据的怀疑。这些怀疑往往是由于底层的数据对于用户来说是不“透明”的,使用者很自然地对结果产生怀疑。而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及数据抽取和转换的规则都会很方便地得到,这样他们自然会对数据具有信心;当然也可便捷地发现数据所存在的质量问题。甚至国外有学者还在元数据模型的基础上引入质量维,从更高的角度上来解决这一问题。

4.元数据可以支持需求变化

随着信息技术的发展和企业职能的变化,企业的需求也在不断地改变。如何构造一个随着需求改变而平滑变化的软件系统,是软件工程领域中的一个重要问题。传统的信息系统往往是通过文档来适应需求变化,但是仅仅依靠文档还是远远不够的。成功的元数据管理系统可以把整个业务的工作流、数据流和信息流有效地管理起来,使得系统不依赖特定的开发人员,从而提高系统的可扩展性。


三、元数据管理现状

由以上几节我们了解到元数据几乎可以被称为是数据仓库乃至商业智能(BI)系统的“灵魂”,正是由于元数据在整个数据仓库生命周期中有着重要的地位,各个厂商的数据仓库解决方案都提到了关于对元数据的管理。但遗憾的是对于元数据的管理,各个解决方案都没有明确提出一个完整的管理模式;它们提供的仅仅是对特定的局部元数据的管理。当前市场上与元数据有关的主要工具见下图:

如图所示,与元数据相关的数据仓库工具大致可分为四类:

1. 数据抽取工具;

把业务系统中的数据抽取、转换、集成到数据仓库中,如Ardent的DataStage、Pentaho的开源ETL产品Kettle、ETI的Extract等。这些工具仅提供了技术元数据,几乎没有提供对业务元数据的支持。

2. 前端展现工具:

包括OLAP分析、报表和商业智能工具等,如Cognos的PowerPlay、Business Objects的BO,以及国内厂商帆软的FineBI/FineReport等。它们通过把关系表映射成与业务相关的事实和维来支持多维业务视图,进而对数据仓库中的数据进行多维分析。这些工具都提供了业务元数据与技术元数据相对应的语义层。

3. 建模工具:

为非技术人员准备的业务建模工具,这些工具可以提供更高层的与特定业务相关的语义。如CA的ERwin、Sysbase的PowerDesigner以及Rational的Rose等。

4. 元数据存储工具:

元数据通常存储在专用的数据库中,该数据库就如同一个“黑盒子”,外部无法知道这些工具所用到和产生的元数据是如何存储的。还有一类被称为元数据知识库(Metadata Repository)的工具,它们独立于其它工具,为元数据提供一个集中的存储空间。这些工具包括微软的Repository,Ardent的MetaStage和Sybase的WCC等。

5.元数据管理工具:

目前国内的元数据管理工具大概有三类。一是像IBM、CA等公司都提供的专门工具,比如IBM收购Ascential得到的MetaStage,CA的DecisionBase都是如此;二是像DAG的MetaCenter,开源产品Pentaho Metadata,它们不依托于某项BI产品,是一种第三方的元数据管理工具;三是像普元、石竹这样的集成商也有自己的元数据管理工具:普元MetaCube、新炬网络元数据管理系统、石竹MetaOne等。
专门的元数据管理工具,对自家产品兼容较好,一旦涉及跨系统管理,就不尽如人意了。从国内的实际应用来看,DAG的MetaCenter这一工具使用最多,目前所看到的在电信、金融领域建设的元数据管理项目基本上都是应用了这一产品。
我从互联网上搜索了几乎所有的元数据厂家:Pentaho开源的MetaData产品,支持源码下载试用,可以进行集成开发;普元MetaCube下载后,配置麻烦,目前为止还没有调通;其他公司产品均不提供下载试用。


四、元数据管理标准

没有规矩不成方圆。元数据管理之所以困难,一个很重要的原因就是缺乏统一的标准。在这种情况下,各公司的元数据管理解决方案各不相同。近几年,随着元数据联盟MDC(Meta Data Coalition)的开放信息模型OIM(Open Information Model)和OMG组织的公共仓库模型CWM(Common Warehouse Model)标准的逐渐完善,以及MDC和OMG组织的合并,为数据仓库厂商提供了统一的标准,从而为元数据管理铺平了道路。
从元数据的发展历史不难看出,元数据管理主要有两种方法:

  • 对于相对简单的环境,按照通用的元数据管理标准建立一个集中式的元数据知识库。 
  • 对于比较复杂的环境,分别建立各部分的元数据管理系统,形成分布式元数据知识库,然后,通过建立标准的元数据交换格式,实现元数据的集成管理。 

目前OMG家的CWM(Common Warehouse MetaModel)标准已成为元数据管理界的统一标准:
OMG是一个拥有500多会员的国际标准化组织,著名的CORBA标准即出自该组织。公共仓库元模型(Common Warehouse Metamodel)的主要目的是在异构环境下,帮助不同的数据仓库工具、平台和元数据知识库进行元数据交换。2001年3月,OMG颁布了CWM 1.0标准。CWM模型既包括元数据存储,也包括元数据交换,它是基于以下三个工业标准制定的:

  • UML:它对CWM模型进行建模。
  • MOF(元对象设施):它是OMG元模型和元数据的存储标准,提供在异构环境下对元数据知识库的访问接口。
  • XMI(XML元数据交换):它可以使元数据以XML文件流的方式进行交换。

原文地址



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325709282&siteId=291194637