數(shù)據(jù)倉(cāng)庫(kù)概述
什么是數(shù)據(jù)倉(cāng)庫(kù)?
創(chuàng)始人W.H.Inmon在《建立數(shù)據(jù)倉(cāng)庫(kù)》一書中對(duì)數(shù)據(jù)倉(cāng)庫(kù)的定義是:數(shù)據(jù)倉(cāng)庫(kù)就是面向主題的、集成的、相對(duì)穩(wěn)定的、隨時(shí)間不斷變化(不同時(shí)間)的數(shù)據(jù)集合,用以支持經(jīng)營(yíng)管理中的決策制定過程、數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)面向主題,與傳統(tǒng)數(shù)據(jù)庫(kù)面向應(yīng)用相對(duì)應(yīng)。
主題導(dǎo)向(Subject-Oriented)
主題是一個(gè)在較高層次上將數(shù)據(jù)歸類的標(biāo)準(zhǔn),每一個(gè)主題對(duì)應(yīng)一個(gè)宏觀的分析領(lǐng)域。有別于一般OLTP系統(tǒng),數(shù)據(jù)倉(cāng)庫(kù)的資料模型設(shè)計(jì),著重將資料按其意義歸類至相同的主題區(qū)(subject
area),因此稱為主題導(dǎo)向。舉例如Party、Arrangement、Event、Finance、Market、Sales、Product等。
集成性(Integrated)
數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是從原有分散的數(shù)據(jù)庫(kù)中抽取出來(lái)的,由于數(shù)據(jù)倉(cāng)庫(kù)的每一主題所對(duì)應(yīng)的源數(shù)據(jù)在原有分散的數(shù)據(jù)庫(kù)中可能有重復(fù)或不一致的地方,加上綜合數(shù)據(jù)不能從原有數(shù)據(jù)庫(kù)中直接得到,因此數(shù)據(jù)在進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)之前必須經(jīng)過數(shù)據(jù)加工和集成。這是建立數(shù)據(jù)倉(cāng)庫(kù)的關(guān)鍵步驟,首先要統(tǒng)一原始數(shù)據(jù)中的矛盾之處,還要將原始數(shù)據(jù)結(jié)構(gòu)做一個(gè)從面向應(yīng)用向面向主題的轉(zhuǎn)變。
不變動(dòng)性(Nonvolatile)
數(shù)據(jù)倉(cāng)庫(kù)的穩(wěn)定性是指數(shù)據(jù)倉(cāng)庫(kù)反映的是歷史數(shù)據(jù),而不是日常事務(wù)處理產(chǎn)生的數(shù)據(jù),數(shù)據(jù)經(jīng)加工和集成進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)后是極少或根本不修改的,即使資料是錯(cuò)誤的亦同。(i.e.錯(cuò)誤的后續(xù)修正,便可因上述時(shí)間差異性的特性而被追蹤)
時(shí)間差異性(Time-Variant)
數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的不可更新性是針對(duì)應(yīng)用來(lái)說(shuō)的,即用戶進(jìn)行分析處理時(shí)是不進(jìn)行數(shù)據(jù)更新操作的。但并不是說(shuō),從數(shù)據(jù)集成入庫(kù)到最終被刪除的整個(gè)數(shù)據(jù)生成周期中,所有數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)都永遠(yuǎn)不變,而是隨時(shí)間不斷變化的。數(shù)據(jù)倉(cāng)庫(kù)是不同時(shí)間的數(shù)據(jù)集合,它要求數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)保存時(shí)限能滿足進(jìn)行決策分析的需要。
目標(biāo):為給數(shù)據(jù)集市裝載數(shù)據(jù)提供基礎(chǔ)組件,并用數(shù)據(jù)集市為最終用戶提供數(shù)據(jù)。
功能包括:
獲取數(shù)據(jù)
清洗數(shù)據(jù)
轉(zhuǎn)換數(shù)據(jù)
管理粒度數(shù)據(jù)
管理一個(gè)特定主題所需的所有數(shù)據(jù)
能以多種方式存儲(chǔ)數(shù)據(jù)
扁平、無(wú)結(jié)構(gòu)文件
RDBMS
其它技術(shù)(壓縮)
并保證:
對(duì)業(yè)務(wù)系統(tǒng)的影響最小
數(shù)據(jù)集市之間數(shù)據(jù)定義的一致性
一致的維表!
保存適量的歷史數(shù)據(jù)
基礎(chǔ)架構(gòu)

數(shù)據(jù)倉(cāng)庫(kù)只是存儲(chǔ)數(shù)據(jù)的一種組織形式,是適合分析、決策用的特定的數(shù)據(jù)存儲(chǔ)系統(tǒng)。
數(shù)據(jù)倉(cāng)庫(kù)的邏輯結(jié)構(gòu)
數(shù)據(jù)倉(cāng)庫(kù)的物理結(jié)構(gòu)
數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)(DWS)的體系結(jié)構(gòu)
數(shù)據(jù)倉(cāng)庫(kù)的使用:
主要是在兩個(gè)方面
1.使用瀏覽分析工具在數(shù)據(jù)倉(cāng)庫(kù)中尋找有用的信息;
2.基于數(shù)據(jù)倉(cāng)庫(kù),在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)上建立應(yīng)用,形成決策支持系統(tǒng)。


數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)庫(kù)的區(qū)別

acid(數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行的四個(gè)基本要素的縮寫)
ACID,指數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行的四個(gè)基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。一個(gè)支持事務(wù)(Transaction)的數(shù)據(jù)庫(kù),必需要具有這四種特性,否則在事務(wù)過程(Transaction
processing)當(dāng)中無(wú)法保證數(shù)據(jù)的正確性,交易過程極可能達(dá)不到交易方的要求。
什么是OLAP,有什么用途
用戶和系統(tǒng)的面向性:
OLTP是面向顧客的,用于事務(wù)和查詢處理
OLAP是面向市場(chǎng)的,用于數(shù)據(jù)分析
數(shù)據(jù)內(nèi)容:
OLTP系統(tǒng)管理當(dāng)前數(shù)據(jù).
OLAP系統(tǒng)管理大量歷史數(shù)據(jù),提供匯總和聚集機(jī)制。
數(shù)據(jù)庫(kù)設(shè)計(jì):
OLTP采用實(shí)體-關(guān)系(ER)模型和面向應(yīng)用的數(shù)據(jù)庫(kù)設(shè)計(jì).
OLAP采用星型或雪花模型和面向主題的數(shù)據(jù)庫(kù)設(shè)計(jì).
視圖:
OLTP主要關(guān)注一個(gè)企業(yè)或部門內(nèi)部的當(dāng)前數(shù)據(jù),不涉及歷史數(shù)據(jù)或不同組織的數(shù)據(jù)。
OLAP則相反.
訪問模式:
OLTP系統(tǒng)的訪問主要由短的原子事務(wù)組成.這種系統(tǒng)需要并行和恢復(fù)機(jī)制.
OLAP系統(tǒng)的訪問大部分是只讀操作.
元數(shù)據(jù)
數(shù)據(jù)倉(cāng)庫(kù)的核心
關(guān)于數(shù)據(jù)的數(shù)據(jù),可理解為數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)字典
存儲(chǔ)數(shù)據(jù)模型、定義數(shù)據(jù)結(jié)構(gòu)、轉(zhuǎn)換規(guī)則、倉(cāng)庫(kù)結(jié)構(gòu)和控制信息等。
元數(shù)據(jù)的功能:
描述倉(cāng)庫(kù)數(shù)據(jù)的來(lái)源信息
描述有關(guān)數(shù)據(jù)模型的信息
描述業(yè)務(wù)數(shù)據(jù)與倉(cāng)庫(kù)數(shù)據(jù)結(jié)構(gòu)間的映射
描述倉(cāng)庫(kù)中信息的使用情況
好的元數(shù)據(jù)是數(shù)據(jù)倉(cāng)庫(kù)開發(fā)成功的關(guān)鍵因素
元數(shù)據(jù)分類:技術(shù)元數(shù)據(jù);商業(yè)元數(shù)據(jù);數(shù)據(jù)倉(cāng)庫(kù)的操作型信息。
什么是數(shù)據(jù)集市?
數(shù)據(jù)集市是一種具有特定應(yīng)用的更小、更集中的數(shù)據(jù)倉(cāng)庫(kù)。
針對(duì)某個(gè)具有戰(zhàn)略意義的應(yīng)用或具體部門級(jí)的應(yīng)用,它支持客戶利用已有的數(shù)據(jù)獲得重要的競(jìng)爭(zhēng)優(yōu)勢(shì)或找到進(jìn)入新市場(chǎng)的整體解決方案。
是為企業(yè)提供分析商業(yè)數(shù)據(jù)的一條廉價(jià)途徑。
兩種數(shù)據(jù)集市:依賴型和非依賴型
什么是維度,度量值/指標(biāo)
維度分類:
普通維:普通維是基于一個(gè)維表的維度,由維表中的不同列來(lái)表示維度中的不同級(jí)別。
雪花維:雪花維是基于多個(gè)維表的維度,各個(gè)維表間以外鍵關(guān)聯(lián),分別存儲(chǔ)同一維度中不同級(jí)別的成員列值。
父子維:父子維是基于兩個(gè)維表列的維度,由維表中的兩列來(lái)共同定義各個(gè)成員的隸屬關(guān)系。一列稱為成員鍵列,標(biāo)識(shí)每個(gè)成員;另一列稱為父鍵列,標(biāo)識(shí)每個(gè)成員的父代。
緩慢變化維度(scd),有什么解決方法
處理緩慢變化維一般按不同情況有以下幾種解決方案:
1.新數(shù)據(jù)覆蓋舊數(shù)據(jù)
2.保存多條記錄,并添加字段加以區(qū)分
3.不同字段保存不同值
4.另外建表保存歷史記錄
5.混合模式
一、新數(shù)據(jù)覆蓋舊數(shù)據(jù)
此方法必須有前提條件,即你不關(guān)心這個(gè)數(shù)劇的變化。例如,某個(gè)納稅人的所屬稅務(wù)機(jī)關(guān)改了,如果你不關(guān)心納稅人的所屬稅務(wù)機(jī)關(guān)有什么變化則可直接覆蓋(修改)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)。
二、保存多條記錄,并添加字段加以區(qū)分
這種情況下直接新添一條記錄,同時(shí)保留原有記錄,并用單獨(dú)的專用的字段保存區(qū)別。如:
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
主管稅務(wù)機(jī)關(guān)
有效標(biāo)志
001
411402574988433
測(cè)試戶
二七
N
002
411402574988433
測(cè)試戶
金水
Y
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
主管稅務(wù)機(jī)關(guān)
版本
001
411402574988433
測(cè)試戶
二七
0
002
411402574988433
測(cè)試戶
金水
1
以上是添加數(shù)據(jù)版本信息或是否可用來(lái)標(biāo)識(shí)新舊數(shù)據(jù)。下面一種則是添加記錄的生效日期和失效日期來(lái)標(biāo)識(shí)新舊數(shù)據(jù):
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
主管稅務(wù)機(jī)關(guān)
有效日期始
有效日期止
001
411402574988433
測(cè)試戶
二七
2012-01-01
2012-03-31
002
411402574988433
測(cè)試戶
金水
2012-04-01
空的有效日期止表示當(dāng)前版本數(shù)據(jù),或者你也可一用一個(gè)默認(rèn)的大時(shí)間(如: 12/31/9999)來(lái)代替空值,這樣數(shù)據(jù)還能被索引識(shí)別到。
三、不同字段保存不同值
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
原主管稅務(wù)機(jī)關(guān)
當(dāng)前主管稅務(wù)機(jī)關(guān)
001
411402574988433
測(cè)試戶
二七
金水
這種方法用不同的字段保存變化痕跡.但是這種方法不能象第二種方法一樣保存所有變化記錄,它只能保存兩次變化記錄.適用于變化不超過兩次的維度。
四、另外建表保存歷史記錄
即另外建一個(gè)歷史表來(lái)表存變化的歷史記錄,而維度只保存當(dāng)前數(shù)據(jù)。
納稅人維:
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
主管稅務(wù)機(jī)關(guān)
有效日期始
有效日期止
001
411402574988433
測(cè)試戶
金水
2012-04-01
納稅人維歷史表:
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
主管稅務(wù)機(jī)關(guān)
有效日期始
有效日期止
001
411402574988433
測(cè)試戶
二七
2012-01-01
2012-03-31
這種方法僅僅記錄一下變化歷史痕跡,其實(shí)做起統(tǒng)計(jì)運(yùn)算來(lái)還是不方便的。
五、混合模式
這種模式是以上幾種模式的混合體,相對(duì)而言此種方法更全面,更能應(yīng)對(duì)錯(cuò)綜復(fù)雜且易變化的用戶需求,也是較為常用的。
納稅人ID
納稅人識(shí)別號(hào)
納稅人名稱
主管稅務(wù)機(jī)關(guān)
有效日期始
有效日期止
有效標(biāo)志
001
411402574988433
測(cè)試戶
二七
2012-01-01
2012-03-31
N
002
411402574988433
測(cè)試戶
金水
2012-04-01
Y
此中方法有以下幾條優(yōu)點(diǎn):
1.能用簡(jiǎn)單的過濾條件選出維度當(dāng)前的值。
2.能較容易的關(guān)聯(lián)出歷史任意一時(shí)刻事實(shí)數(shù)據(jù)的值。
3.如果事實(shí)表中有一些時(shí)間字段,那么我們很容易選擇哪一條維度數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析。
星型模型
星型模型是由單個(gè)事實(shí)數(shù)據(jù)表和一些維度表組成的構(gòu)架模型。在這種模型中每個(gè)維度表均聯(lián)接到事實(shí)數(shù)據(jù)表上。

雪花型模型
雪花型架構(gòu)比星型模型增加了次要維表,有一個(gè)或多個(gè)維表是聯(lián)接到其它維表上,而非事實(shí)數(shù)據(jù)表上。

ETL:ETL(Extract/Transformation/Load)—用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗、轉(zhuǎn)換,最終按照預(yù)先定義好的數(shù)據(jù)倉(cāng)庫(kù)模型,將數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中去。