有关分区的概览
分区是与另一个数据库共享的数据库的区域。Essbase 分区应用程序可以跨多个服务器、处理器或计算机。
分区类型的
Essbase 提供了三种分区:复制、透明和联合。每种类型都可用于聚合存储 (ASO) 和块存储 (BSO) 多维数据集。
Essbase 中支持以下类型的分区:
表 9-1:分区类型
| 分区类型 | 说明 | 应用于 |
|---|---|---|
|
已复制 |
存储在数据目标中的部分数据源的副本。 请参见 Replicated Partitions 。 |
块存储多维数据集 聚合存储多块 |
|
透明 |
允许用户访问数据源中的数据,就像数据存储在数据目标上一样。但是,这些数据存储在数据源中,该数据源可以位于其他应用程序或 Essbase 多维数据集,也可以存储在另一个 Essbase Server 中。 请参见 Transparent Partitions 。 |
块存储多维数据集 聚合存储多块 |
| 联合 |
通过联合分区,您可以将 Essbase 多维数据集与 Autonomous AI Lakehouse 集成,以将 Essbase 的分析能力与 Autonomous AI Database 的快速聚合相结合。 本章不讨论联合分区;相反,请参见 Integrate Essbase with Autonomous Database Using Federated Partitions 。 |
块存储多维数据集 聚合存储多块 |
使用下表中的信息可帮助您选择复制的分区或透明的分区。如果您在 Autonomous AI Lakehouse 中拥有数据,则联合分区可能是正确的选择。
表 9-2 按分区类型支持的功能
| 功能 | 已复制 | 透明 |
|---|---|---|
|
最新数据 |
x |
|
|
减少网络流量 |
x |
|
|
磁盘空间减少 |
x |
|
|
提高计算速度 |
x |
|
|
较小的数据库 |
x |
|
|
提高查询速度 |
x |
|
|
对最终用户不可见 |
x |
x |
|
更易于恢复 |
x |
|
|
能够基于属性查询数据 |
x |
|
|
能够使用非分布式 OLAP 感知的前端工具 |
x |
x |
|
易于执行频繁的更新和计算 |
x |
|
|
能够更新数据目标中的数据 |
x |
|
|
执行批处理更新和简单聚合 |
x |
分区的各个部分
创建 Essbase 分区时,它具有定义该分区的元素。分区由其类型、数据源、数据目标、必要的验证信息、共享数据区域、从源到目标的成员映射以及分区的状态(更新状态)定义。
分区包含以下部分。
图 9-1 分区的各个部分

表 9-3 分区的各个部分
| 部分 | 说明 |
|---|---|
|
分区的类型 |
指示分区是复制还是透明的标志。 |
|
数据源信息 |
数据源的服务器、应用程序和数据库名称。 |
|
数据目标信息 |
数据目标的服务器、应用程序和数据库名称。 |
|
登录和密码 |
数据源和数据目标的登录和密码信息。此信息用于两个数据库之间的内部请求,以执行管理和最终用户操作。 |
|
共享区域 |
数据源与数据目标之间共享的一个或多个区域或区域的定义。要共享数据库的多个非连续部分,请在单个分区中定义多个区域。此信息确定共享数据源和数据目标的哪些部分,以便 Essbase 可以将正确的数据放入数据目标并保持共享区域的大纲同步。 |
|
成员映射信息 |
有关数据源中的成员如何映射到数据目标中的成员的说明。如果数据目标和数据源对某些成员和维使用不同的名称,则 Essbase 将使用此信息来确定如何将数据放入数据目标。 |
|
分区的状态 |
有关分区是否是最新的以及上次更新分区的时间的信息。 |
分区数据源和目标
分区的 Essbase 数据库至少包含一个数据源(数据的主站点)和至少一个数据目标(数据的辅助站点)。定义分区时,可以将数据源中的单元格映射到数据目标中的对应单元格。
一个数据库可以充当一个分区的数据源,另一个分区的数据目标。
图 9-2 数据源和数据目标

Essbase 数据库可以包含许多分区,以及未与任何其他 Essbase 数据库共享的数据。可以在以下数据库之间定义分区:
-
不同应用程序中的不同数据库,只要每个数据库使用相同的语言和相同的 Unicode 相关模式。
应用程序可以位于同一台计算机或不同的计算机上。
-
一个块存储应用程序中的不同数据库。
建议不要使用此练习,因为当每个数据库位于单独的应用程序中时,会充分发挥分区数据库的优势。
一个数据库可以用作多个分区的数据源或数据目标。要在多个数据库之间共享数据,请创建多个分区,每个分区具有相同的数据源和不同的数据目标,如下所示:
图 9-3 在多个目标上共享的数据

下表列出了每个分区类型支持的数据目标和数据源的块存储和聚合存储数据库的组合:
表 9-4 按分区类型支持的数据源和数据目标的组合
| 源 | 目标 | 已复制 | 透明 |
|---|---|---|---|
| 块存储 | 块存储 | 是 | 是 |
| 聚合存储 | 块存储 | 无 | 是 |
| 聚合存储 | 聚合存储 | 无 | 是 |
| 块存储 | 聚合存储 | 是 | 是 |
Essbase 分区中的属性
对于块存储 (BSO) 数据库,可以使用属性函数对属性值进行分区,但不能对属性维进行分区。使用属性值对数据库进行分区,以便根据维成员的特征访问维成员。
例如,在 Sample Basic 数据库中,无法对 Pkg Type 属性维进行分区,但可以创建一个分区,该分区包含 Product 维的所有成员,这些成员与 Pkg Type 维的任一成员或两个成员(瓶子和罐子)关联。如果创建的分区包含与 Can 关联的成员,则只能访问包装在罐中的产品成员(即 100-10、100-20 和 300-30)上的数据。
注意:
检索块存储数据库的属性成员的数据可能会导致缺少数据。请参阅属性与标准维的比较中“非现有存储块中的密集动态计算成员”的条目。
您可以使用 @ATTRIBUTE 和 @WITHATTR 计算函数定义分区。
例如,要提取与“含咖啡因”属性维关联的产品维的所有成员的数据,可以创建诸如 @ATTRIBUTE(含咖啡因)之类的分区。但是,您无法对“含咖啡因”属性维进行分区。
根据前面的示例,此分区是正确的:
Source Target
@ATTRIBUTE(Caffeinated) @ATTRIBUTE(Caffeinated)此分区不正确:
Source Target
Caffeinated Caffeinated