如何为DB2 Cube Views构建元数据桥
2008-05-15 14:58:15 来源:WEB开发网例如,IBM 在 DB2 Cube Views 和 IBM DB2 OLAP Server™ 产品之间提供了桥。更准确地讲,桥在 DB2 Cube Views 和 DB2 OLAP Server 的 OLAP 集成服务器附加功能部件之间交换元数据。
在规划元数据桥时,有许多初始考虑事项。我们将更详细地讨论其中一些问题。
DB2 Cube Views 元数据对象模型与其它格式的对象模型相比,兼容性/相似程度如何?
桥应该是单向的还是双向的?
同时可以映射什么高级别的元数据分组?通常,多维数据模型或多维数据对象(以及所有引用对象)是桥的源或目标。
桥将支持并管理增量元数据更改吗?
将使用何种编程语言?
该编程语言可以使用哪些 XML 解析器?
当使用 DB2 Cube Views 元数据时,桥将调用 API 来读取元数据还是读取导出的元数据 XML 文件?
当产生 DB2 Cube Views 元数据时,桥将调用 API 来创建元数据还是将元数据写入 XML 文件?
映射练习
做映射练习是设计桥的首要步骤。做这个练习的架构设计师或开发人员必须通晓 DB2 Cube Views 元数据对象模型和其它元数据对象模型方面的应用知识。我们建议在原型设计和实现工作开始之前,仔细地记录并复查映射。
如 表 2所示,每个 DB2 Cube Views 对象在进行映射时都有一些需要考虑的公共特性。
表 2. DB2 Cube Views 对象的公共特性
特性 | 说明 |
模式 | 当映射到 DB2 Cube Views 时,所有新对象通常都被放入单个模式中。但允许多维数据视图对象引用其它不同模式中的多维数据视图对象。DB2 Cube Views 中每个对象的完整名称由它的模式和名称构成,如 MYSCHEMA.MYATTRIBUTE 。
模式的长度不超过 30 个字节。 |
名称 | 每个 DB2 Cube Views 对象类型都有自己的名称空间,除了 Attribute 和 Measure 共享同一个名称空间。因此,例如,Attribute 和 Join 可以具有同一个完整名称。
至 DB2 Cube Views 的桥通常必须生成一些目标对象的名称。 名称的长度不超过 128 个字节。 |
商业名称 | 最多 128 个字节。 |
注释 | 最多 254 个字节。 |
创建者 | 当映射到 DB2 Cube Views 时不需要。 |
创建时间 | 当映射到 DB2 Cube Views 时不需要。 |
修改者 | 当映射到 DB2 Cube Views 时不需要。 |
修改时间 | 当映射到 DB2 Cube Views 时不需要。 |
必须对 DB2 Cube Views 对象模型进行研究,并将它与作为映射目标或源的元数据进行比较。请仔细地注意元数据间的差异,在映射元数据时,这些差异会导致元数据丢失。如果桥是双向的,那么在元数据往返时确定将如何改变元数据。对于大多数桥,不推荐使用元数据往返,因为您最终会得到一个与开始时明显不同的元数据。 表 3 包括一些按对象类型分需要牢记的说明。当映射至 DB2 Cube Views 时,输出元数据 XML 必须有效。XML 在语法上必须是正确的。桥应该通过依据模式文件 db2md_metadata.xsd 验证它们输出的 DB2 Cube Views 元数据 XML 来检查是否格式良好。此外,输出元数据必须遵守 DB2 Cube Views 指定的所有元数据验证规则。在 DB2 Cube Views 中,有三种验证级别。当映射到 DB2 Cube Views 时,遵守“基本”规则就足够了。从 DB2 Cube Views 进行读取的桥或许想要坚持:元数据要遵守“多维数据模型完整性”元数据规则。请参阅 Setup and User's Guide,以获取有关 DB2 Cube Views 中元数据验证级别的详细信息。
表 3. 不同对象类型的映射说明
对象类型 | 映射说明 |
Attribute | SQL 表达式模板是映射过程中最难的特性,因为它通常需要对表达式进行解析。另外,始于 DB2 Cube Views 的桥需要处理引用其它 Attribute 的 Attribute,并以递归方式遍历所有 Attribute 来确定给定 Attribute 的最终 SQL 表达式。
当映射为 Attribute 时,不需要数据类型特性;当创建该 Attribute 时,由 DB2 多维数据视图确定它。 |
Join | 当映射到 DB2 Cube Views 时创建 Join 很重要,因为它们捕获构建 Dimension 和 Cube Model 所需的结构信息。 |
Attribute Relationship | 属于 Hierarchy 的一部分。可在较复杂的 Cube Model 中找到它。 |
Measure | 与 Attribute 的问题一样(即 SQL 表达式模板的映射很难)。通常,桥对支持十分复杂的量方面有一些限制。 |
Facts | 一组具有相同维数的 Measure。请注意,需要映射可选的 Attribute 和 Join。 |
Dimension | 当创建 Dimension 时,请确保包括了所有的 Attribute。请注意,Hierarchy 和 Join 是可选的。 |
层次结构 | 请注意,Attribute 列表是经过排序的。还要注意,并不允许所有的类型和部署的组合。有时候,桥在可以映射的层次结构类型方面有一些限制。 |
Cube Model | 它是桥在通常的映射过程中的最高一层对象。如果完全可能的话,至 DB2 Cube Views 的桥应该创建 Cube Model 对象。 |
Cube(和 Cube Facts、Cube Dimension、Cube Hierarchy) | 被映射为 Cube Model 的一部分(如果它有意义的话)。 |
更多精彩
赞助商链接