SAP BPC最佳实践-SAP BPC的OLAP引擎比较(MS OLAP&BW OLAP)
2010-04-25 22:44
423 查看
相对于SAP Netweaver的BW OLAP引擎,大家可能更加熟悉MS的OLAP引擎,所以我这里作一些概念上的类比。这样对于BW的一些概念就容易理解了。
1,OLAP引擎类型
因为这篇文章不是普及OLAP和OLTP的区别,就不多做说明了。OLAP从实现机制上面分为ROLAP和MOLAP两种类型,前者的代表产品就是SQL Server所带的Analysis Service。而BW的OLAP引擎是基于MOLAP的。这两种OLAP引擎的区别主要在于前者会在写会数据时,更新aggregate节点的值;而后者会在读取aggregate节点值时,才计算出它的值。换言之,ROLAP的读取快,写回慢而MOLAP的读取慢,写回快。所以大致上面来说,BPC MS version的读取效率更高。
2,术语区别
由于BW也会支持行业内所同行的MDX标准查询语言,所以对于MS OLAP的概念,BW里面都有相对应的概念,关系如下图所示:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42502.jpg)
基于这个图表,也就可以看出两个不同版本的BPC产品在元数据上面的联系。这种联系在原来ms版用户升级到nw版时尤为重要。从BPC产品的功能角度出发,下面是另一张图表,说明两个应用平台的联系:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42503.jpg)
在SQL Server 2005套件中,SQL Server Management Studio可以作为一个工作站组件,这是用来查看数据库,相应表、试图、存储过程的工具。而从ABAP数据词典中,也可以相对应查看表、视图、结构(structure)。此外,在SQL Server Management Studio中可以查看Analysis Service实例中的Cube、Dimension,而在BW的Data Warehouse Workbench(Tcode: RSA1)中也可以看到类似的结构。
在SQL Server2005中,SSIS被作为DTS的替代者引入,它允许用户自定义数据流,并且控制数据转换的规则。SSIS从SQL Server数据类型中导入data objects、tables、cubes、master data;而在BW中,可以通过Tcode:RSPC来定义自己的数据流,通过process type来组装流程和自己编写转换规则。
下面深入的看一下在Cube下面的一些概念对应:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42504.jpg)
需要强调的是:
在MS中的property相当于在BW中navigation attribute;
而BPC中的Hierarchy并不是BI Hierarchy,BPC Hierarchy在技术上是Characteristic InfoObject的master data表的一个attribute;(要理解这句话,首先你得知道InfoObject有两种类型,然后InfoObject有三张对应表)
在SAP BPC中,Time这个InfoObject作为Characteristic InfoObject。
下面展示的图表是说明组成一个InfoCube的表结构:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42505.jpg)
在Netweaver中的dimension table和BPC中的dimension是一一对应的;
对于Fact table,这个对应于Netweaver中的F-table;
writeback table在功能上面与Netweaver infocube的open request联系。当数据需要从BPC的写回时,首先会被写到一张独立的表中。当Netweaver写回数据时,会把F-table中的数据切割成片,根据request id使用最近的request写回到cube中;
Fact 2 table类似于E-table的用法,当使用BPC的Optimize功能时,系统会将数据从Write Back Table移到Fact 2 Table。这种做法是为了提高性能。
以上的概念讲解会体现在如何使用BPC Admin Console建模,以及不同的数据模型之间的关系上。
1,OLAP引擎类型
因为这篇文章不是普及OLAP和OLTP的区别,就不多做说明了。OLAP从实现机制上面分为ROLAP和MOLAP两种类型,前者的代表产品就是SQL Server所带的Analysis Service。而BW的OLAP引擎是基于MOLAP的。这两种OLAP引擎的区别主要在于前者会在写会数据时,更新aggregate节点的值;而后者会在读取aggregate节点值时,才计算出它的值。换言之,ROLAP的读取快,写回慢而MOLAP的读取慢,写回快。所以大致上面来说,BPC MS version的读取效率更高。
2,术语区别
由于BW也会支持行业内所同行的MDX标准查询语言,所以对于MS OLAP的概念,BW里面都有相对应的概念,关系如下图所示:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42502.jpg)
基于这个图表,也就可以看出两个不同版本的BPC产品在元数据上面的联系。这种联系在原来ms版用户升级到nw版时尤为重要。从BPC产品的功能角度出发,下面是另一张图表,说明两个应用平台的联系:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42503.jpg)
在SQL Server 2005套件中,SQL Server Management Studio可以作为一个工作站组件,这是用来查看数据库,相应表、试图、存储过程的工具。而从ABAP数据词典中,也可以相对应查看表、视图、结构(structure)。此外,在SQL Server Management Studio中可以查看Analysis Service实例中的Cube、Dimension,而在BW的Data Warehouse Workbench(Tcode: RSA1)中也可以看到类似的结构。
在SQL Server2005中,SSIS被作为DTS的替代者引入,它允许用户自定义数据流,并且控制数据转换的规则。SSIS从SQL Server数据类型中导入data objects、tables、cubes、master data;而在BW中,可以通过Tcode:RSPC来定义自己的数据流,通过process type来组装流程和自己编写转换规则。
下面深入的看一下在Cube下面的一些概念对应:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42504.jpg)
需要强调的是:
在MS中的property相当于在BW中navigation attribute;
而BPC中的Hierarchy并不是BI Hierarchy,BPC Hierarchy在技术上是Characteristic InfoObject的master data表的一个attribute;(要理解这句话,首先你得知道InfoObject有两种类型,然后InfoObject有三张对应表)
在SAP BPC中,Time这个InfoObject作为Characteristic InfoObject。
下面展示的图表是说明组成一个InfoCube的表结构:
![](http://images.cnblogs.com/cnblogs_com/libihui422/42505.jpg)
在Netweaver中的dimension table和BPC中的dimension是一一对应的;
对于Fact table,这个对应于Netweaver中的F-table;
writeback table在功能上面与Netweaver infocube的open request联系。当数据需要从BPC的写回时,首先会被写到一张独立的表中。当Netweaver写回数据时,会把F-table中的数据切割成片,根据request id使用最近的request写回到cube中;
Fact 2 table类似于E-table的用法,当使用BPC的Optimize功能时,系统会将数据从Write Back Table移到Fact 2 Table。这种做法是为了提高性能。
以上的概念讲解会体现在如何使用BPC Admin Console建模,以及不同的数据模型之间的关系上。
相关文章推荐
- SAP BPC最佳实践-SAP BPC的OLAP引擎比较(MS OLAP&BW OLAP)
- 讨论: TDD in HTML & JavaScript 之可行性和最佳实践
- 决胜大数据时代:Hadoop&Yarn&Spark企业级最佳实践(3天)
- Hadoop&Yarn&Mahout&Spark企业级最佳实践(3天)
- Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全
- SAP BPC最佳实践-BPC系统架构
- ASP.NET&Spring.NET&NHibernate最佳实践(一)——目录
- [转]C 编程最佳实践
- Cocos2d-x for Android & iOS开发环境配置最佳实践
- mysql:21个性能优化最佳实践之19[选择正确的存储引擎]
- 决胜Spark大数据时代企业级最佳实践:Spark Core&Spark SQL&GraphX&Machine Learning&Best Practice
- atitit.提升兼容性最佳实践 p825.doc
- 游戏引擎开发与应用最佳 实践 【引擎开发篇】 之一 :目录、引擎模块划分
- Android最佳实践性能(三)提高性能布局(再利用布局与<include/>')
- Android最佳性能实践——布局优化技巧之<include>、<merge>标签及仅在需要时才加载布局的:ViewStub
- Hadoop大数据时代:Hadoop&YarnSpark企业级最佳实践 (4天)
- 决胜大数据时代:Hadoop&Yarn&Spark企业级最佳实践(3天)
- Android UX & UI 最佳实践: 设计有效的导航
- MySQL与OLAP:分析型SQL查询最佳实践探索
- 带你学开源项目:Meizhi Android之RxJava & Retrofit最佳实践