InfoCube信息立方体的优化

  • 颗粒度尽量大:尽量不要在Cube里放太明细的数据(即维度字段越小越好),这种需求首先考虑R3用ABAP解决,如果非要在BW,可以考虑在DSO出明细报表,在Cube出汇总报表,通过RRI接口调用明细报表。
  • 拆分多个:当Cube的数据量很大时,可以拆分成多个Cube,再用MultiProvider拼起来,这样query会在N个Cube中并行,提高效率。这就是所谓的逻辑分区。常见的分区方式有按年月,按国家,按BU,按类型等。
  • 压缩:给Cube做Compression。Compression 本质上是去掉Data Dimension,这样fact table就被压缩了,但是request id也消失了,将无法通过request id去管理数据(慎用,最好是半年甚至一年以上的数据)。
  • 索引:数据库的索引可以加快查询速度
  • 分区:对于很大的Cube,可以做partition,这是物理分区,只支持按时间分区。
  • 聚集:使用Aggregation可以提高性能。但是Aggregation本身是cube的一个子集,提高性能的同时也加大了数据冗余,所以不要用太多。
  • Staitics定期刷新DB Statistics 可以提高reporting的效率。
  • 使用MP:维度设计上,避免很多数据量很大char.放在一个维度上(多对多的不要放在一个维度里),因为这样会让维度表变得很大。通常,尽可能拆分成更多的维度(不过维度太多会导致 fact table巨大,所以要做好平衡),然后在multiprovider 层面,把相关(指业务意义上的相关)的char都放一个维度里,然后做好Mapping,这样即可以让用户更容易理解MultiProvider,下层CUBE维度的从技术角度拆分与组合(按1:1或1:N的放在一起的原则)提高了性能,两全其美。
  • Line item Dimension对于material等很大的主数据,使用Line item Dimension(即将M:N多对多的字段,让他们一个人一个维度,这样自然就成了行项目维度了,提高性能).
  • BIA:使用BIA是比Aggregation更有效的方法,就是要花不少钱

来源:https://www.cnblogs.com/jiangzhengjun/p/4297831.html

转载于:https://www.cnblogs.com/psapfans/p/10508911.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值