关于数据库重构

在业务发生变化时,您可以更改 Essbase 数据库大纲以捕获新产品线、提供有关新方案的信息、反映新时间段等。对数据库大纲的某些更改会影响数据存储安排,要求 Essbase 重构数据库。

由于需要重构数据库的更改可能非常耗时(除非在重构之前放弃数据),因此请考虑根据这些更改对性能的影响来决定这些更改。

重构 Essbase 多维数据集会导致索引和数据高速缓存大小的临时增加(最多增加两倍)。重构完成后,索引高速缓存和数据高速缓存都将返回到执行重构之前的大小。

注意:

有关清除数据并避免进行某些重组的信息,请参见 CLEARDATACLEARBLOCK 计算命令。

隐式重组

使用大纲编辑器或维构建更改大纲后, Essbase 将启动数据库文件的隐式重构。执行的重构类型取决于对大纲所做的更改的类型。

密集重构:如果移动、删除或添加密集维的成员,则 Essbase 会重构数据文件中的块并创建新数据文件。当 Essbase 重构数据块时,它会自动重新生成索引,以便索引条目指向新的数据块。不会删除空块。Essbase 将所有重构的块标记为脏块,因此在进行密集重构后,必须重新计算数据库。对于大型数据库,密集重组(这是重组中最耗时的)可能需要很长时间才能完成。

稀疏重构:如果稀疏维的成员被移动、删除或添加,则 Essbase 会重构索引并创建新索引文件。索引的重构相对较快;所需的时间取决于索引大小。

仅大纲重构:如果更改仅影响数据库大纲,则 Essbase 不会重构索引或数据文件。成员名称更改、别名创建和动态计算公式更改是仅影响数据库大纲的更改示例。

注意:

数据库大纲的更改方式(使用大纲编辑器或使用维构建)不会影响重构。只有信息类型的更改才会影响发生什么类型的重组(如果有)。有关大纲更改及其导致的重构类型的信息,请参阅大纲更改快速参考

显式重构

当您有意启动 Essbase 数据库重构时,它是一个显式重构。显式重构会强制对数据库进行完全重构。完全重构是一个密集的重构,加上去除空块。显式重构后,所有数据加载和计算事务处理历史记录都将被删除。

要启动完全重构,可以使用 MaxL 语句更改数据库强制重构

影响数据库重构的条件

使用智能计算、成员名称更改和公式更改会影响 Essbase 数据库重构。

如果使用智能计算,则每当重新构建数据块时,所有重构的块都会标记为脏。将块标记为脏会强制下一个默认智能计算为完整计算。

如果更改名称或公式,则 Essbase 不会将受影响的块标记为脏。如果启用了智能计算,则默认计算不会重新计算这些受影响的成员。必须明确重新计算它们。

对属性维的更改不会触发重构。

有关更多信息,请参见以下主题: