Oracle OLAP 介紹
Oracle OLAP的歷史
Oracle OLAP的歷史可謂悠久. Oracle在1995年從IRI手上買下Express產品時, Express已經是一個很強大的多維數據分析工具包了. Express被收購之后, 被命名為Oracle Express, 剛開始Oracle Express是一個獨立的軟件包, Oracle 9i開始作為OLAP Option集成在Oracle數據庫內, 隨著Oracle 10g/11g的發布, OLAP option更加成熟, 尤其是Oracle 11g.
如何創建和維護 Oracle OLAP cube
1. Analytic Workspace Manager(AWM)工具, 這是一個免費的GUI工具. 可以通過它創建、管理Cube.
2. Oracle Warehouse Builder(OWB), 使用這個ETL工具也可以創建Cube.
3. DBMS_MVIEW.REFRESH()方法, Oracle 11g Cube可以被注冊為物化視圖, 所以我們可以使用DBMS_MVIEW.REFRESH來刷新Cube
4. DBMS_CUBE包, Oracle 11g新增了這個包, 可以使用該包來創建、刷新Cube
5. OLAP DML 語句(即Oracle Express SPL(stored procedure language)), 但在實際項目中, 上面幾種方法更簡單方便, 所以OLAP DML已經不怎么被使用了.
如何查詢 Oracle OLAP Cube
1. 通過 ANSI SQL查詢Cube
目前并不是所有的BI產品都支持, 但可以肯定的是所有的BI產品都支持標準的SQL. Oracle OLAP Cube允許使用標準的ANSI SQL語句來查詢Cube, 這點很強. 這也使得我們可以使用Toad或PL/SQL Developer等非BI工具來查詢Cube.
cube 語法: select * from table(cube_table(‘<schema>.<cube_name>’))
dimension 語法: select * from table(cube_table(‘<schema>.<dimension>;<hierarchy>’))
2. 間接使用SQL查詢來查詢Cube
在Oracle 11g中, Cube甚至可以注冊為物化視圖. 就像普通MV具有查詢重現特性, Cube也有這個特性, 即對Fact表做Group by/SUM查詢, 查詢優化器就可能會從Cube中直接取結果. 另外, Cube是多維數據集合, 非常適合做切片和切塊, 遠非MV中的Group By 能比.
關于物化視圖的查詢重寫(Query Rewrite)特性
Oracle 物化視圖有一個查詢重寫(Query Rewrite)特性, 可以設為Enable Query Rewrite和Disable Query Rewrite, 分別指出創建的物化視圖是否支持查詢重寫。查詢重寫是指當對物化視圖的基表進行查詢時,Oracle會自動判斷能否通過查詢物化視圖來得到結果,如果可 以,則避免了聚集或連接操作,而直接從已經計算好的物化視圖中讀取數據。默認為Disable Query Rewrite。
在Oracle 11g之前, Cube雖然不能被注冊成物化視圖, 但物化視圖在BI項目中已經的到廣泛的應用. 主要是因為, (a)物化視圖很適合作為一個明細Fact的匯總層, (b)如果打開物化視圖的Query rewrite特性的話, 就可能會改善對源表的查詢, (c)物化視圖能提供多種靈活的刷新機制
3. 使用MDX
Oracle OLAP cube現在也可以使用MDX方式訪問. Simba公司發布了一個MDX Provider.
4. OLAP API
開發人員可以使用OLAP API訪問Cube, 實際上Oracle的Discoverer Plus OLAP和Excel Spreadsheet Addin就是使用OLAP API來查詢cube.
參考:
http://www.orafaq.com/wiki/Oracle_OLAP,
下面是官方Oracle OLAP資料
Oracle Olap Wiki
http://wiki.oracle.com/page/Oracle+OLAP+Option
11g OLAP user guide
http://download.oracle.com/docs/cd/B28359_01/olap.111/b28124/toc.htm
OLAP Option documentation
http://wiki.oracle.com/page/OLAP+Option+Documentation
Oracle OLAP的歷史可謂悠久. Oracle在1995年從IRI手上買下Express產品時, Express已經是一個很強大的多維數據分析工具包了. Express被收購之后, 被命名為Oracle Express, 剛開始Oracle Express是一個獨立的軟件包, Oracle 9i開始作為OLAP Option集成在Oracle數據庫內, 隨著Oracle 10g/11g的發布, OLAP option更加成熟, 尤其是Oracle 11g.
如何創建和維護 Oracle OLAP cube
1. Analytic Workspace Manager(AWM)工具, 這是一個免費的GUI工具. 可以通過它創建、管理Cube.
2. Oracle Warehouse Builder(OWB), 使用這個ETL工具也可以創建Cube.
3. DBMS_MVIEW.REFRESH()方法, Oracle 11g Cube可以被注冊為物化視圖, 所以我們可以使用DBMS_MVIEW.REFRESH來刷新Cube
4. DBMS_CUBE包, Oracle 11g新增了這個包, 可以使用該包來創建、刷新Cube
5. OLAP DML 語句(即Oracle Express SPL(stored procedure language)), 但在實際項目中, 上面幾種方法更簡單方便, 所以OLAP DML已經不怎么被使用了.
如何查詢 Oracle OLAP Cube
1. 通過 ANSI SQL查詢Cube
目前并不是所有的BI產品都支持, 但可以肯定的是所有的BI產品都支持標準的SQL. Oracle OLAP Cube允許使用標準的ANSI SQL語句來查詢Cube, 這點很強. 這也使得我們可以使用Toad或PL/SQL Developer等非BI工具來查詢Cube.
cube 語法: select * from table(cube_table(‘<schema>.<cube_name>’))
dimension 語法: select * from table(cube_table(‘<schema>.<dimension>;<hierarchy>’))
2. 間接使用SQL查詢來查詢Cube
在Oracle 11g中, Cube甚至可以注冊為物化視圖. 就像普通MV具有查詢重現特性, Cube也有這個特性, 即對Fact表做Group by/SUM查詢, 查詢優化器就可能會從Cube中直接取結果. 另外, Cube是多維數據集合, 非常適合做切片和切塊, 遠非MV中的Group By 能比.
關于物化視圖的查詢重寫(Query Rewrite)特性
Oracle 物化視圖有一個查詢重寫(Query Rewrite)特性, 可以設為Enable Query Rewrite和Disable Query Rewrite, 分別指出創建的物化視圖是否支持查詢重寫。查詢重寫是指當對物化視圖的基表進行查詢時,Oracle會自動判斷能否通過查詢物化視圖來得到結果,如果可 以,則避免了聚集或連接操作,而直接從已經計算好的物化視圖中讀取數據。默認為Disable Query Rewrite。
在Oracle 11g之前, Cube雖然不能被注冊成物化視圖, 但物化視圖在BI項目中已經的到廣泛的應用. 主要是因為, (a)物化視圖很適合作為一個明細Fact的匯總層, (b)如果打開物化視圖的Query rewrite特性的話, 就可能會改善對源表的查詢, (c)物化視圖能提供多種靈活的刷新機制
3. 使用MDX
Oracle OLAP cube現在也可以使用MDX方式訪問. Simba公司發布了一個MDX Provider.
4. OLAP API
開發人員可以使用OLAP API訪問Cube, 實際上Oracle的Discoverer Plus OLAP和Excel Spreadsheet Addin就是使用OLAP API來查詢cube.
參考:
http://www.orafaq.com/wiki/Oracle_OLAP,
下面是官方Oracle OLAP資料
Oracle Olap Wiki
http://wiki.oracle.com/page/Oracle+OLAP+Option
11g OLAP user guide
http://download.oracle.com/docs/cd/B28359_01/olap.111/b28124/toc.htm
OLAP Option documentation
http://wiki.oracle.com/page/OLAP+Option+Documentation

浙公網安備 33010602011771號