相對於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裡面都有相對應的概念,關係如所示:
基於這個圖表,也就可以看出兩個不同版本的BPC產品在中繼資料上面的聯絡。這種聯絡在原來ms版使用者升級到nw版時尤為重要。從BPC產品的功能角度出發,下面是另一張圖表,說明兩個應用平台的聯絡:
在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下面的一些概念對應:
需要強調的是:
在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的表結構:
在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建模,以及不同的資料模型之間的關係上。