收藏本站

人工智能培训机构,上海涛德,算法工程师,数据科学家高端培训机构-上海涛德

Oracle Essbase Outline 中为什么要把稀疏维从小到达排列

2013-5-24 15:51| 查看: 1824| 评论: 0

摘要: 我们经常说在Oracle Essbase Outline 中要把稀疏维从小到达排列从而提升技术性能,但是为什么要做这样的设置。其实跟其运算的时候使用内存的机制有关系。 计算过程中,Essbase需要决定哪些数据块需要参与运算,它通 ...

我们经常说在Oracle Essbase Outline 中要把稀疏维从小到达排列从而提升技术性能,但是为什么要做这样的设置。其实跟其运算的时候使用内存的机制有关系。

计算过程中,Essbase需要决定哪些数据块需要参与运算,它通过在Calculator cache构建bitmap(位图)来进行跟踪当前计算脚本需要使用那些数据块。bitmap记录的就是参与运算的稀疏维成员的组合信息。

Calculator cache被能够被系统使用的前提是,计算过程至少访问两个sparse稀疏维。

在这个前提下满足下面两个条件的任意一个就可以使用

1且至少有一个sparse维的所有成语需要被访问到。例如 Calc Dim(“sparse dim”)

2 在计算脚本中包含了SET CACHE ALL 命令。

Essbase在计算时会把sparse维分成两组1 Bitmap 维,2 Anchoring

Essbase按照outline顺序,从第一个稀疏维的每一个成员开始与后续的稀疏维的每一个成员做数学上的排列组合 ,直到后续某一个维无法全部进入存放bitmap的内存区域也就是我们这里的Calculator cache,这个维以及以后的维度就是anchor维。(也就是无法判断后续块是否存在)。这时Essbase也在内存中确定了一个bitmap的大小,也确定了一次最多可以知道有多少块参与运算。

如果初始访问的稀疏维成员数过多,在内存中记录下完整的维的个数就会减少。计算性能就会降低。

<点击:上海涛德Oracle OCM认证及BI商业智能课程>|人工智能培训-上海涛德 ( 沪ICP备14006824号 )|网站地图   My title page contents

GMT+8, 2019-4-24 14:45 , Processed in 0.106974 second(s), 14 queries , Gzip On.

回顶部