构建DB2 Cube View元数据桥 (6)

发表于:2007-05-26来源:作者:点击数: 标签:
【导读】本文的目标读者群是对基于IBM DB2通用 数据库 V8(UDB)使用DB2 Cube View应用编程接口(API) 开发 或者整合OLAP应用程序感兴趣的技术管理者和工作人员。 尤其是对于构建组件在DB2 Cube View和其它工具或元数据容器之间交换元数据的开发者。 映射什么

【导读】本文的目标读者群是对基于IBM DB2通用数据库V8(UDB)使用DB2 Cube View应用编程接口(API)开发或者整合OLAP应用程序感兴趣的技术管理者和工作人员。 尤其是对于构建组件在DB2 Cube View和其它工具或元数据容器之间交换元数据的开发者。

 

 

映射什么

 

Cube模型是DB2 Cube View中的高级元数据对象,一般是映射桥的对象。有时一个桥还可以产生或者使用与一个Cube模型相连的Cube对象。

 

把元数据推进DB2 UDB的桥并不总有足够的信息用来创建一个Cube模型。为了创建一个Cube模型,一个桥通常必须知道哪些表是实际表,哪些表是维度表。如果一个桥没有这些信息,它仍然可以创建象Attribute和Joins这样的简单对象。

 

渐变

 

支持递增的元数据变化是用于企业数据仓库环境的桥的一个重要的特性。

 

所有的Cube View元数据对象都有一个"修改时间",比如在这个对象的XML中的modifyTime ="2003-03-25T09:54:51"。使用这个修改时间来判断哪些元数据对象已经改变。这个应用程序接口不提供查询从某个时间起所有对象是否已经改变的方法,所以你必须读入一组对象,然后分别检查它们的修改时间。

 

使用ALTER或IMPORT操作应用程序接口,把元数据变化推入DB2中。使用IMPORT操作,你可以判断是否要覆盖已经变化的对象。你还可以在实际执行import之前发现哪些对象有冲突。

 

程序设计语言

 

如果映射是从XML到XML的话,那么可以考虑使用XSLT。但是要知道,有时候映射所需的复杂的程序逻辑很难使用XSLT实现。我们知道的大部分桥都是用Java或者C/C++实现的。

 

XML语法分析程序

 

一种选择是使用Xerces语法分析程序。 详细信息请参阅 http://xml.apache.org/xerces-c/index.html.

 

API or XML file

 

无论是产生还是使用DB2 Cube View XML,一个桥都需要决定是调用应用程序接口还是处理XML文件。两种方法都各有利弊。

 

使用XML文件的利弊

 

使用XML文件的优点就是桥可以不依赖DB2 Cube View运行,比如在另一个客户端或者服务器上。使用XML文件的不利之处在于:

 

· 当使用Cube View XML的时候,你不能保证元数据有效并且和DB2中的关系模式同步。

 

· 当产生DB2 Cube View XML的时候,你不能保证元数据在稍后能被成功地导入。

 

使用应用程序接口的利弊

 

使用应用程序接口的优点是:

 

· 桥可以使用VALIDATE操作来保证任何从DB2读入的元数据都有效。

 

· 桥可以通过查询DB2系统目录表读取被引用表的附加信息。

 

· 桥可以参看DB2中的所有元数据。

 

应用程序接口的不利之处是,它可能要花很长时间来实现桥,因为你需要添加代码来调用DB2 Cube View应用程序接口。程序需要产生操作XML并且分析响应XML。

 

实现步骤

 

下面的是如何成功设计和实现桥的基本步骤。

 

1. 产生一个设计文件,包含详细的映射。

 

2. 根据真实的测试情况测试映射,然后根据需要修正设计。

 

3. 实现桥。

 

4. 执行对这个桥的严格的质量保证

 

经验表明,一个典型的元数据桥工程需要三月以上的时间。一个月用来设计,一个多月用来实现,还有一个月用来测试。建议让客户参与Beta测试。

 

结论

 

IBM鼓励业务智能工具和解决方案的开发者能和DB2 UDB的DB2 Cube View特性交互操作。对于许多OLAP工具和应用程序,与DB2 Cube View的整合需要使用基于XML存储过程接口读取或者创建元数据。本文中我们已经看到,在我们对存储过程使用的用于输入输出的XML语法融会贯通之后,这个接口就变得非常容易了。

 

在我们能够轻松自如的使用这个应用程序接口之后,我们可以进行把DB2 Cube View元数据映射到其它格式的工作。我们还提到了构建用于DB2 Cube View的元数据桥的注意事项。能够映射元数据的桥对于解决方案开发者非常重要,因为一个好的桥将给他们节省很多用于构建和配置解决方案的时间。

原文转自:http://www.ltesting.net