pengyang3333
作者pengyang3333·2013-05-19 09:52
软件开发工程师·长亮科技

Cube增量更新

字数 1077阅读 2642评论 0赞 0
当刷新立方体时间过长的时候,增量更新是缩短刷新时间的好办法。增量更新的时候,只会对立方体加载新增加的数据,以前的数据不会进行更改,这样会缩短读取数据的时间;另外在刷新立方体的时候,也会缩短刷新时间。
目前,增量更新的方式有两种:
 普通增量更新(立方体属性/processing/The Cube is incrementally updated)(适用目前市场上的所有版本)
Tip 1: 在立方体的结构(包括指标,维度,层次等)发生变化,必须重新全部加载数据
Tip 2:推荐您定期重建PowerCube。第一次建立立方体时,自动分区( Auto-Partitioning)功能可以将维度和层分割为多个分区层(partitioning level)。在此之后所有新的类别将被加到“0”分区层上。如果随时间的变化增加了很多类别,PowerCube用户最终会遇到性能问题。使用所有当前类别重新生成PowerCube将允许Transformer设计出一种新的分区模式。下面的例子是每四次增量更新后进行一次完整重建的调度情况:
Build 处理行为
初始化加载
对build1进行增量更新1
在build 2上进行增量更新2
在build 3上进行增量更新3
在build 4上进行增量更新4
由初始加载和从增量更新1到增量更新4组成的完全加载
在build 5上进行增量更新5
在build 7上进行增量更新6…
 按时间分区更新(新增立方体/Cube Group/Enable Time-based Partitioning)(7.0以后版本支持)
按时间分区更新技术是基于普通增量更新之上的,使用按时间分区会生成一个虚拟立方体(该立方体并不保存数据,只保存维度信息),一个定义文件,还有包含数据的若干子立方体。
举例说明:有一年的数据,按月分区,这样每个月就会有一个立方体,总共是12个。
Tip 1: 立方体增量更新之后,请保存模型,这样可以保证Category的完整性。如果Category不完整,可能会存在子立方体的Category在虚拟立方体中找不到的情况,这样立方体的刷新是无法继续的。
Tip 2: 子立方体默认都是增量更新的,所以和普通增量更新一样,如果某个子立方体有了多次刷新之后,也必须进行一次全量更新。比如:按月分区但是每天都刷新数据,当月的立方体必然会进行多次更新,这时候就必须删掉当月的立方体,重新刷新一下。
Tip 3: 通常建议按月分区,按日分区的话,一年的子立方体太多,打开虚拟立方体的时候速度会比较慢,如果按季度、年分区的话,可能会有Tip 2中的问题。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广