Data Warehouse and OLAP

DW(data warehouse,資料倉儲)
目地:將不同來源資料整合起來,找出共通性以協助做決策
DW是一種資料庫,且符合以下四個特性
1.Subject-Oriented(主題導向):例如網路流量、商品資訊
2.Integrated(整合性):結合不同來源的資料,例如關聯式資料庫、文字檔
3.Non-Volatile(非揮發性):舊資料不會被取代,可分析歷史資料
4.Time-Variant(時間變異性):新資料會不斷被載入,因此具有時間的屬性
(by Inmon,2005)

ps:
DW和ODS(operation database systems)差別
DW主要使用OLAP,用於分析
ODS主要使用OLTP,用於日常作業記錄

DW schema
常見的有以下
star-schema:最常見的model
 一個fact table,並連接多個dimension table
snowflake schema:
 類似star-schema,但dimension table內又連接dimension table
fact constellation schema/galaxy schema:可表達複雜的關係
 多個fact table,以及連接多個dimension table

DW Models
常見的主要有
enterprise warehouse
data mart
virtual warehouse

Metadata Repository
用來定義DW裡的各物件的資料,主要儲存以下資訊
Description of the structure of the data warehouse
Operational meta-data
The algorithms used for summarization
The mapping from operational environment to the data warehouse
Data related to system performance
Business data

………………………………………………………………………………………………

Data Cube(資料方塊)
1.OLAP中最基本的建構單元
2.提供快速回應查詢資料的機制
3.DW子集合所建立的資料集合,由Dimension與Measure所定義的Multi-dimensional Structure,此架構可提供使用者快速而複雜的查詢

Data Cube是由資料倉儲子集合所建立的資料集合,主要由Dimension(維度)與Measure(量值)所定義的Multi-dimensional Structure(多維度結構),Dimension概念就是分析時的角度,例如時間、來源等,維度一般會還在定階層,例如時間可分為年、月、日,而Measure則感興趣的資料,例如流量、封包數等統計數據。

ps:
A Star-Net Query Model
解決以cube只能表示3個維度之問題
star-net可以表示完整維度

Measures of Data Cube/aggregation function
有以下三種類型
distributive(可分散型) ex:sum,max,min,count
algebraic(代數型) ex:avg,std
holistic(整體計算型)不具備可分散型和代數型的特性 ex:rank,median,mode


data cube維度的數量
Li=第i個維度的階層數
n=維度數
total numbe rof cuboids=(L1+1)(L2+1)..(Ln+1)

………………………………………………………………………………………………………………………


OLAP(On-line Analytical Processing,線上分析處理)
用途:協助分析者由多個維度觀察變化

DATA CUBE透過OLAP進行操作,OLAP是一種展示multidimensional data的技術,可讓使用者更方便的用不同的面向檢視資料,以分析記錄資訊快速制定策略,常運用在DW前端介面之工具,讓取得、查詢、分析資料時擁有最大的彈性。
ps:
此一概念最早由關聯式資料庫之父E.F.Codd於1993年提出,同時他也提出了多達12項的OLAP準則

流程:
1.先建置一個有相關數據分析的Data Cube,提供合適的Dimension與階層
2.使用OLAP多維度分析操作,讓不同需求的人對DATA CUBE進行多維度分析操作

ps:
OLAP與Data Mining差別
OLAP
幫助專業經理人驗證假設的工具,讓使用者針對商業問題進行追蹤與探討,透過OLAP工具將分析的結果呈現在使用者面前,以協助做出更合適的決策。
Data Mining
主要分析資料中規律型態,亦即找出資料中的Hidden Patterns,並提出可能性的假設。

……

OLAP維度分析操作基本模式
如下
1.Slice(切片)
2.Dice(切塊)
3.Drill-Down(向下擷取)
4.Roll-Up(向上擷取)
5.Pivot(旋轉透視)
6.Drill Across(橫向鑽取)
7.Drill Through(穿透鑽取),類似drill-down,但是往下看的資料是其他cube的

olap in the multidimensional data model
假設該data model有3個維度,分別為項目,地點,時間
而項目的階層可設成product,category,industry
地點的階層可設成street,city,country
時間的階層可設成day,month,year

假設目前data model可看到的資訊如下
項目:category
地點:city
時間:month

drill-down
取得更詳細的時間資訊month-(drill-down)->day
因此可即可看到資訊增多如下
項目:category
地點:city
時間:day
ps:若更詳細的資料沒另外儲存,則drill-down也看不到
drill-up
取得大概的地點資訊city-(drill-up)->country
因此可即可看到資訊變精簡如下
項目:category
地點:country
時間:month
Slice
取得部份的項目資訊,概念類似sql的where
category-(slice)->category=cat1
因此即可看到資訊變少如下
項目:category for cat1 ,在category只列出cat1的部份
地點:country
時間:month
Dice
取得部份的項目資訊,概念類似sql的where
category-(dice)->category=cat1 and country=tw and month=1
因此即可看到資訊在各維度變少如下
項目:category for cat1 ,在category只列出cat1的部份
地點:country for tw
時間:month for 1
Pivot
將slice資訊之欄列做替換


………


OLAP依資料儲存方式不同分類
可在分為以下
ROLAP(關聯式線上分析)
 基於關聯式資料庫來實現OLAP,以關聯式資料庫為核心,並藉由關聯式資料結構進行多維度資料的展現與儲存
MOLAP(多維度線上分析)
 基於多維度資料組織來實現OLAP,以多維資料組織方式為核心,並藉由多維度陣列來儲存資料
HOLAP(混合型線上)
 基於混合資料組織來實現OLAP,混合上ROLAP和MOLAP