顯示具有 OLAP 標籤的文章。 顯示所有文章
顯示具有 OLAP 標籤的文章。 顯示所有文章

1月 26, 2011

資料倉儲 (Data Warehouse)

資料倉儲(Data Warehouse, DW)

傳統的 DB 主要是用來記錄交易記錄,沒辦法支援即時性的決策,
所以跟決策相關的資訊,都散布在不同的 DB 之中,在這樣的狀況
下常會有資料不一致、重複、無法整合等問題。而且由於沒有過往
的歷史資料,沒法進行趨勢分析(因為DB 多半只存放短期資料)。

所以 Data Warehouse 才因此產生,其特性有四個:

1. 主題導向 (Subject Oriented)
所存的資料是以主題導向(例如銷售、營收),非如傳統 DB 只用來
支援交易流程(例如採購、付款)。

2. 資料整合性 (Integrated)
DW 的設計在於支援多維度的決策,需要廣度、深度兼具,所以會是
一個整合企業內外、不同時間、不同來源的各種資料。這些資料原本
是散落在各 DB 之中的。

3. 資料不變動性 (Non-volatile)
在 DW 的每筆資料,一旦存進去之後,就不能再更改,只供查詢。
只會定期新增資料以供查詢。

4. 資料具有時間差異性 (Time variant)
DW 會存放不同時間(5~10年)的歷史資料,以供趨勢分析、預測。
但是 DB 通常只會儲存某個時間點的資料。

5. 資料一致性
因為 DW 蒐集來自各 DB 的資料,其格式與單位,均不相同。要建立
一個良好的 DW 就是要把這些不同來源的資料,經過整理篩選後才將
資料存入。

資料在存入 DW 之前,要先進行 ETL(萃取 轉換 載入)
萃取(Extract) - 將原始資料從各DB、OLTP、TPS、檔案中取出
轉換(Transform) - 轉換資料格式,使資料可以合乎 DW 的標準
載入(Load) - 將資料載到 DW 中。

CRM DB --+ +-- Data Mart | OLAP
SCM DB --+ + |
OLTP DB --+-> ETL -> DW --+ Data Mart | DSS EIS
TPS DB --+ + |
外來資料--+ +-- Data Mart | EIP

[ 資料超市 Data Mart ]

較小的資料,從 Data Warehouse 中複製出部份集合,專門用來支援特定部門、特定地區、使用者,Data Warehouse 可以視需求適時複製出多份 Data Mart。像是會計用的 Mart,以某個更局部的主題為導向。
優點:導入期較短、成本也比較低,可以快速建立。

[ 線上即時分析 OLAP ]

主要架構在 Data Warehouse 上,提供多角度、多維度的分析,提供決策用途,內建許多分析程式,在傳統的 DB 中,要提供這些分析報告,要用大量的 SQL 查詢,而 OLAP 有 UI 可讓使用者自己決定分析維度。

1. 切片 (Slice)
將資料視為一個立方體,將三維資料切片,固定單一維度。
例如固定時間在 2011年,觀察 (通路 銷量) 二個維度。

2. 切丁 (Dice)
提供縮小範圍檢視,仍維持原有維度。

3. 下拉 (Drill Down)
從原本宏觀的角度,拉到微觀角度。

4. 上轉 (Roll Up)
從微觀拉遠變成宏觀。

5. 旋轉 (Rotation)
也稱為樞扭,不同管理者所在意的觀點不同。

[ 線上即時交易 OLTP ]

使用電腦進行交易的即時處理,在線上發生的交易資料,立刻用電腦
處理資料的輸入作業。舊有的 TPS 較偏向批次作業,而 OLTP 在此
進行改良,結合 DB/網路可以應付資料量大、交易頻繁的情境上。
交易發生的同時,就能同步更新相關資訊。特色有:

1. 基礎作業處理,支援操作階層
2. 使用者為一般職員
3. 資料即時處理

11月 11, 2010

線上分析處理 (OLAP)

OLAP的資料可取自關係性或多維度的資料庫

前者稱為ROLAP(關係性線上分析處理- Relational Online Analytical Processing),後者稱為MOLAP(多維度線上分析處理- Multidimensional Online Analytical Processing)。

ROLAP從關係性資料庫管理系統中取得資料,MOLAP則從多維度資料庫系統中取得資料。

關係性線上分析處理(ROLAP)
資料庫以關係性表格組成

ROLAP適用於資料庫很大,而分析為中等
MOLAP適用於資料庫較小,而分析較複雜

關連式 OLAP 系統(Rational OLAP, ROLAP):
ROLAP 他的運作是基於將來源資料(通常是數個關連式資料庫)透過 ETL 處理儲存於 Meta Data Repository,再動態的去產生查詢語言(SQL Script)去查詢這個 Meta Data Repository,以達到管理者所需的資訊。優點是不需要再去建置一個資料倉儲系統,不過缺點是效能差、以及受限於 SQL 查詢語言本身的限制。

1.ROLAP(Relational OLAP)
資料並不放在ROLAP伺服器上,而是另外存放在關聯式資料庫或其他檔案系統,當使用者分析查詢時, ROLAP伺服器會參考之前已定義好的資料模型,
將其需求轉換為經過最佳化SQL(Structured Query Language)的指令去讀取資料回來。其優點是不需要額外的儲存空間,較具有延展性,但速度反應較慢。

MOLAP 是藉由一個陣列基礎(Array-base)的多維度儲存引擎(稱之為Cube),透過這個 Cube 來對資料作分析,它背後需要一個資料倉儲作為分析的基礎。他的優點是:速度快、可應付複雜的查詢及從多角度去觀察相關資料的呈現,不過缺點是分析 Cube 的規則路徑是無法動態調整的,對於分析資料與企業所關心的主題不清楚的人,往往有規劃不及的情況。

2.MOLAP(Multidimentional OLAP)
資料是以多維度的資料立方體(Data Cube)的型式存放在MOLAP伺服器,事先都已彙總運算好並把結果寫入Cube,當使用者分析查詢時, MOLAP伺服器就直接回傳其所需要的資料。其優點是查詢速度快,但需要比較多的儲存空,若資料立方體是呈現稀疏狀態,也會浪費儲存空間。