數(shù)據(jù)倉庫概述
什么是數(shù)據(jù)倉庫苇倡?
創(chuàng)始人W.H.Inmon在《建立數(shù)據(jù)倉庫》一書中對數(shù)據(jù)倉庫的定義是:數(shù)據(jù)倉庫就是面向主題的捌蚊、集成的、相對穩(wěn)定的园担、隨時間不斷變化(不同時間)的數(shù)據(jù)集合届谈,用以支持經營管理中的決策制定過程、數(shù)據(jù)倉庫中的數(shù)據(jù)面向主題弯汰,與傳統(tǒng)數(shù)據(jù)庫面向應用相對應艰山。
主題導向(Subject-Oriented)
主題是一個在較高層次上將數(shù)據(jù)歸類的標準,每一個主題對應一個宏觀的分析領域咏闪。有別于一般OLTP系統(tǒng)曙搬,數(shù)據(jù)倉庫的資料模型設計,著重將資料按其意義歸類至相同的主題區(qū)(subject
area)鸽嫂,因此稱為主題導向纵装。舉例如Party、Arrangement据某、Event橡娄、Finance、Market癣籽、Sales挽唉、Product等滤祖。
集成性(Integrated)
數(shù)據(jù)倉庫中的數(shù)據(jù)是從原有分散的數(shù)據(jù)庫中抽取出來的,由于數(shù)據(jù)倉庫的每一主題所對應的源數(shù)據(jù)在原有分散的數(shù)據(jù)庫中可能有重復或不一致的地方瓶籽,加上綜合數(shù)據(jù)不能從原有數(shù)據(jù)庫中直接得到匠童,因此數(shù)據(jù)在進入數(shù)據(jù)倉庫之前必須經過數(shù)據(jù)加工和集成。這是建立數(shù)據(jù)倉庫的關鍵步驟棘劣,首先要統(tǒng)一原始數(shù)據(jù)中的矛盾之處俏让,還要將原始數(shù)據(jù)結構做一個從面向應用向面向主題的轉變。
不變動性(Nonvolatile)
數(shù)據(jù)倉庫的穩(wěn)定性是指數(shù)據(jù)倉庫反映的是歷史數(shù)據(jù)茬暇,而不是日常事務處理產生的數(shù)據(jù)首昔,數(shù)據(jù)經加工和集成進入數(shù)據(jù)倉庫后是極少或根本不修改的,即使資料是錯誤的亦同糙俗。(i.e.錯誤的后續(xù)修正勒奇,便可因上述時間差異性的特性而被追蹤)
時間差異性(Time-Variant)
數(shù)據(jù)倉庫中數(shù)據(jù)的不可更新性是針對應用來說的,即用戶進行分析處理時是不進行數(shù)據(jù)更新操作的巧骚。但并不是說赊颠,從數(shù)據(jù)集成入庫到最終被刪除的整個數(shù)據(jù)生成周期中,所有數(shù)據(jù)倉庫中的數(shù)據(jù)都永遠不變劈彪,而是隨時間不斷變化的竣蹦。數(shù)據(jù)倉庫是不同時間的數(shù)據(jù)集合,它要求數(shù)據(jù)倉庫中的數(shù)據(jù)保存時限能滿足進行決策分析的需要沧奴。
目標:為給數(shù)據(jù)集市裝載數(shù)據(jù)提供基礎組件,并用數(shù)據(jù)集市為最終用戶提供數(shù)據(jù)痘括。
功能包括:
獲取數(shù)據(jù)
清洗數(shù)據(jù)
轉換數(shù)據(jù)
管理粒度數(shù)據(jù)
管理一個特定主題所需的所有數(shù)據(jù)
能以多種方式存儲數(shù)據(jù)
扁平、無結構文件
RDBMS
其它技術(壓縮)
并保證:
對業(yè)務系統(tǒng)的影響最小
數(shù)據(jù)集市之間數(shù)據(jù)定義的一致性
一致的維表滔吠!
保存適量的歷史數(shù)據(jù)
基礎架構
數(shù)據(jù)倉庫只是存儲數(shù)據(jù)的一種組織形式纲菌,是適合分析、決策用的特定的數(shù)據(jù)存儲系統(tǒng)疮绷。
數(shù)據(jù)倉庫的邏輯結構
數(shù)據(jù)倉庫的物理結構
數(shù)據(jù)倉庫系統(tǒng)(DWS)的體系結構
數(shù)據(jù)倉庫的使用:
主要是在兩個方面
1.使用瀏覽分析工具在數(shù)據(jù)倉庫中尋找有用的信息翰舌;
2.基于數(shù)據(jù)倉庫,在數(shù)據(jù)倉庫系統(tǒng)上建立應用冬骚,形成決策支持系統(tǒng)椅贱。
數(shù)據(jù)倉庫與數(shù)據(jù)庫的區(qū)別
acid(數(shù)據(jù)庫事務正確執(zhí)行的四個基本要素的縮寫)
ACID,指數(shù)據(jù)庫事務正確執(zhí)行的四個基本要素的縮寫只冻。包含:原子性(Atomicity)夜涕、一致性(Consistency)、隔離性(Isolation)属愤、持久性(Durability)。一個支持事務(Transaction)的數(shù)據(jù)庫酸役,必需要具有這四種特性住诸,否則在事務過程(Transaction
processing)當中無法保證數(shù)據(jù)的正確性驾胆,交易過程極可能達不到交易方的要求。
什么是OLAP贱呐,有什么用途
用戶和系統(tǒng)的面向性:
OLTP是面向顧客的丧诺,用于事務和查詢處理
OLAP是面向市場的,用于數(shù)據(jù)分析
數(shù)據(jù)內容:
OLTP系統(tǒng)管理當前數(shù)據(jù).
OLAP系統(tǒng)管理大量歷史數(shù)據(jù)奄薇,提供匯總和聚集機制驳阎。
數(shù)據(jù)庫設計:
OLTP采用實體-關系(ER)模型和面向應用的數(shù)據(jù)庫設計.
OLAP采用星型或雪花模型和面向主題的數(shù)據(jù)庫設計.
視圖:
OLTP主要關注一個企業(yè)或部門內部的當前數(shù)據(jù),不涉及歷史數(shù)據(jù)或不同組織的數(shù)據(jù)。
OLAP則相反.
訪問模式:
OLTP系統(tǒng)的訪問主要由短的原子事務組成.這種系統(tǒng)需要并行和恢復機制.
OLAP系統(tǒng)的訪問大部分是只讀操作.
元數(shù)據(jù)
數(shù)據(jù)倉庫的核心
關于數(shù)據(jù)的數(shù)據(jù)馁蒂,可理解為數(shù)據(jù)倉庫的數(shù)據(jù)字典
存儲數(shù)據(jù)模型呵晚、定義數(shù)據(jù)結構、轉換規(guī)則沫屡、倉庫結構和控制信息等饵隙。
元數(shù)據(jù)的功能:
描述倉庫數(shù)據(jù)的來源信息
描述有關數(shù)據(jù)模型的信息
描述業(yè)務數(shù)據(jù)與倉庫數(shù)據(jù)結構間的映射
描述倉庫中信息的使用情況
好的元數(shù)據(jù)是數(shù)據(jù)倉庫開發(fā)成功的關鍵因素
元數(shù)據(jù)分類:技術元數(shù)據(jù);商業(yè)元數(shù)據(jù)沮脖;數(shù)據(jù)倉庫的操作型信息金矛。
什么是數(shù)據(jù)集市?
數(shù)據(jù)集市是一種具有特定應用的更小勺届、更集中的數(shù)據(jù)倉庫驶俊。
針對某個具有戰(zhàn)略意義的應用或具體部門級的應用,它支持客戶利用已有的數(shù)據(jù)獲得重要的競爭優(yōu)勢或找到進入新市場的整體解決方案免姿。
是為企業(yè)提供分析商業(yè)數(shù)據(jù)的一條廉價途徑饼酿。
兩種數(shù)據(jù)集市:依賴型和非依賴型
什么是維度,度量值/指標
維度分類:
普通維:普通維是基于一個維表的維度养泡,由維表中的不同列來表示維度中的不同級別嗜湃。
雪花維:雪花維是基于多個維表的維度,各個維表間以外鍵關聯(lián)澜掩,分別存儲同一維度中不同級別的成員列值购披。
父子維:父子維是基于兩個維表列的維度,由維表中的兩列來共同定義各個成員的隸屬關系肩榕。一列稱為成員鍵列刚陡,標識每個成員;另一列稱為父鍵列株汉,標識每個成員的父代筐乳。
緩慢變化維度(scd),有什么解決方法
處理緩慢變化維一般按不同情況有以下幾種解決方案:
1.新數(shù)據(jù)覆蓋舊數(shù)據(jù)
2.保存多條記錄乔妈,并添加字段加以區(qū)分
3.不同字段保存不同值
4.另外建表保存歷史記錄
5.混合模式
一蝙云、新數(shù)據(jù)覆蓋舊數(shù)據(jù)
此方法必須有前提條件,即你不關心這個數(shù)劇的變化路召。例如勃刨,某個納稅人的所屬稅務機關改了波材,如果你不關心納稅人的所屬稅務機關有什么變化則可直接覆蓋(修改)數(shù)據(jù)倉庫中的數(shù)據(jù)。
二身隐、保存多條記錄廷区,并添加字段加以區(qū)分
這種情況下直接新添一條記錄,同時保留原有記錄贾铝,并用單獨的專用的字段保存區(qū)別隙轻。如:
納稅人ID
納稅人識別號
納稅人名稱
主管稅務機關
有效標志
001
411402574988433
測試戶
二七
N
002
411402574988433
測試戶
金水
Y
納稅人ID
納稅人識別號
納稅人名稱
主管稅務機關
版本
001
411402574988433
測試戶
二七
0
002
411402574988433
測試戶
金水
1
以上是添加數(shù)據(jù)版本信息或是否可用來標識新舊數(shù)據(jù)。下面一種則是添加記錄的生效日期和失效日期來標識新舊數(shù)據(jù):
納稅人ID
納稅人識別號
納稅人名稱
主管稅務機關
有效日期始
有效日期止
001
411402574988433
測試戶
二七
2012-01-01
2012-03-31
002
411402574988433
測試戶
金水
2012-04-01
空的有效日期止表示當前版本數(shù)據(jù)垢揩,或者你也可一用一個默認的大時間(如: 12/31/9999)來代替空值,這樣數(shù)據(jù)還能被索引識別到玖绿。
三、不同字段保存不同值
納稅人ID
納稅人識別號
納稅人名稱
原主管稅務機關
當前主管稅務機關
001
411402574988433
測試戶
二七
金水
這種方法用不同的字段保存變化痕跡.但是這種方法不能象第二種方法一樣保存所有變化記錄,它只能保存兩次變化記錄.適用于變化不超過兩次的維度水孩。
四镰矿、另外建表保存歷史記錄
即另外建一個歷史表來表存變化的歷史記錄,而維度只保存當前數(shù)據(jù)俘种。
納稅人維:
納稅人ID
納稅人識別號
納稅人名稱
主管稅務機關
有效日期始
有效日期止
001
411402574988433
測試戶
金水
2012-04-01
納稅人維歷史表:
納稅人ID
納稅人識別號
納稅人名稱
主管稅務機關
有效日期始
有效日期止
001
411402574988433
測試戶
二七
2012-01-01
2012-03-31
這種方法僅僅記錄一下變化歷史痕跡秤标,其實做起統(tǒng)計運算來還是不方便的。
五宙刘、混合模式
這種模式是以上幾種模式的混合體苍姜,相對而言此種方法更全面,更能應對錯綜復雜且易變化的用戶需求悬包,也是較為常用的衙猪。
納稅人ID
納稅人識別號
納稅人名稱
主管稅務機關
有效日期始
有效日期止
有效標志
001
411402574988433
測試戶
二七
2012-01-01
2012-03-31
N
002
411402574988433
測試戶
金水
2012-04-01
Y
此中方法有以下幾條優(yōu)點:
1.能用簡單的過濾條件選出維度當前的值。
2.能較容易的關聯(lián)出歷史任意一時刻事實數(shù)據(jù)的值布近。
3.如果事實表中有一些時間字段垫释,那么我們很容易選擇哪一條維度數(shù)據(jù)進行關聯(lián)分析。
星型模型
星型模型是由單個事實數(shù)據(jù)表和一些維度表組成的構架模型撑瞧。在這種模型中每個維度表均聯(lián)接到事實數(shù)據(jù)表上棵譬。
雪花型模型
雪花型架構比星型模型增加了次要維表,有一個或多個維表是聯(lián)接到其它維表上预伺,而非事實數(shù)據(jù)表上订咸。
ETL:ETL(Extract/Transformation/Load)—用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經過數(shù)據(jù)清洗酬诀、轉換,最終按照預先定義好的數(shù)據(jù)倉庫模型脏嚷,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。