本节描述当使用 DB2 OLAP 服务器来创建 OLAP 应用程序和数据库时要考虑的有效行为。
通过使用 DB2 OLAP 服务器:
当使用 DB2 OLAP 服务器来创建 OLAP 数据库时, 它在关系数据库中创建一个关系方块。该关系方块包括一个事实表, 该事实表包含数据库的实际数据值。标识为亮点维的维成员帮助定义事实表的结构。
DB2 OLAP 服务器创建的事实表对指定的亮点维的每个成员都包含一列, 还对多维数据库中的每个附加维都包含一列。亮点维中的成员总数,加上数据库中的 附加维总数,再减去 1,不能超过关系数据库允许一个表所包含的最大列数。该数 不包括共享成员或虚拟成员。
当使用 DB2 OLAP 服务器时,压缩、数据高速缓存和索引编制由关系数据库处理。
正如“应用程序管理器”提供的一些信息仅在使用多维存储管理程序时才适用一样, 有一些信息仅在使用关系存储管理程序时才适用。
当设计多维数据库时, 执行"设计多维数据库"中的步骤以优化您的设计, 使其达到最佳性能。
亮点维是您标识的一个维,DB2 OLAP 服务器用它来帮助定义在多维数据库的关系方块中创建的事实表的结构。
该关系方块包含一组数据和元数据,它们一起定义用“应用程序管理器”或 ESSCMD 命令创建的多维数据库。
事实表保存多维数据库的数据值。它是关系方块中的主表,包含以下列:
图 3显示样本事实表的内容。
![]() |
PROFIT、SALES、COGS 和 INVENTORY 列是被指定为亮点维的“帐户”维中的成员。PID、TID 和 MID 列表示非亮点维。
表示亮点维中一个成员的每一列都包含数据值,而表示一个非亮点维的每一列包含该维中成员的 ID 号。
可选择一个亮点维或让 DB2 OLAP 服务器为您选择一个。
使用 DB2 OLAP 服务器创建的大多数多维数据库都包括一个 “帐户”维。选择“帐户”维可更容易阅读和理解 SQL 查询。因为“帐户”维 包含您的业务的所有量度(如销售、费用和库存),因此它可能是您最频繁地 选择作为亮点维的维。然而,可以选择一个不同的维。
如果选择亮点维,该维必须为:
M = C-(N-1)
其中:
M 是亮点维中存储数据的成员的数目。
C 是关系数据库允许一个表可包含的最大列数。
N 是数据库轮廓中的总维数。
例如,如果关系数据库施加的列限制是 254, 而数据库有 6 个维,则被指定为亮点维的维可包含最多 249 个成员。该数不包括共享成员或虚拟成员。
另外,亮点维应具有下列特性:
应仔细选择一个亮点维,而不要让 DB2 OLAP 服务器为您自动选择一个。在将数据 装入多维数据库后,如果没有首先清除该数据库中的所有数据,则不能更改或删除 亮点维。在更改或删除亮点维后,必须重新装入所有数据。对亮点维的选择可影响 查询、计算和数据装入的性能。
如果 DB2 OLAP 服务器为您选择一个亮点维, 它先搜索具有一个帐户标记且包含大量成员(如 M = C-(N-1) 个成员) 的紧凑维。如果它使用这第一种方法未找到紧凑维,则它会选择 一个轮廓中含有大量成员(如 M = C-(N-1) 个成员) 的第一个紧凑维。可查看 DB2 OLAP 服务器所选择的亮点维。参阅"查看 DB2 OLAP 服务器运行期参数"。
要设置一个亮点维, 为该维的最高级成员创建名为 RELANCHOR 的用户定义属性。 最高级成员是维名成员。
当 DB2 OLAP 服务器创建事实表时,它使用具有 RELANCHOR 属性的成员来确定将哪个维用作亮点维。
只能将 RELANCHOR 属性指定给一个成员。
有关为维中的成员创建用户定义属性的详细指导, 参阅 Database Administrator's Guide 一书。
可使用“应用程序管理器”来查看亮点维和其他运行期参数的设置。参阅"查看 DB2 OLAP 服务器运行期参数"。
当使用 DB2 OLAP 服务器创建多维数据库时, 该数据库可以包含的维数受关系数据库允许一个表可包含的最大列数限制。
事实表是 DB2 OLAP 服务器在关系数据库中创建的最大的表,它对指定的亮点维中的 每个成员都包含一列,还对数据库轮廓中的每个非亮点维都包含一列。因此,您的亮点维中的 成员总数加上数据库轮廓中的非亮点维总数再减去 1, 不能超过您的关系数据库所允许的列限制。该数不包括共享成员或虚拟成员。
要确定关系方块可包含的最大维数:
记住要将该维的最高级包括在内。一个维的最高级被视作一个成员, 因为它可包含低级别成员的合并的值。
例如,如果亮点维将包含不超过 100 个成员, 且关系数据库允许一个表中最多包含 254 列,则最多可以有 153 个维。
对每个非亮点维可包含的成员数没有限制。
DB2 OLAP 服务器和 DB2 OLAP Starter Kit 提供了双重存储管理程序功能,它使您能够在创建应用程序时或在 客户机程序创建应用程序时,选择多维存储管理程序或关系存储管理程序。缺省存储管理程序是在 ESSBASE.CFG 文件中使用 DATASTORAGETYPE 语句指定的。多维存储管理程序是缺省存储管理程序。如果没有 ESSBASE.CFG 文件,或者该文件中没有 DATASTORAGETYPE 语句,则使用缺省值。
若从先前版本的 DB2 OLAP 服务器升级,且正在使用关系存储管理程序作为缺省存储管理程序, 则安装程序将向 ESSBASE.CFG 文件添加一项,以将关系存储管理程序指定成缺省存储管理程序。 安装完新版本的 DB2 OLAP 服务器之后,在更改 DATASTORAGETYPE 语句之前, 必须启动并停止每个现存应用程序。当 DB2 OLAP 服务器启动现存应用程序时,它使用 ESSBASE.CFG 中指定的存储类型。在启动并停止应用程序后,您便可以更改 DATASTORAGETYPE 语句,这些更改将在应用程序下次启动时应用。
如果使用“管理程序”,则创建新应用程序时,可以指定多维存储管理程序或关系存储管理程序。 您选择的存储管理程序类型将覆盖 DATASTORAGETYPE 语句中指定的任何缺省存储管理程序。
要编辑 ESSBASE.CFG 文件,遵循这些步骤:
可使用“应用程序管理器”来查看下列运行期参数:
要查看运行期参数:
装入数据时最重要的考虑事项是输入数据的排序。为了得到最好的性能, 只要您的轮廓以先紧凑维后稀疏维来排序,并且稀疏维按大小递增的次序来排列, 就按您的轮廓的倒序装入数据。 首先装入最大的稀疏维,然后下一个最大的,依此类推,最后装入紧凑维。
当用这种方法对您的输入数据排序时,则数据装入更快速, 因为每个块的所有数据是同时装入的。而且,这些块是按正确的索引顺序装入的。如果输入数据的次序紊乱,则索引管理更加复杂; 当装入不同的数据元素时会多次写入块,并记录所有的附加操作。
有一些附加步骤可用来优化数据装入性能。开始装入数据前,阅读"调整数据装入"。另外, 有关装入数据的更多信息, 参阅 Database Administrator's Guide。