发布网友 发布时间:2022-04-10 03:46
共1个回答
热心网友 时间:2022-04-10 05:15
DB2 的 DB2 Cube Views 功能通过共享关系数据库和商业智能应用程序之间的*元数据,使商业智能应用程序与数据仓库的集成变得更加轻易。了解如何使商业智能应用程序或工具能够利用这一强大的新功能。 本文适用对象 本文的适用对象是那些希望通过使用 DB2 Cube Views 应用程序编程接口(API)以便在 IBM® DB2® Universal Database™ V8(UDB)上开发或集成 OLAP 应用程序的技术经理和技术人员。该信息尤其适用于那些构建组件以在 DB2 Cube Views 和其它工具或元数据资源库之间交换元数据的开发人员。为简单起见,我们将交换元数据的软件称为“元数据桥”或者就是“桥”。 具备关系数据库、仓库和 OLAP 概念方面的背景知识将有助于对本文的理解。 简介 公司和用户目前日益需要具有分析大型数据集以及能够深入访问和报告更具体数据的能力。象 DB2 UDB 之类高可伸缩性的数据库服务器在向企业交付 OLAP 解决方案中起着日益重要的作用。通过 DB2 Cube Views,DB2 UDB 提供了一个甚至更健壮的基础结构,这种基础结构可以在端对端仓库和商业智能部署中起到“重大支撑”作用。 对于许多 OLAP 工具和应用程序而言,与 DB2 Cube Views 的集成需要构建元数据桥。这些桥可以通过使用 DB2 Cube Views 的基于 xml 的存储过程接口来读取或创建元数据。我们将在本文中讨论如何使用这个接口来构建桥。 DB2 Cube Views 的概述 IBM DB2 Cube Views 是 DB2 通用数据库的附加功能部件,它增强了 DB2 UDB,使 DB2 UDB 作为开发和部署商业智能产品和应用程序的平台。非凡地,DB2 Cube Views 有助于加速位于 DB2 UDB 上的 OLAP 解决方案和应用程序的开发和治理。 DB2 Cube Views 功能部件是如何做到这一点呢?首先,它答应 DB2 UDB 支持 OLAP。假如没有*数据视图,关系数据库对于不熟悉数据库结构和内容的人来说似乎是一组令人生畏的带有一些列的表。DB2 Cube Views 元数据使您能够更完整地记录 DB2 数据库中的底层结构。 通常,仓库或数据集市是非凡为维分析设计的。在这种情况下,数据库通常由被组织为一个或多个星型(或雪花型)模式的表组成。简单的星型模式包含一个事实表,事实表四周有一些维表。例如,事实表可以记录公司各个产品和分店每日销售数据。维表(或许是 PRODUCTS 和 STORES 表)可能包含有关各个产品和分店的具体信息,并且与事实表相连接。 元数据对象 DB2 Cube Views 元数据尤其擅长捕捉星型或雪花型模式中固有的结构(请参阅 图 1)。该元数据通过一组元数据对象提供关系数据的“空间视图”。元数据对象被划分为多层,从简单对象(如 Attribute,简单的 Attribute 对表列建模)到更复杂的对象(如 Join、Hierarchy、Dimension 和 Cube Model)。完整定义的*数据模型对象通常符合星型(或雪花型)模式,并对一组具有公共维数的度量建模。然后,*数据模型就封装其它 DB2 Cube Views 元数据对象(如 Dimension 和 Measure),这一点都不希奇。 图 1. 引用关系星型模式的 DB2 Cube Views *数据模型 简而言之,DB2 Cube Views 元数据使您能够捕捉 DB2 数据库的*结构和设计。在 IBM DB2 Cube Views Setup and User's Guide 的第 2 章中具体描述了元数据对象。 DB2 Cube Views 元数据除了使 DB2 支持 OLAP 外,至少还有两种使用方法: DB2 Cube Views 功能部件利用元数据来优化命中 DB2 数据库的 SQL 查询。 位于 DB2 UDB 之上的产品和应用程序可以使用元数据。 让我们简要地讨论一下这两种用法。 将 DB2 Cube Views 元数据用于优化 DB2 Cube Views 通过创建合适的实例化的查询表(materialized query table,MQT)来加速 SQL 查询,这些 MQT 中保存了预先聚集的数据。MQT 也称为(自动)汇总表。假如可以,DB2 优化器会将 SQL 查询重新路由给 MQT(请参阅 图 2)。MQT 通常比底层的基本表(MQT 构建于这些基本表之上)小好几个数量级。因而,对于同一个 SQL 查询,将该查询重新路由给 MQT 这种查询方法通常比用查询基本表的方法快得多。 DB2 Cube Views 有一个基于元数据和用户输入的优化顾问程序,它推荐一组合适的 MQT。有关更多信息,请参阅 DB2 Cube Views Setup and User's Guide中有关优化的章节。 图 2. DB2 优化器在适当时将查询路由到 MQT 元数据使用者 *数据视图元数据还有其它好处。商业智能工具可以从 DB2 UDB 读取元数据来了解 DB2 表的维结构。然后,根据元数据,这些工具提供处理 DB2 UDB 数据的查询和报告解决方案。 使用 DB2 Cube Views 元数据的工具和应用程序一般分为两类: 第一类应用程序“咬住”DB2 Cube Views 。它们通常通过使用元数据来构造 SQL 查询,以读取元数据并直接用它对 DB2 数据库进行分析。大多数情况下,这些工具对 DB2 Cube Views *数据模型和*数据对象进行查询和报告。 第二类工具使*数据视图元数据从 DB2 流入自己的工具,然后根据自己的元数据查询 DB2。这些工具必须能够将 DB2 Cube Views 元数据映射到自己的元数据。这一映射的复杂程度取决于元数据的相似程度(或相异程度)。 元数据生产者 请注重:并非所有对 DB2 Cube Views 元数据感爱好的应用程序都读取元数据,这一点也很重要。还有一类工具和应用程序产生元数据并将它 推入 DB2。维元数据通常来自数据库设计、抽取-转换-装入(extract-transform-load,ETL)和其它数据库治理工具。通过使维元数据流入 DB2 UDB,这些工具可以利用先前提到的这些优化和治理好处。 显然,为了读取、创建、修改和删除元数据对象,工具和应用程序需要一种与 DB2 中*数据视图元数据交互的方法。 DB2 Cube Views 为此提供了一个 API,我们接下来将研究它。 API — db2info.md_message() 的概述 DB2 Cube Views API 是用于访问维元数据的接口。它以名为 db2info.md_message() 的 DB2 存储过程的方式实现,该存储过程为其所有参数传入(出)XML 文档。 存储过程的优点是使该 API 变成与语言无关。任何可以与 DB2 交流的编程语言都可以调用这个存储过程。可以使用嵌入式 SQL 和通过 ODBC 或 JDBC™ 的动态 SQL 等。 您可以从 DB2 Cube View Setup and User's Guide 的附录中获得有关这个 API 的详尽描述。在本文中,我们将向您演示几个示例:向这个存储过程传入什么,以及期望从它那儿返回什么,通过这几个示例来设法让您更快地理解该存储过程。 输入参数 这个存储过程的语法如下:DBINFO.MD_MESSAGE(Operation IN, metadata IN/OUT, response OUT) 所有参数都属于 CLOB 类型。 该存储过程有两个输入参数。第一参数是必需的,它指定调用程序希望执行什么操作。这些操作有:DESCRIBE