Essbase 数据加载的阶段
当您了解数据加载过程的阶段并了解如何优化和并行化任务时,可以提高向 Essbase 块存储 (block storage,BSO) 多维数据集加载数据的性能。
此部分不适用于聚合存储多维数据集。
将大型数据源加载到 Essbase 多维数据集可能需要很长时间。您可以通过最大限度地减少 Essbase 在读取和解析源数据以及读取和写入多维数据集时所花费的时间来缩短流程。
Essbase 按块加载数据块。对于稀疏维成员的每个唯一组合,假设至少有一个单元格包含数据,则一个数据块包含所有密集维组合的数据。为了更快地访问块位置, Essbase 使用索引。索引中的每个条目对应于一个数据块。请参见 Sparse and Dense Dimensions 、 Selection of Dense and Sparse Dimensions 和 Dense and Sparse Selection Scenarios 。
Essbase 处理五个阶段的管道中的数据加载。
对于自由格式数据加载,阶段为:
-
输入 - Essbase 从文件或 SQL 连接收集输入
-
令牌化 - Essbase 将输入字段与记录分开,创建令牌
-
转换 - Essbase 将标记转换为成员项
-
准备 - Essbase 排列数据以准备将数据放入块中
-
写入 - Essbase 将数据放入内存中的块,然后将这些块写入磁盘,并使用索引查找磁盘上的正确块,该索引由基于稀疏交叉点的指针组成
对于基于规则文件的数据加载,阶段为:
-
输入 - Essbase 从文件或 SQL 连接收集输入
-
预规则 - Essbase 读取数据加载记录
-
规则 - Essbase 将嵌入到规则文件中的规则应用于数据加载记录
-
准备 - Essbase 排列数据以准备将数据放入块中
-
写入 - Essbase 将数据放入内存中的块,然后将这些块写入磁盘,并使用索引查找磁盘上的正确块,该索引由基于稀疏交叉点的指针组成
注意:
在聚合存储数据库上,第五阶段不适用。
在加载所有数据之前,会重复此过程。通过在每个阶段使用一个或多个处理线程, Essbase 可以并行执行某些进程。请参见 Parallel Data Load 。
本章中的示例假设您熟悉本主题中的信息:数据源。