數(shù)據(jù)倉庫設計與開發(fā)課件_第1頁
數(shù)據(jù)倉庫設計與開發(fā)課件_第2頁
數(shù)據(jù)倉庫設計與開發(fā)課件_第3頁
數(shù)據(jù)倉庫設計與開發(fā)課件_第4頁
數(shù)據(jù)倉庫設計與開發(fā)課件_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章

數(shù)據(jù)倉庫設計與開發(fā)華南理工大學廖開際kaiji@163.com第3章

數(shù)據(jù)倉庫設計與開發(fā)華南理工大學1教學目標掌握數(shù)據(jù)倉庫的設計和開發(fā)方法,包括數(shù)據(jù)模型的設計、粒度、維度設計以及數(shù)據(jù)倉庫的開發(fā)步驟。教學目標2教學要求知識要點能力要求相關知識點數(shù)據(jù)倉庫的開發(fā)過程與方法(1)掌握數(shù)據(jù)倉庫的開發(fā)過程(2)掌握數(shù)據(jù)倉庫設計的內容與步驟(1)數(shù)據(jù)倉庫開發(fā)的3個階段(2)數(shù)據(jù)驅動的設計(3)數(shù)據(jù)模型設計的重點數(shù)據(jù)模型設計(1)掌握概念模型的設計(2)掌握邏輯模型的設計(3)掌握物理模型的設計(4)掌握粒度的設計原則(1)面向主題的E-R模型(2)星型模型和雪花模型(3)事實表與維表(4)粒度數(shù)據(jù)倉庫的構建掌握數(shù)據(jù)倉庫構建的步驟(1)運行環(huán)境(2)實現(xiàn)技術(3)

ETL(4)數(shù)據(jù)倉庫的維護教學要求知識要點能力要求相關知識點數(shù)據(jù)倉庫的開發(fā)過程與方法(3

引例:沃爾瑪?shù)臄?shù)據(jù)倉庫沃爾瑪利用NCR的Teradata可對7.5TB的數(shù)據(jù)進行存儲,這些數(shù)據(jù)主要包括各個商店前端設備(POS、掃描儀)采集來的原始銷售數(shù)據(jù)和各個商店的庫存數(shù)。Teradata數(shù)據(jù)庫里存有196億條記錄,每天要處理并更新2億條記錄,要對來自6000多個用戶的4.8萬條查詢語句進行處理。銷售數(shù)據(jù)、庫存數(shù)據(jù)每天夜間從3000多個商店自動采集過來,并通過衛(wèi)星線路傳到總部的數(shù)據(jù)倉庫里。沃爾瑪數(shù)據(jù)倉庫里最大的一張表格(Table)容量已超過300GB、存有50億條記錄,可容納65個星期3000多個商店的銷售數(shù)據(jù),而每個商店有5萬到8萬個商品品種。利用數(shù)據(jù)倉庫技術,沃爾瑪對商品進行市場類組分析,即分析哪些商品顧客最有希望一起購買。

引例:沃爾瑪?shù)臄?shù)據(jù)倉庫沃爾瑪利用NCR的Teradata可4思考:請你估計一下沃爾瑪?shù)臄?shù)據(jù)倉庫中一年的數(shù)據(jù)量有多大?沃爾瑪?shù)臄?shù)據(jù)倉庫是怎樣建成的?思考:請你估計一下沃爾瑪?shù)臄?shù)據(jù)倉庫中一年的數(shù)據(jù)量有多大?5本章內容數(shù)據(jù)倉庫的開發(fā)過程及特點數(shù)據(jù)模型設計數(shù)據(jù)倉庫的粒度設計創(chuàng)建數(shù)據(jù)倉庫的基本步驟本章內容數(shù)據(jù)倉庫的開發(fā)過程及特點6數(shù)據(jù)倉庫的開發(fā)過程及特點按照生命周期發(fā)法可將數(shù)據(jù)倉庫開發(fā)的全部過程分成三個階段。(1)數(shù)據(jù)倉庫規(guī)劃分析階段。(2)數(shù)據(jù)倉庫設計實施階段。(3)數(shù)據(jù)倉庫的使用維護階段。這三個階段不是簡單的循環(huán)往復,而是不斷完善提高的過程。一般情況下,數(shù)據(jù)倉庫系統(tǒng)都不可能在一個循環(huán)過程中完成,而是經(jīng)過多次循環(huán)開發(fā),每次循環(huán)都會給系統(tǒng)增加新的功能,這種循環(huán)的工作永遠不會終結,數(shù)據(jù)倉庫也就一直處于一個不斷完善、不斷提高的循環(huán)過程中。數(shù)據(jù)倉庫的開發(fā)過程及特點按照生命周期發(fā)法可將數(shù)據(jù)倉庫開發(fā)的7數(shù)據(jù)倉庫開發(fā)的生命周期數(shù)據(jù)倉庫開發(fā)的生命周期8數(shù)據(jù)倉庫開發(fā)的生命周期1.DW規(guī)劃分析階段調查、分析DW環(huán)境,完成DW的開發(fā)規(guī)劃,卻定DW開發(fā)需求。建立包括實體圖、星型模型、雪花模型、元數(shù)據(jù)模型及數(shù)據(jù)源分析的主題域數(shù)據(jù)模型,并且根據(jù)主題域數(shù)據(jù)模型開發(fā)DW邏輯模型。數(shù)據(jù)倉庫開發(fā)的生命周期1.DW規(guī)劃分析階段9數(shù)據(jù)倉庫開發(fā)的生命周期2.DW設計實施階段根據(jù)DW的邏輯模型設計DW體系結構;設計DW與物理數(shù)據(jù)庫,用物理數(shù)據(jù)庫元數(shù)據(jù)裝載面向最終用戶的元數(shù)據(jù)庫;為DW中每個目標字段確定他在業(yè)務系統(tǒng)或外部數(shù)據(jù)源中的數(shù)據(jù)來源;開發(fā)或購買用于抽取、清洗、轉換和聚合數(shù)據(jù)等中間件程序;將數(shù)據(jù)從數(shù)據(jù)源加載到DW,并且進行測試。數(shù)據(jù)倉庫開發(fā)的生命周期2.DW設計實施階段10數(shù)據(jù)倉庫開發(fā)的生命周期3.DW使用維護階段DW投入使用,且在使用中改進、維護DW;對DW進行評價,為下一個循環(huán)開發(fā)提供依據(jù)。數(shù)據(jù)倉庫開發(fā)的生命周期3.DW使用維護階段11DW開發(fā)的特點1.數(shù)據(jù)倉庫的開發(fā)是從數(shù)據(jù)出發(fā)的創(chuàng)建DW是在原有的數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)基礎上進行的,我們稱之為“數(shù)據(jù)驅動”。數(shù)據(jù)驅動設計方法的中心是利用數(shù)據(jù)模型有效的識別原有的數(shù)據(jù)庫中的數(shù)據(jù)和DW中主題的數(shù)據(jù)“共同性”。2.DW使用的需求不能在開發(fā)初期完全明確在數(shù)據(jù)倉庫環(huán)境中,并不存在固定的且較確切的物流、數(shù)據(jù)流、和信息流,數(shù)據(jù)分析處理的需求更加靈活,更沒有固定的模式,甚至用戶自己也對所要進行的分析處理不能事先全部確定3.數(shù)據(jù)倉庫的開發(fā)是一個不斷循環(huán)的過程,是啟發(fā)式的開發(fā)DW的開發(fā)是一個動態(tài)反饋和循環(huán)的過程,一方面DW的數(shù)據(jù)內容、結構、力度、分割以及其他物理設計應該根據(jù)用戶所返回的信息不斷的調整和完善,以提高系統(tǒng)的效率和性能;另一方面,通過不斷理解用戶的分析需求,不斷的調整和完善,以求向用戶提供更準確、更有效的決策信息。DW開發(fā)的特點1.數(shù)據(jù)倉庫的開發(fā)是從數(shù)據(jù)出發(fā)的12思考數(shù)據(jù)倉庫的開發(fā)過程與數(shù)據(jù)庫的開發(fā)過程有什么不同?為什么?思考數(shù)據(jù)倉庫的開發(fā)過程與數(shù)據(jù)庫的開發(fā)過程有什么不同?為什么?13數(shù)據(jù)倉庫設計的主要內容數(shù)據(jù)倉庫設計的主要內容14數(shù)據(jù)模型設計DW數(shù)據(jù)模型具有如下特點。(1)去掉純操作性數(shù)據(jù)。(2)給鍵碼增加時間因素。(3)合適之處增加導出數(shù)據(jù)。(4)把OLTP系統(tǒng)中數(shù)據(jù)關系變?yōu)槿斯りP系。DW數(shù)據(jù)模型源于OLTP系統(tǒng)數(shù)據(jù)模型以及企業(yè)數(shù)據(jù)模型數(shù)據(jù)模型設計DW數(shù)據(jù)模型具有如下特點。15概念模型設計1.設計方法在建模之前定義數(shù)據(jù)模型的邊界,然后建立企業(yè)內不同群體的實體-聯(lián)系模型,最后進行集成企業(yè)的總體概念模型。概念模型設計1.設計方法16概念模型設計2.注意事項(1)在DW的數(shù)據(jù)模型中不包含操作性數(shù)據(jù),只包含用戶感興趣的分析數(shù)據(jù)、描述數(shù)據(jù)和細節(jié)數(shù)據(jù)。例:在商品銷售分析DW模型中,商品的銷售數(shù)量、金額、企業(yè)利潤等是分析數(shù)據(jù);銷售的時間、地點等使用戶感興趣的描述數(shù)據(jù);銷售產(chǎn)品的詳細情況、購買商品的客戶詳細情況等是細節(jié)數(shù)據(jù)。(2)數(shù)據(jù)的歷史變遷性。DW的數(shù)據(jù)模型增加時間屬性作為碼的一部分(3)數(shù)據(jù)的概括性。DW的數(shù)據(jù)模型中增加了一些衍生數(shù)據(jù),專門用于分析的DW系統(tǒng)需要一些概括性的數(shù)據(jù),這些數(shù)據(jù)在業(yè)務處理系統(tǒng)的數(shù)據(jù)模型中是不需要的。例如,在銷售管理的業(yè)務系統(tǒng)中的數(shù)據(jù)模型中,通常只需要記錄當前細數(shù)據(jù),而在數(shù)據(jù)倉庫的數(shù)據(jù)模型中,需要保存一些統(tǒng)計、累加而來的綜合數(shù)據(jù)。概念模型設計2.注意事項17概念模型設計3.E-R圖的描述方法(1)矩形。矩形表示實體,在數(shù)據(jù)倉庫中表示主題,在矩形框內寫上主題名。(2)橢圓形。橢圓形表示主題的屬性,并用無向邊把主題與其屬性連接起來。(3)菱形。菱形表示主題之間的聯(lián)系,菱形框內寫上聯(lián)系的名字。用無向邊把菱形分別與有關的主題連接,在無向邊旁標上聯(lián)系的類型。若主題之間的聯(lián)系也具有屬性,則把屬性和菱形也用無向邊連接上。概念模型設計3.E-R圖的描述方法18概念模型設計某商場的商品、顧客和供應商之間的概念模型的E-R圖

概念模型設計某商場的商品、顧客和供應商之間的概念模型的E-R19邏輯模型設計關系數(shù)據(jù)庫一般采用二維數(shù)據(jù)表的形式來表示數(shù)據(jù),一個維是行,另一個維是列,行和列的交叉處就是數(shù)據(jù)元素。關系數(shù)據(jù)的基礎是關系數(shù)據(jù)庫模型,通過標準的SQL語言來加以實現(xiàn)。數(shù)據(jù)倉庫是多維數(shù)據(jù)庫,它擴展了關系數(shù)據(jù)庫模型,以星形架構為主要結構方式的,并在它的基礎上,擴展出理論雪花形架構和數(shù)據(jù)星座等方式,但不管是哪一種架構,維度表、事實表和事實表中的量度都是必不可少的組成要素。邏輯模型設計關系數(shù)據(jù)庫一般采用二維數(shù)據(jù)表的形式來表示數(shù)據(jù)20邏輯模型設計——星形模型星形模型是最常用的數(shù)據(jù)倉庫設計結構的實現(xiàn)模式,它使數(shù)據(jù)倉庫形成了一個集成系統(tǒng),為最終用戶提供報表服務,為用戶提供分析服務對象。星形模式通過使用一個包含主題的事實表和多個包含事實的非正規(guī)化描述的維度表來支持各種決策查詢。星形模型可以采用關系型數(shù)據(jù)庫結構,模型的核心是事實表,圍繞事實表的是維度表。通過事實表將各種不同的維度表連接起來,各個維度表都連接到中央事實表。維度表中的對象通過事實表與另一維度表中的對象相關聯(lián),這樣就能建立各個維度表對象之間的聯(lián)系。每一個維度表通過一個主鍵與事實表進行連接。邏輯模型設計——星形模型星形模型是最常用的數(shù)據(jù)倉庫設計結構的21邏輯模型設計——星形模型邏輯模型設計——星形模型22邏輯模型設計——星形模型事實表主要包含了描述特定商業(yè)事件的數(shù)據(jù),即某些特定商業(yè)事件的度量值。一般情況下,事實表中的數(shù)據(jù)不允許修改,新的數(shù)據(jù)只是簡單地添加進事實表中,維度表主要包含了存儲在事實表中數(shù)據(jù)的特征數(shù)據(jù)。每一個維度表利用維度關鍵字通過事實表中的外鍵約束于事實表中的某一行,實現(xiàn)與事實表的關聯(lián),這就要求事實表中的外鍵不能為空,這與一般數(shù)據(jù)庫中外鍵允許為空是不同的。這種結構使用戶能夠很容易地從維度表中的數(shù)據(jù)分析開始,獲得維度關鍵字,以便連接到中心的事實表,進行查詢。邏輯模型設計——星形模型事實表23邏輯模型設計——星形模型星形模型雖然是一個關系模型,但是它不是一個規(guī)范化的模型。在星形模式中,維度表被故意地非規(guī)范化了,這是星形模式與OLTP系統(tǒng)中關系模式的基本區(qū)別。使用星形模式主要有兩方面的原因:一是可以提高查詢的效率。采用星形模式設計的數(shù)據(jù)倉庫的優(yōu)點是由于數(shù)據(jù)的組織已經(jīng)過預處理,主要數(shù)據(jù)都在龐大的事實表中,所以只要掃描事實表就可以進行查詢,而不必把多個龐大的表聯(lián)接起來,查詢訪問效率較高,同時由于維表一般都很小,甚至可以放在高速緩存中,與事實表進行連接時其速度較快,便于用戶理解;二是對于非計算機專業(yè)的用戶而言,星形模式比較直觀,通過分析星形模式,很容易組合出各種查詢。邏輯模型設計——星形模型星形模型雖然是一個關系模型,但是它不24邏輯模型設計——星形模型邏輯模型與實體-關系建模之間的關系實體-聯(lián)系圖是代表企業(yè)中每一個可能的業(yè)務過程,一個實體-聯(lián)系圖可以拆分成多個維表、事實表構成的邏輯模型。將E-R圖轉換成維度建模時的步驟是:(1)將E-R圖分成獨立的業(yè)務處理,然后對每個業(yè)務處理單獨建模。(2)在E-R圖中,對包含數(shù)字型事實和可加性非碼事實的實體,選擇其中的多對多關系,并且將他們設計成各個事實表。(3)將剩下的實體進行非規(guī)范化處理,設計成為表。邏輯模型設計——星形模型邏輯模型與實體-關系建模之間的關系25星形模型基本設計技術(1)正確區(qū)分事實、屬性和維度。維度模型需要對事實和屬性進行區(qū)分,業(yè)務層的很多事實都是數(shù)值型的,特別是該數(shù)值是浮點數(shù)時,他很可能是一個事實,而不是屬性。例如“標準價格”,好像是產(chǎn)品維度的一個屬性,似乎是事先一致的常量,但每年對標準價格進行一、兩次調整,因此應該設計成事實。屬性通常指文本字段,例如產(chǎn)品描述。維度是類似于文本形式的屬性組合,固定的數(shù)值型屬性應放在維表中。例如,零售數(shù)據(jù)倉庫中,至少應有一個產(chǎn)品維度,一個商店維度,一個客戶維,一個時間維,一個促銷維。星形模型基本設計技術(1)正確區(qū)分事實、屬性和維度。26星形模型基本設計技術(2)事實表的設計方法。事實表是數(shù)據(jù)倉庫中最大的表,在設計時,一定注意使事實表盡可能的小,因為過大的事實表在表的處理、備份和恢復、用戶查詢等方面要用較長的時間。具體方法主要有:減少列的數(shù)量;降低每列的大??;把歷史數(shù)據(jù)存檔;對行進行分割。例如,零售營銷事實表設計如下:星形模型基本設計技術(2)事實表的設計方法。27星形模型基本設計技術(3)維表的設計。維表的屬性必須具有以下特征:可用文字描述;離散值;有規(guī)定的約束;在分析時可提供行標題。時間維在數(shù)據(jù)倉庫中占有特定位置,建議使用時間維度。圖3.6是零售業(yè)營銷分析的星型模型圖。星形模型基本設計技術(3)維表的設計。28星形模型基本設計技術零售業(yè)營銷分析的星型模型圖星形模型基本設計技術零售業(yè)營銷分析的星型模型圖29邏輯模型設計——雪花模型雪花模型是對星形模型的擴展,每一個維度都可以向外連接多個詳細類別表。在這種模式中,維度表除了具有星形模型中維度表的功能外,還連接對事實表進行詳細描述的詳細類別表,詳細類別表通過對事實表在有關維上的詳細描述達到了縮小事實表和提高查詢效率的目的。邏輯模型設計——雪花模型雪花模型是對星形模型的擴展,每一個維30邏輯模型設計——雪花模型雪花模型架構示意圖邏輯模型設計——雪花模型雪花模型架構示意圖31邏輯模型設計——雪花模型雪花模型對星形模型的維度表進一步標準化,對星形模型中的維度表進行了規(guī)范化處理。雪花模型的維度表中存儲了正規(guī)化的數(shù)據(jù),這種結構通過把多個較小的標準化表(而不是星形模型中的大的非標準化表)聯(lián)合在一起來改善查詢性能。由于采取了標準化及維的低粒度,雪花模型提高了數(shù)據(jù)倉庫應用的靈活性。邏輯模型設計——雪花模型雪花模型對星形模型的維度表進一步標準32邏輯模型設計——雪花模型在該模型中,將地理層次國家、區(qū)域和分區(qū)域嵌入到銷售員維度,這樣,公司的管理者想按照國家、區(qū)域、分區(qū)域和分區(qū)域內的銷售員的層次關系來查看公司的銷售情況。邏輯模型設計——雪花模型在該模型中,將地理層次國家、區(qū)域和分33銷售數(shù)據(jù)倉庫邏輯模型(雪花型)銷售數(shù)據(jù)倉庫邏輯模型(雪花型)34邏輯模型設計——星座模型一個復雜的商業(yè)智能應用往往會在數(shù)據(jù)倉庫中存放多個事實表,這時就會出現(xiàn)多個事實表共享某一個或多個維表的情況,這就是事實星座,也稱為星系模型(galaxyschema)。數(shù)據(jù)倉庫由于是企業(yè)范圍的,能對多個相關的主題建模,所以在設計其數(shù)據(jù)構成時一般采用星系模式。而數(shù)據(jù)集市是部門級的,具有選定的主題,可以采用星形或雪花模型。邏輯模型設計——星座模型一個復雜的商業(yè)智能應用往往會在數(shù)據(jù)倉35邏輯模型設計——維度的設計維是人們觀察客觀世界的角度,是一種高層次的類型劃分。如:對客戶、產(chǎn)品、服務、提供商、地點、渠道和事件發(fā)生的時間維表是由維主鍵和維屬性組成的一般情況下,在每次抽樣時,如果數(shù)值數(shù)據(jù)字段的度量都改變,那么它就是事實,如果它是某種東西的離散值描述,并幾乎保持為常數(shù),那么它就是維屬性。例如,商品的價格是為表的屬性,銷售量是事實。邏輯模型設計——維度的設計維是人們觀察客觀世界的角度,是一36維表舉例圖3.10時間維度及其層次關系圖3.11財務時間維度維表舉例圖3.10時間維度及其層次關系37維表舉例圖3.12地理維度層次圖3.13機構維度層次維表舉例圖3.12地理維度層次圖3.13機構維度層次38維表舉例客戶維度分類維表舉例客戶維度分類39物理模型設計數(shù)據(jù)倉庫的物理數(shù)據(jù)模型就是邏輯數(shù)據(jù)模型在數(shù)據(jù)倉庫中的實現(xiàn),如:物理存取方式數(shù)據(jù)存儲結構數(shù)據(jù)存放位置以及存儲分配等物理數(shù)據(jù)模型設計實現(xiàn)時,所考慮的主要因素有:I/O存取時間空間利用率和維護代價在進行數(shù)據(jù)倉庫的物理數(shù)據(jù)模型設計時,考慮到數(shù)據(jù)倉庫的數(shù)據(jù)量大但是操作單一的特點,可采取其他的一些提高數(shù)據(jù)倉庫性能的技術,如:合并表、建立數(shù)據(jù)序列、引入冗余、進一步細分數(shù)據(jù)、生成導出數(shù)據(jù)、建立廣義索引等。物理模型設計數(shù)據(jù)倉庫的物理數(shù)據(jù)模型就是邏輯數(shù)據(jù)模型在數(shù)據(jù)倉40物理模型設計——設計存儲結構在物理設計時,常常要按數(shù)據(jù)的重要性、使用頻率及對反應時間的要求進行分類,并將不同類型的數(shù)據(jù)分別存儲在不同的存儲設備中。重要性高、經(jīng)常存取并對反應時間要求高的數(shù)據(jù)存放在高速存儲設備上;存取頻率低或對存取響應時間要求低的數(shù)據(jù)則可以存放在低速存儲設備上。在設計時還要考慮數(shù)據(jù)在特定存儲介質上的布局。物理模型設計——設計存儲結構在物理設計時,常常要按數(shù)據(jù)的重要41物理模型設計——設計存儲結構設計數(shù)據(jù)的布局時要注意遵循以下原則。(1)不要把經(jīng)常需要連接的幾張表放在同一存儲設備上,這樣可以利用存儲設備的并行操作功能加快數(shù)據(jù)查詢的速度。(2)如果幾臺服務器之間的連接會造成嚴重的網(wǎng)絡業(yè)務量的問題,則要考慮服務器復制表格,因為不同服務器之間的數(shù)據(jù)連接會給網(wǎng)絡帶來沉重的數(shù)據(jù)傳輸負擔。(3)考慮把整個企業(yè)共享的細節(jié)數(shù)據(jù)放在主機或其他集中式服務器上,提高這些共享數(shù)據(jù)的使用速度。(4)不要把表格和它們的索引放在同一設備上。一般可以將索引存放在高速存儲設備上,而表格則存放在一般存儲設備上,以加快數(shù)據(jù)的查詢速度。物理模型設計——設計存儲結構設計數(shù)據(jù)的布局時要注意遵循以下原42物理模型設計——設計索引策略數(shù)據(jù)倉庫的數(shù)據(jù)量很大,因而需要對數(shù)據(jù)的存取路徑進行仔細地設計和選擇。由于數(shù)據(jù)倉庫的數(shù)據(jù)一般很少更新,所以可以設計索引結構來提高數(shù)據(jù)存取效率。數(shù)據(jù)倉庫中的表通常要比聯(lián)機事務處理系統(tǒng)(OLTP)中的表建立更多的索引,表中應用的最大索引數(shù)應與表格的規(guī)模成正比。數(shù)據(jù)倉庫是個只讀的環(huán)境,建立索引可以取得靈活性,對性能極為有利。但是,表若有很多索引,那么數(shù)據(jù)加載時間就會延長,因此索引的建立需要進行綜合的考慮。一般都是按主關鍵字和大多數(shù)外部關鍵字建立索引,通常不要添加很多的其他索引。物理模型設計——設計索引策略數(shù)據(jù)倉庫的數(shù)據(jù)量很大,因而需要對43物理模型設計——設計存儲策略確定數(shù)據(jù)的存儲位置和存儲策略,以提高系統(tǒng)的I/O效率。幾種常見的存儲優(yōu)化方法。表的歸并引入冗余其他方法物理模型設計——設計存儲策略確定數(shù)據(jù)的存儲位置和存儲策略,44數(shù)據(jù)倉庫的粒度設計數(shù)據(jù)倉庫的性能和存儲空間是一對矛盾。如果粒度設計得很小,則事實表將不得不記錄所有的細節(jié),儲存數(shù)據(jù)所需要的空間將會急劇的膨脹;若設計的粒度很大,雖然由于事實表體積大而帶來的諸多問題能夠得到一定程度的緩解,但決策者不能觀察細節(jié)數(shù)據(jù)。數(shù)據(jù)倉庫的粒度設計數(shù)據(jù)倉庫的性能和存儲空間是一對矛盾。45粒度設計的三個步驟粗略估計確定雙重還是單一粒度確定粒度的級別粒度設計的三個步驟粗略估計46粒度設計第一步——粗略估算(1)確定數(shù)據(jù)倉庫中將要創(chuàng)建的所有表,然后估計每張表中行的大小(2)估計一年內表中的最少行數(shù)和最多行數(shù)。估計完一年內數(shù)據(jù)倉庫中數(shù)據(jù)單位的數(shù)量(用上下限推測的方法)用同樣的方法對5年內的數(shù)據(jù)進行估計。計算一下索引數(shù)據(jù)所占的空間。對每張表(對表中的每個鍵碼)確定鍵碼的長度和原始表中每條數(shù)據(jù)是否存在鍵碼。(3)將各表中行數(shù)可能的最大值和最小值分別乘以數(shù)據(jù)的最大長度和最小長度。另外,還要將索引項的數(shù)目與鍵碼的長度的乘積累加到總的數(shù)據(jù)量中去。粒度設計第一步——粗略估算(1)確定數(shù)據(jù)倉庫中將要創(chuàng)建的47粒度設計第二步——確定雙重或單一的粒度將數(shù)據(jù)倉庫環(huán)境中總的行數(shù)和下表中所示的表格進行比較,確定雙重或單一的粒度。1年數(shù)據(jù)5年數(shù)據(jù)數(shù)據(jù)量(行數(shù))粒度劃分策略數(shù)據(jù)量(行數(shù))粒度劃分策略10000000雙重粒度并仔細設計20000000雙重粒度并仔細設計1000000雙重粒度10000000雙重粒度100000仔細設計1000000仔細設計10000不考慮100000不考慮粒度設計第二步——確定雙重或單一的粒度將數(shù)據(jù)倉庫環(huán)境中總的行48粒度設計第三步——確定粒度的級別

例如,對于銀行環(huán)境由于其信息量較大,設計成雙重粒度級。在DW中,輕度綜合級存十年的每月匯總的賬戶信息,當前細節(jié)級數(shù)據(jù)存30天。在這個級別并不是把OLTP系統(tǒng)中所有的字段都送到DW中,只有對分析有價值的信息字段才被存儲。30天之后,把這部分細節(jié)數(shù)據(jù)送到磁帶上,騰出的空間存放下一個30天的當前細節(jié)級數(shù)據(jù)。粒度設計第三步——確定粒度的級別例如,對于銀行環(huán)境49粒度設計原則對于業(yè)務量大,分析要求比較高的情況下,最佳解決辦法則是采用多重粒度的形式。而針對具體的某個事實的粒度而言,應當采用“最小粒度原則”,即將量度的粒度設置到最小。粒度設計原則對于業(yè)務量大,分析要求比較高的情況下,最佳解決辦50創(chuàng)建數(shù)據(jù)倉庫的基本步驟(1)收集運營環(huán)境文檔。(2)選擇數(shù)據(jù)倉庫的實現(xiàn)技術。(3)設計數(shù)據(jù)倉庫模型。(4)創(chuàng)建數(shù)據(jù)準備區(qū)。(5)創(chuàng)建數(shù)據(jù)倉庫數(shù)據(jù)庫。(6)從操作型系統(tǒng)中抽取數(shù)據(jù)。(7)清理和轉換數(shù)據(jù)。(8)將數(shù)據(jù)載入數(shù)據(jù)倉庫數(shù)據(jù)庫。(9)準備顯示數(shù)據(jù)。(10)將數(shù)據(jù)分發(fā)到數(shù)據(jù)集市。創(chuàng)建數(shù)據(jù)倉庫的基本步驟(1)收集運營環(huán)境文檔。51建立運營環(huán)境文檔建立運營環(huán)境的第一步是識別所有業(yè)務系統(tǒng)確定每個系統(tǒng)中存儲什么樣的數(shù)據(jù)建立運營環(huán)境文檔建立運營環(huán)境的第一步是識別所有業(yè)務系統(tǒng)52選擇數(shù)據(jù)倉庫的實現(xiàn)技術(1)數(shù)據(jù)倉庫的操作系統(tǒng)。(2)數(shù)據(jù)倉庫的數(shù)據(jù)庫。(3)數(shù)據(jù)倉庫模型工具。(4)數(shù)據(jù)倉庫開發(fā)工具。(5)數(shù)據(jù)倉庫監(jiān)視工具。(6)提取和清除工具。(7)報告工具。(8)

OLAP服務器。(8)數(shù)據(jù)挖掘工具選擇數(shù)據(jù)倉庫的實現(xiàn)技術(1)數(shù)據(jù)倉庫的操作系統(tǒng)。53選擇數(shù)據(jù)倉庫的實現(xiàn)技術下面是選擇供應商需要注意的問題。(1)選擇“最好的”產(chǎn)品并不總是正確的解決方案。(2)選擇與行業(yè)標準相近的產(chǎn)品?;ㄙM時間來評估幾個供應商的不同軟件包是一件非常迫切需要的工作。選擇數(shù)據(jù)倉庫的實現(xiàn)技術下面是選擇供應商需要注意的問題。54設計數(shù)據(jù)倉庫模型關系模型是當前最流行數(shù)據(jù)模型最流行的數(shù)據(jù)倉庫模型是星型模型。設計數(shù)據(jù)倉庫模型關系模型是當前最流行數(shù)據(jù)模型55創(chuàng)建數(shù)據(jù)準備區(qū)為支持數(shù)據(jù)抽取、清理和轉換操作以便準備數(shù)據(jù)裝入數(shù)據(jù)倉庫,需要創(chuàng)建表和其他數(shù)據(jù)庫對象??梢詾閿?shù)據(jù)準備區(qū)創(chuàng)建單獨的數(shù)據(jù)庫,或者可以在數(shù)據(jù)倉庫數(shù)據(jù)庫中創(chuàng)建這些項目。數(shù)據(jù)準備區(qū)應包括包含傳入數(shù)據(jù)的表、幫助實現(xiàn)代理鍵的表以及容納轉換數(shù)據(jù)的表。數(shù)據(jù)準備區(qū)的特定設計取決于數(shù)據(jù)源的多樣性、組織數(shù)據(jù),以使在裝入數(shù)據(jù)倉庫時所需的轉換程度以及傳入數(shù)據(jù)的一致性。創(chuàng)建數(shù)據(jù)準備區(qū)為支持數(shù)據(jù)抽取、清理和轉換操作以便準備數(shù)據(jù)裝56創(chuàng)建數(shù)據(jù)倉庫數(shù)據(jù)庫創(chuàng)建事實數(shù)據(jù)表和維度表,并在所有表中的主要字段上建立索引。星型架構由單個事實數(shù)據(jù)表和一些維度表組成。雪花型架構增加了次要維度表。例如,數(shù)據(jù)倉庫可能包含銷售信息和庫存信息。由于銷售數(shù)據(jù)和庫存數(shù)據(jù)在本質上不同,它們應存儲在不同的事實數(shù)據(jù)表中。有些維度表(如產(chǎn)品維度表)可能由銷售和庫存表共享,而有些維度表(如銷售隊伍或倉庫位置)則可能專用于個別的事實數(shù)據(jù)表。創(chuàng)建數(shù)據(jù)倉庫數(shù)據(jù)庫創(chuàng)建事實數(shù)據(jù)表和維度表,并在所有表中的主57從操作型系統(tǒng)中抽取數(shù)據(jù)抽取數(shù)據(jù)簡單抽取復雜抽取識別數(shù)據(jù)中的錯誤和不一致問題。從操作型系統(tǒng)中抽取數(shù)據(jù)抽取數(shù)據(jù)58清理和轉換數(shù)據(jù)從源系統(tǒng)抽取后,數(shù)據(jù)應駐留在數(shù)據(jù)準備區(qū),在這里可以在數(shù)據(jù)裝入數(shù)據(jù)倉庫前完成清理和轉換??梢詧?zhí)行一些過程來驗證數(shù)據(jù)的一致性,將數(shù)據(jù)轉換成常用格式以及合并代理鍵??赡苄枰獔?zhí)行手工操作協(xié)調數(shù)據(jù)的不一致或解決二義性文本字段輸入項清理和轉換數(shù)據(jù)從源系統(tǒng)抽取后,數(shù)據(jù)應駐留在數(shù)據(jù)準備區(qū),在這59將數(shù)據(jù)裝入數(shù)據(jù)倉庫數(shù)據(jù)庫在數(shù)據(jù)被清洗、轉換之后,就可將數(shù)據(jù)加載到合適的數(shù)據(jù)倉庫事實表中。在數(shù)據(jù)加載后,還要更新元數(shù)據(jù)倉庫中的元數(shù)據(jù),以反映剛完成的數(shù)據(jù)加載活動,并且對受影響的概括數(shù)據(jù)重新概括處理。數(shù)據(jù)的加載話動應該使用標準方法和通用工具,例如,在關系DBMS中可以使用SQL,或專門用于管理數(shù)據(jù)倉庫的DBMS加載工具。將數(shù)據(jù)裝入數(shù)據(jù)倉庫數(shù)據(jù)庫在數(shù)據(jù)被清洗、轉換之后,就可將數(shù)據(jù)60準備顯示信息因為通常通過客戶端應用程序提供對數(shù)據(jù)倉庫數(shù)據(jù)的訪問,所以必須在數(shù)據(jù)倉庫中完成某些任務以便為最終用戶準備顯示信息。數(shù)據(jù)倉庫設計的一部分是識別這些應用程序所需的任何特殊數(shù)據(jù)配置要求,并通常是按照應用程序文檔中的描述配置應用程序本身。準備顯示信息因為通常通過客戶端應用程序提供對數(shù)據(jù)倉庫數(shù)據(jù)的61將數(shù)據(jù)分發(fā)到數(shù)據(jù)集市復制所有適用的共享維度表和適合于數(shù)據(jù)集市的事實數(shù)據(jù)表。如果將某個數(shù)據(jù)集市特有的特殊維度表只用于該數(shù)據(jù)集市所服務的部門或組,則可以在本地創(chuàng)建這些維度表。用于創(chuàng)建報表從而與來自其他數(shù)據(jù)集市的報表進行比較的維度應是共享維度,共享維度在數(shù)據(jù)倉庫中集中進行管理并從數(shù)據(jù)倉庫表中裝載。將數(shù)據(jù)分發(fā)到數(shù)據(jù)集市復制所有適用的共享維度表和適合于數(shù)據(jù)集62總結數(shù)據(jù)倉庫的設計始于數(shù)據(jù)模型。在概念模型設計中,E-R模型中的實體用主題取代;邏輯模型設計中,依然使用關系模型,但數(shù)據(jù)以星型結構或雪花結構按主題組織。由于數(shù)據(jù)倉庫的需求是不可預先知道的,因此,數(shù)據(jù)倉庫以反復開發(fā)的方式建立。數(shù)據(jù)倉庫開發(fā)者面臨的基本問題是管理大量數(shù)據(jù)。為此,數(shù)據(jù)的粒度和分割是數(shù)據(jù)倉庫設計的兩個重要問題。然而,也存在許多其他物理設計的問題,其中,大多數(shù)都與數(shù)據(jù)訪問的效率有關??偨Y數(shù)據(jù)倉庫的設計始于數(shù)據(jù)模型。63作業(yè)閱讀“閱讀資料”和“案例分析”思考練習題作業(yè)閱讀“閱讀資料”和“案例分析”64第3章

數(shù)據(jù)倉庫設計與開發(fā)華南理工大學廖開際kaiji@163.com第3章

數(shù)據(jù)倉庫設計與開發(fā)華南理工大學65教學目標掌握數(shù)據(jù)倉庫的設計和開發(fā)方法,包括數(shù)據(jù)模型的設計、粒度、維度設計以及數(shù)據(jù)倉庫的開發(fā)步驟。教學目標66教學要求知識要點能力要求相關知識點數(shù)據(jù)倉庫的開發(fā)過程與方法(1)掌握數(shù)據(jù)倉庫的開發(fā)過程(2)掌握數(shù)據(jù)倉庫設計的內容與步驟(1)數(shù)據(jù)倉庫開發(fā)的3個階段(2)數(shù)據(jù)驅動的設計(3)數(shù)據(jù)模型設計的重點數(shù)據(jù)模型設計(1)掌握概念模型的設計(2)掌握邏輯模型的設計(3)掌握物理模型的設計(4)掌握粒度的設計原則(1)面向主題的E-R模型(2)星型模型和雪花模型(3)事實表與維表(4)粒度數(shù)據(jù)倉庫的構建掌握數(shù)據(jù)倉庫構建的步驟(1)運行環(huán)境(2)實現(xiàn)技術(3)

ETL(4)數(shù)據(jù)倉庫的維護教學要求知識要點能力要求相關知識點數(shù)據(jù)倉庫的開發(fā)過程與方法(67

引例:沃爾瑪?shù)臄?shù)據(jù)倉庫沃爾瑪利用NCR的Teradata可對7.5TB的數(shù)據(jù)進行存儲,這些數(shù)據(jù)主要包括各個商店前端設備(POS、掃描儀)采集來的原始銷售數(shù)據(jù)和各個商店的庫存數(shù)。Teradata數(shù)據(jù)庫里存有196億條記錄,每天要處理并更新2億條記錄,要對來自6000多個用戶的4.8萬條查詢語句進行處理。銷售數(shù)據(jù)、庫存數(shù)據(jù)每天夜間從3000多個商店自動采集過來,并通過衛(wèi)星線路傳到總部的數(shù)據(jù)倉庫里。沃爾瑪數(shù)據(jù)倉庫里最大的一張表格(Table)容量已超過300GB、存有50億條記錄,可容納65個星期3000多個商店的銷售數(shù)據(jù),而每個商店有5萬到8萬個商品品種。利用數(shù)據(jù)倉庫技術,沃爾瑪對商品進行市場類組分析,即分析哪些商品顧客最有希望一起購買。

引例:沃爾瑪?shù)臄?shù)據(jù)倉庫沃爾瑪利用NCR的Teradata可68思考:請你估計一下沃爾瑪?shù)臄?shù)據(jù)倉庫中一年的數(shù)據(jù)量有多大?沃爾瑪?shù)臄?shù)據(jù)倉庫是怎樣建成的?思考:請你估計一下沃爾瑪?shù)臄?shù)據(jù)倉庫中一年的數(shù)據(jù)量有多大?69本章內容數(shù)據(jù)倉庫的開發(fā)過程及特點數(shù)據(jù)模型設計數(shù)據(jù)倉庫的粒度設計創(chuàng)建數(shù)據(jù)倉庫的基本步驟本章內容數(shù)據(jù)倉庫的開發(fā)過程及特點70數(shù)據(jù)倉庫的開發(fā)過程及特點按照生命周期發(fā)法可將數(shù)據(jù)倉庫開發(fā)的全部過程分成三個階段。(1)數(shù)據(jù)倉庫規(guī)劃分析階段。(2)數(shù)據(jù)倉庫設計實施階段。(3)數(shù)據(jù)倉庫的使用維護階段。這三個階段不是簡單的循環(huán)往復,而是不斷完善提高的過程。一般情況下,數(shù)據(jù)倉庫系統(tǒng)都不可能在一個循環(huán)過程中完成,而是經(jīng)過多次循環(huán)開發(fā),每次循環(huán)都會給系統(tǒng)增加新的功能,這種循環(huán)的工作永遠不會終結,數(shù)據(jù)倉庫也就一直處于一個不斷完善、不斷提高的循環(huán)過程中。數(shù)據(jù)倉庫的開發(fā)過程及特點按照生命周期發(fā)法可將數(shù)據(jù)倉庫開發(fā)的71數(shù)據(jù)倉庫開發(fā)的生命周期數(shù)據(jù)倉庫開發(fā)的生命周期72數(shù)據(jù)倉庫開發(fā)的生命周期1.DW規(guī)劃分析階段調查、分析DW環(huán)境,完成DW的開發(fā)規(guī)劃,卻定DW開發(fā)需求。建立包括實體圖、星型模型、雪花模型、元數(shù)據(jù)模型及數(shù)據(jù)源分析的主題域數(shù)據(jù)模型,并且根據(jù)主題域數(shù)據(jù)模型開發(fā)DW邏輯模型。數(shù)據(jù)倉庫開發(fā)的生命周期1.DW規(guī)劃分析階段73數(shù)據(jù)倉庫開發(fā)的生命周期2.DW設計實施階段根據(jù)DW的邏輯模型設計DW體系結構;設計DW與物理數(shù)據(jù)庫,用物理數(shù)據(jù)庫元數(shù)據(jù)裝載面向最終用戶的元數(shù)據(jù)庫;為DW中每個目標字段確定他在業(yè)務系統(tǒng)或外部數(shù)據(jù)源中的數(shù)據(jù)來源;開發(fā)或購買用于抽取、清洗、轉換和聚合數(shù)據(jù)等中間件程序;將數(shù)據(jù)從數(shù)據(jù)源加載到DW,并且進行測試。數(shù)據(jù)倉庫開發(fā)的生命周期2.DW設計實施階段74數(shù)據(jù)倉庫開發(fā)的生命周期3.DW使用維護階段DW投入使用,且在使用中改進、維護DW;對DW進行評價,為下一個循環(huán)開發(fā)提供依據(jù)。數(shù)據(jù)倉庫開發(fā)的生命周期3.DW使用維護階段75DW開發(fā)的特點1.數(shù)據(jù)倉庫的開發(fā)是從數(shù)據(jù)出發(fā)的創(chuàng)建DW是在原有的數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)基礎上進行的,我們稱之為“數(shù)據(jù)驅動”。數(shù)據(jù)驅動設計方法的中心是利用數(shù)據(jù)模型有效的識別原有的數(shù)據(jù)庫中的數(shù)據(jù)和DW中主題的數(shù)據(jù)“共同性”。2.DW使用的需求不能在開發(fā)初期完全明確在數(shù)據(jù)倉庫環(huán)境中,并不存在固定的且較確切的物流、數(shù)據(jù)流、和信息流,數(shù)據(jù)分析處理的需求更加靈活,更沒有固定的模式,甚至用戶自己也對所要進行的分析處理不能事先全部確定3.數(shù)據(jù)倉庫的開發(fā)是一個不斷循環(huán)的過程,是啟發(fā)式的開發(fā)DW的開發(fā)是一個動態(tài)反饋和循環(huán)的過程,一方面DW的數(shù)據(jù)內容、結構、力度、分割以及其他物理設計應該根據(jù)用戶所返回的信息不斷的調整和完善,以提高系統(tǒng)的效率和性能;另一方面,通過不斷理解用戶的分析需求,不斷的調整和完善,以求向用戶提供更準確、更有效的決策信息。DW開發(fā)的特點1.數(shù)據(jù)倉庫的開發(fā)是從數(shù)據(jù)出發(fā)的76思考數(shù)據(jù)倉庫的開發(fā)過程與數(shù)據(jù)庫的開發(fā)過程有什么不同?為什么?思考數(shù)據(jù)倉庫的開發(fā)過程與數(shù)據(jù)庫的開發(fā)過程有什么不同?為什么?77數(shù)據(jù)倉庫設計的主要內容數(shù)據(jù)倉庫設計的主要內容78數(shù)據(jù)模型設計DW數(shù)據(jù)模型具有如下特點。(1)去掉純操作性數(shù)據(jù)。(2)給鍵碼增加時間因素。(3)合適之處增加導出數(shù)據(jù)。(4)把OLTP系統(tǒng)中數(shù)據(jù)關系變?yōu)槿斯りP系。DW數(shù)據(jù)模型源于OLTP系統(tǒng)數(shù)據(jù)模型以及企業(yè)數(shù)據(jù)模型數(shù)據(jù)模型設計DW數(shù)據(jù)模型具有如下特點。79概念模型設計1.設計方法在建模之前定義數(shù)據(jù)模型的邊界,然后建立企業(yè)內不同群體的實體-聯(lián)系模型,最后進行集成企業(yè)的總體概念模型。概念模型設計1.設計方法80概念模型設計2.注意事項(1)在DW的數(shù)據(jù)模型中不包含操作性數(shù)據(jù),只包含用戶感興趣的分析數(shù)據(jù)、描述數(shù)據(jù)和細節(jié)數(shù)據(jù)。例:在商品銷售分析DW模型中,商品的銷售數(shù)量、金額、企業(yè)利潤等是分析數(shù)據(jù);銷售的時間、地點等使用戶感興趣的描述數(shù)據(jù);銷售產(chǎn)品的詳細情況、購買商品的客戶詳細情況等是細節(jié)數(shù)據(jù)。(2)數(shù)據(jù)的歷史變遷性。DW的數(shù)據(jù)模型增加時間屬性作為碼的一部分(3)數(shù)據(jù)的概括性。DW的數(shù)據(jù)模型中增加了一些衍生數(shù)據(jù),專門用于分析的DW系統(tǒng)需要一些概括性的數(shù)據(jù),這些數(shù)據(jù)在業(yè)務處理系統(tǒng)的數(shù)據(jù)模型中是不需要的。例如,在銷售管理的業(yè)務系統(tǒng)中的數(shù)據(jù)模型中,通常只需要記錄當前細數(shù)據(jù),而在數(shù)據(jù)倉庫的數(shù)據(jù)模型中,需要保存一些統(tǒng)計、累加而來的綜合數(shù)據(jù)。概念模型設計2.注意事項81概念模型設計3.E-R圖的描述方法(1)矩形。矩形表示實體,在數(shù)據(jù)倉庫中表示主題,在矩形框內寫上主題名。(2)橢圓形。橢圓形表示主題的屬性,并用無向邊把主題與其屬性連接起來。(3)菱形。菱形表示主題之間的聯(lián)系,菱形框內寫上聯(lián)系的名字。用無向邊把菱形分別與有關的主題連接,在無向邊旁標上聯(lián)系的類型。若主題之間的聯(lián)系也具有屬性,則把屬性和菱形也用無向邊連接上。概念模型設計3.E-R圖的描述方法82概念模型設計某商場的商品、顧客和供應商之間的概念模型的E-R圖

概念模型設計某商場的商品、顧客和供應商之間的概念模型的E-R83邏輯模型設計關系數(shù)據(jù)庫一般采用二維數(shù)據(jù)表的形式來表示數(shù)據(jù),一個維是行,另一個維是列,行和列的交叉處就是數(shù)據(jù)元素。關系數(shù)據(jù)的基礎是關系數(shù)據(jù)庫模型,通過標準的SQL語言來加以實現(xiàn)。數(shù)據(jù)倉庫是多維數(shù)據(jù)庫,它擴展了關系數(shù)據(jù)庫模型,以星形架構為主要結構方式的,并在它的基礎上,擴展出理論雪花形架構和數(shù)據(jù)星座等方式,但不管是哪一種架構,維度表、事實表和事實表中的量度都是必不可少的組成要素。邏輯模型設計關系數(shù)據(jù)庫一般采用二維數(shù)據(jù)表的形式來表示數(shù)據(jù)84邏輯模型設計——星形模型星形模型是最常用的數(shù)據(jù)倉庫設計結構的實現(xiàn)模式,它使數(shù)據(jù)倉庫形成了一個集成系統(tǒng),為最終用戶提供報表服務,為用戶提供分析服務對象。星形模式通過使用一個包含主題的事實表和多個包含事實的非正規(guī)化描述的維度表來支持各種決策查詢。星形模型可以采用關系型數(shù)據(jù)庫結構,模型的核心是事實表,圍繞事實表的是維度表。通過事實表將各種不同的維度表連接起來,各個維度表都連接到中央事實表。維度表中的對象通過事實表與另一維度表中的對象相關聯(lián),這樣就能建立各個維度表對象之間的聯(lián)系。每一個維度表通過一個主鍵與事實表進行連接。邏輯模型設計——星形模型星形模型是最常用的數(shù)據(jù)倉庫設計結構的85邏輯模型設計——星形模型邏輯模型設計——星形模型86邏輯模型設計——星形模型事實表主要包含了描述特定商業(yè)事件的數(shù)據(jù),即某些特定商業(yè)事件的度量值。一般情況下,事實表中的數(shù)據(jù)不允許修改,新的數(shù)據(jù)只是簡單地添加進事實表中,維度表主要包含了存儲在事實表中數(shù)據(jù)的特征數(shù)據(jù)。每一個維度表利用維度關鍵字通過事實表中的外鍵約束于事實表中的某一行,實現(xiàn)與事實表的關聯(lián),這就要求事實表中的外鍵不能為空,這與一般數(shù)據(jù)庫中外鍵允許為空是不同的。這種結構使用戶能夠很容易地從維度表中的數(shù)據(jù)分析開始,獲得維度關鍵字,以便連接到中心的事實表,進行查詢。邏輯模型設計——星形模型事實表87邏輯模型設計——星形模型星形模型雖然是一個關系模型,但是它不是一個規(guī)范化的模型。在星形模式中,維度表被故意地非規(guī)范化了,這是星形模式與OLTP系統(tǒng)中關系模式的基本區(qū)別。使用星形模式主要有兩方面的原因:一是可以提高查詢的效率。采用星形模式設計的數(shù)據(jù)倉庫的優(yōu)點是由于數(shù)據(jù)的組織已經(jīng)過預處理,主要數(shù)據(jù)都在龐大的事實表中,所以只要掃描事實表就可以進行查詢,而不必把多個龐大的表聯(lián)接起來,查詢訪問效率較高,同時由于維表一般都很小,甚至可以放在高速緩存中,與事實表進行連接時其速度較快,便于用戶理解;二是對于非計算機專業(yè)的用戶而言,星形模式比較直觀,通過分析星形模式,很容易組合出各種查詢。邏輯模型設計——星形模型星形模型雖然是一個關系模型,但是它不88邏輯模型設計——星形模型邏輯模型與實體-關系建模之間的關系實體-聯(lián)系圖是代表企業(yè)中每一個可能的業(yè)務過程,一個實體-聯(lián)系圖可以拆分成多個維表、事實表構成的邏輯模型。將E-R圖轉換成維度建模時的步驟是:(1)將E-R圖分成獨立的業(yè)務處理,然后對每個業(yè)務處理單獨建模。(2)在E-R圖中,對包含數(shù)字型事實和可加性非碼事實的實體,選擇其中的多對多關系,并且將他們設計成各個事實表。(3)將剩下的實體進行非規(guī)范化處理,設計成為表。邏輯模型設計——星形模型邏輯模型與實體-關系建模之間的關系89星形模型基本設計技術(1)正確區(qū)分事實、屬性和維度。維度模型需要對事實和屬性進行區(qū)分,業(yè)務層的很多事實都是數(shù)值型的,特別是該數(shù)值是浮點數(shù)時,他很可能是一個事實,而不是屬性。例如“標準價格”,好像是產(chǎn)品維度的一個屬性,似乎是事先一致的常量,但每年對標準價格進行一、兩次調整,因此應該設計成事實。屬性通常指文本字段,例如產(chǎn)品描述。維度是類似于文本形式的屬性組合,固定的數(shù)值型屬性應放在維表中。例如,零售數(shù)據(jù)倉庫中,至少應有一個產(chǎn)品維度,一個商店維度,一個客戶維,一個時間維,一個促銷維。星形模型基本設計技術(1)正確區(qū)分事實、屬性和維度。90星形模型基本設計技術(2)事實表的設計方法。事實表是數(shù)據(jù)倉庫中最大的表,在設計時,一定注意使事實表盡可能的小,因為過大的事實表在表的處理、備份和恢復、用戶查詢等方面要用較長的時間。具體方法主要有:減少列的數(shù)量;降低每列的大??;把歷史數(shù)據(jù)存檔;對行進行分割。例如,零售營銷事實表設計如下:星形模型基本設計技術(2)事實表的設計方法。91星形模型基本設計技術(3)維表的設計。維表的屬性必須具有以下特征:可用文字描述;離散值;有規(guī)定的約束;在分析時可提供行標題。時間維在數(shù)據(jù)倉庫中占有特定位置,建議使用時間維度。圖3.6是零售業(yè)營銷分析的星型模型圖。星形模型基本設計技術(3)維表的設計。92星形模型基本設計技術零售業(yè)營銷分析的星型模型圖星形模型基本設計技術零售業(yè)營銷分析的星型模型圖93邏輯模型設計——雪花模型雪花模型是對星形模型的擴展,每一個維度都可以向外連接多個詳細類別表。在這種模式中,維度表除了具有星形模型中維度表的功能外,還連接對事實表進行詳細描述的詳細類別表,詳細類別表通過對事實表在有關維上的詳細描述達到了縮小事實表和提高查詢效率的目的。邏輯模型設計——雪花模型雪花模型是對星形模型的擴展,每一個維94邏輯模型設計——雪花模型雪花模型架構示意圖邏輯模型設計——雪花模型雪花模型架構示意圖95邏輯模型設計——雪花模型雪花模型對星形模型的維度表進一步標準化,對星形模型中的維度表進行了規(guī)范化處理。雪花模型的維度表中存儲了正規(guī)化的數(shù)據(jù),這種結構通過把多個較小的標準化表(而不是星形模型中的大的非標準化表)聯(lián)合在一起來改善查詢性能。由于采取了標準化及維的低粒度,雪花模型提高了數(shù)據(jù)倉庫應用的靈活性。邏輯模型設計——雪花模型雪花模型對星形模型的維度表進一步標準96邏輯模型設計——雪花模型在該模型中,將地理層次國家、區(qū)域和分區(qū)域嵌入到銷售員維度,這樣,公司的管理者想按照國家、區(qū)域、分區(qū)域和分區(qū)域內的銷售員的層次關系來查看公司的銷售情況。邏輯模型設計——雪花模型在該模型中,將地理層次國家、區(qū)域和分97銷售數(shù)據(jù)倉庫邏輯模型(雪花型)銷售數(shù)據(jù)倉庫邏輯模型(雪花型)98邏輯模型設計——星座模型一個復雜的商業(yè)智能應用往往會在數(shù)據(jù)倉庫中存放多個事實表,這時就會出現(xiàn)多個事實表共享某一個或多個維表的情況,這就是事實星座,也稱為星系模型(galaxyschema)。數(shù)據(jù)倉庫由于是企業(yè)范圍的,能對多個相關的主題建模,所以在設計其數(shù)據(jù)構成時一般采用星系模式。而數(shù)據(jù)集市是部門級的,具有選定的主題,可以采用星形或雪花模型。邏輯模型設計——星座模型一個復雜的商業(yè)智能應用往往會在數(shù)據(jù)倉99邏輯模型設計——維度的設計維是人們觀察客觀世界的角度,是一種高層次的類型劃分。如:對客戶、產(chǎn)品、服務、提供商、地點、渠道和事件發(fā)生的時間維表是由維主鍵和維屬性組成的一般情況下,在每次抽樣時,如果數(shù)值數(shù)據(jù)字段的度量都改變,那么它就是事實,如果它是某種東西的離散值描述,并幾乎保持為常數(shù),那么它就是維屬性。例如,商品的價格是為表的屬性,銷售量是事實。邏輯模型設計——維度的設計維是人們觀察客觀世界的角度,是一100維表舉例圖3.10時間維度及其層次關系圖3.11財務時間維度維表舉例圖3.10時間維度及其層次關系101維表舉例圖3.12地理維度層次圖3.13機構維度層次維表舉例圖3.12地理維度層次圖3.13機構維度層次102維表舉例客戶維度分類維表舉例客戶維度分類103物理模型設計數(shù)據(jù)倉庫的物理數(shù)據(jù)模型就是邏輯數(shù)據(jù)模型在數(shù)據(jù)倉庫中的實現(xiàn),如:物理存取方式數(shù)據(jù)存儲結構數(shù)據(jù)存放位置以及存儲分配等物理數(shù)據(jù)模型設計實現(xiàn)時,所考慮的主要因素有:I/O存取時間空間利用率和維護代價在進行數(shù)據(jù)倉庫的物理數(shù)據(jù)模型設計時,考慮到數(shù)據(jù)倉庫的數(shù)據(jù)量大但是操作單一的特點,可采取其他的一些提高數(shù)據(jù)倉庫性能的技術,如:合并表、建立數(shù)據(jù)序列、引入冗余、進一步細分數(shù)據(jù)、生成導出數(shù)據(jù)、建立廣義索引等。物理模型設計數(shù)據(jù)倉庫的物理數(shù)據(jù)模型就是邏輯數(shù)據(jù)模型在數(shù)據(jù)倉104物理模型設計——設計存儲結構在物理設計時,常常要按數(shù)據(jù)的重要性、使用頻率及對反應時間的要求進行分類,并將不同類型的數(shù)據(jù)分別存儲在不同的存儲設備中。重要性高、經(jīng)常存取并對反應時間要求高的數(shù)據(jù)存放在高速存儲設備上;存取頻率低或對存取響應時間要求低的數(shù)據(jù)則可以存放在低速存儲設備上。在設計時還要考慮數(shù)據(jù)在特定存儲介質上的布局。物理模型設計——設計存儲結構在物理設計時,常常要按數(shù)據(jù)的重要105物理模型設計——設計存儲結構設計數(shù)據(jù)的布局時要注意遵循以下原則。(1)不要把經(jīng)常需要連接的幾張表放在同一存儲設備上,這樣可以利用存儲設備的并行操作功能加快數(shù)據(jù)查詢的速度。(2)如果幾臺服務器之間的連接會造成嚴重的網(wǎng)絡業(yè)務量的問題,則要考慮服務器復制表格,因為不同服務器之間的數(shù)據(jù)連接會給網(wǎng)絡帶來沉重的數(shù)據(jù)傳輸負擔。(3)考慮把整個企業(yè)共享的細節(jié)數(shù)據(jù)放在主機或其他集中式服務器上,提高這些共享數(shù)據(jù)的使用速度。(4)不要把表格和它們的索引放在同一設備上。一般可以將索引存放在高速存儲設備上,而表格則存放在一般存儲設備上,以加快數(shù)據(jù)的查詢速度。物理模型設計——設計存儲結構設計數(shù)據(jù)的布局時要注意遵循以下原106物理模型設計——設計索引策略數(shù)據(jù)倉庫的數(shù)據(jù)量很大,因而需要對數(shù)據(jù)的存取路徑進行仔細地設計和選擇。由于數(shù)據(jù)倉庫的數(shù)據(jù)一般很少更新,所以可以設計索引結構來提高數(shù)據(jù)存取效率。數(shù)據(jù)倉庫中的表通常要比聯(lián)機事務處理系統(tǒng)(OLTP)中的表建立更多的索引,表中應用的最大索引數(shù)應與表格的規(guī)模成正比。數(shù)據(jù)倉庫是個只讀的環(huán)境,建立索引可以取得靈活性,對性能極為有利。但是,表若有很多索引,那么數(shù)據(jù)加載時間就會延長,因此索引的建立需要進行綜合的考慮。一般都是按主關鍵字和大多數(shù)外部關鍵字建立索引,通常不要添加很多的其他索引。物理模型設計——設計索引策略數(shù)據(jù)倉庫的數(shù)據(jù)量很大,因而需要對107物理模型設計——設計存儲策略確定數(shù)據(jù)的存儲位置和存儲策略,以提高系統(tǒng)的I/O效率。幾種常見的存儲優(yōu)化方法。表的歸并引入冗余其他方法物理模型設計——設計存儲策略確定數(shù)據(jù)的存儲位置和存儲策略,108數(shù)據(jù)倉庫的粒度設計數(shù)據(jù)倉庫的性能和存儲空間是一對矛盾。如果粒度設計得很小,則事實表將不得不記錄所有的細節(jié),儲存數(shù)據(jù)所需要的空間將會急劇的膨脹;若設計的粒度很大,雖然由于事實表體積大而帶來的諸多問題能夠得到一定程度的緩解,但決策者不能觀察細節(jié)數(shù)據(jù)。數(shù)據(jù)倉庫的粒度設計數(shù)據(jù)倉庫的性能和存儲空間是一對矛盾。109粒度設計的三個步驟粗略估計確定雙重還是單一粒度確定粒度的級別粒度設計的三個步驟粗略估計110粒度設計第一步——粗略估算(1)確定數(shù)據(jù)倉庫中將要創(chuàng)建的所有表,然后估計每張表中行的大小(2)估計一年內表中的最少行數(shù)和最多行數(shù)。估計完一年內數(shù)據(jù)倉庫中數(shù)據(jù)單位的數(shù)量(用上下限推測的方法)用同樣的方法對5年內的數(shù)據(jù)進行估計。計算一下索引數(shù)據(jù)所占的空間。對每張表(對表中的每個鍵碼)確定鍵碼的長度和原始表中每條數(shù)據(jù)是否存在鍵碼。(3)將各表中行數(shù)可能的最大值和最小值分別乘以數(shù)據(jù)的最大長度和最小長度。另外,還要將索引項的數(shù)目與鍵碼的長度的乘積累加到總的數(shù)據(jù)量中去。粒度設計第一步——粗略估算(1)確定數(shù)據(jù)倉庫中將要創(chuàng)建的111粒度設計第二步——確定雙重或單一的粒度將數(shù)據(jù)倉庫環(huán)境中總的行數(shù)和下表中所示的表格進行比較,確定雙重或單一的粒度。1年數(shù)據(jù)5年數(shù)據(jù)數(shù)據(jù)量(行數(shù))粒度劃分策略數(shù)據(jù)量(行數(shù))粒度劃分策略10000000雙重粒度并仔細設計20000000雙重粒度并仔細設計1000000雙重粒度10000000雙重粒度100000仔細設計1000000仔細設計10000不考慮100000不考慮粒度設計第二步——確定雙重或單一的粒度將數(shù)據(jù)倉庫環(huán)境中總的行112粒度設計第三步——確定粒度的級別

例如,對于銀行環(huán)境由于其信息量較大,設計成雙重粒度級。在DW中,輕度綜合級存十年的每月匯總的賬戶信息,當前細節(jié)級數(shù)據(jù)存30天。在這個級別并不是把OLTP系統(tǒng)中所有的字段都送到DW中,只有對分析有價值的信息字段才被存儲。30天之后,把這部分細節(jié)數(shù)據(jù)送到磁帶上,騰出的空間存放下一個30天的當前細節(jié)級數(shù)據(jù)。粒度設計第三步——確定粒度的級別例如,對于銀行環(huán)境113粒度設計原則對于業(yè)務量大,分析要求比較高的情況下,最佳解決辦法則是采用多重粒度的形式。而針對具體的某個事實的粒度而言,應當采用“最小粒度原則”,即將量度的粒度設置到最小。粒度設計原則對于業(yè)務量大,分析要求比較高的情況下,最佳解決辦114創(chuàng)建數(shù)據(jù)倉庫的基本步驟(1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論