当前位置:文档之家› SAP BW学习笔记(精选版二)

SAP BW学习笔记(精选版二)

性能优化
●InfoCube为什么快
⏹之所以cube比ods速度快,和它采用的SID机制分不开的。

众所周知integer是比
char检索速度要快很多的。

⏹再就是cube的index,cube里的所有characteristics都是key,都有索引,不然IO
的效率就大大降低了。

●优化方案:
⏹颗粒度尽量大:尽量不要在Cube里放太detail的数据,这种需求首先考虑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.放在一个维度上,因为这样会让
维度表变得很大。

通常,尽可能拆分成更多的维度,然后在multiprovider层面,
把相关的char都放一个维度里,然后做好Mapping,这样可以让用户更容易理解
MultiProvider. 不过维度太多会导致fact table巨大,所以要做好平衡。

⏹Line item Dimension:对于material等很大的主数据,使用Line item Dimension.
⏹BIA:使用BIA是比Aggregation更有效的方法,就是要花不少钱。

InfoCube.doc
DSO
Standard
●标准DSO(生成主数据标识、对于相同关键字段的值进行合并、可直接出具报表),对
应后台3个表,NEW TABLE/LOG TABLE/ACTIVE TABLE,即保存了DELTA增量的CHANGE LOG 数据。

一般通过DTP来更新数据。

这种DSO也是我们用的最多的类型。

●数据需要激活后才能使用。

含有Key Field与Data Field,通过Key Field的组合作为唯一
值判断,进行合计、覆盖的操作
●标准DSO需注意的问题
51SAP教育中心项目实战培训
51SAP 教育中心项目实战培训 ⏹ 如果是激活业务内容的DSO ,然后复制出来作为自己的DSO 使用的话,一般不需
考虑关键字段的问题,系统的设置一 般会保证DSO 数据与PSA 数据完全一致,但
如果是自己通过直接输入信息对象创建的DSO ,则需考虑值的合并,因为在标准
DSO 对于相同关键字段的值系统 会自动合并,这个时候需注意转换中的规则明细
是覆盖还是合计,如果有合并的字段,即DSO 更新的数据少于PSA 的数据,建议
把转换中值字段的规则明细全部 修改为合计,以保证值的正确,总之,在使用标
准DSO 时需考虑值的合并问题(项目中如何使用的),并考虑转换的规则明细,但使
用写优化的DSO 则不存在该问题
⏹ 建议如果采用三层数据模型架构的话,可考虑第一层使用写优化的DSO ,保证该层
DSO 数据与PSA 完全一致,第二层DSO 使用标准DSO ,第三层使用CUBE (颗粒度
变粗),完全更新的数据源情况下,写优化DSO 在新增数据时,会重复计算以前已
抽取数据,在建立DSO 时需仔细考虑DSO 类型、数据更新方式、DSO 关键字段和
数据字段设置、以及转换中的明细规则中的集合设置为覆盖还是合计
Write-Optimized
● 写入优化的:(不生成主数据标识、不合并相同关键字段的值、速度快可用于存储大容
量数据)这种DSO 类型,用来处理大量的数据,但后台也只对应ACTIVE TABLE 。

通过DTP 来更新数据。

每条数据记录的技术关键值是惟一的,所以只进行数据库的插入操作,没有更新操作。

● 一张active 表,一般用于大数据量的加载。

由技术关键值、语义键、数据列组成。

技术
关键值又包括Request GUID 、Data PackageID 、Data Record Number 组合而成,他们确保了数据的唯一性。

● 优化的数据存储对象的设置中,以下的设置选项是特有的:语义的数据存储键值不惟一。

这一选项仅与写优化的数据存储对象相关。

数据表的技术关键字经常由数据请求标识、数据包和数据记录号组成。

我们定义DSO 时指定的关键字段组成了写优化的数据存储对象的语义键。

如果未设置此标识,那么系统检查语义关键字的惟一性并为关键字组合生成带有技术名称"KEY" 的惟一索引,出现任何相关键字组合的记录都会报错。

如果设置了此标识,那么数据存储对象的数据表可以包含几个带有相同组合键的记录,它们由技术关键值区别开来,在报表的结果上,这些记录是相加的,所以在转换规则中,只有汇总选项,没有覆盖选工页。

● 适用场景
51SAP 教育中心项目实战培训 ⏹
构建EDW 的原始数据层,无报表需求,不需要激活,ETL 过程更快 ⏹
存储大量document level 的明细数据 ⏹
每次加载的都是新数据,数据不发生变化 ⏹
临时存储数据 ⏹ 实际项目中,写优化DSO 通常用于存储财务凭证和物料凭证,这些凭证一旦发生
就不会修改。

⏹ 怎样才算重复呢,导入数据的时候
⏹ Seamantic Key 有什么作用
Direct Update
⏹ 直接更新的数据存储对象也是只有一张active 表,即激活数据表。

不同的是,数据
在进入数据存储对象后在报表层次是不可用的,常用于APD 的写入操作。

InfoCube和DSO对比
三种DSO对比
DSO都是二维表
51SAP教育中心项目实战培训
51SAP 教育中心项目实战培训
文档
DSO.doc。

相关主题