
對數(shù)據(jù)倉庫進(jìn)行數(shù)據(jù)建模
在日常生活中,我們要使用大量的應(yīng)用程序來生成新的數(shù)據(jù)、變更數(shù)據(jù)、刪除數(shù)據(jù),當(dāng)然在大多數(shù)的情況下我們還要查閱和分析數(shù)據(jù)。就來想象一個(gè)收發(fā) email 的簡單應(yīng)用程序吧。我們已經(jīng)存儲了地址信息,可能還存儲了一些文檔。我們可以決定是否存儲已經(jīng)發(fā)送過的郵件,但是也可能隔一段時(shí)間后將其刪除,或者刪除已經(jīng)發(fā)送過的所有郵件。那么我們該如何處理一段時(shí)間以前刪除或者修改過的地址呢?我們再也不會看到它們了。
Email 程序大部分都屬于不是很復(fù)雜的數(shù)據(jù)庫,但是完全可以將其看作一個(gè)在單用戶環(huán)境下的 OLTP(在線事務(wù)處理系統(tǒng))簡單示例。它使用了所有的所謂訪問數(shù)據(jù)的操作 CRUD(創(chuàng)建、讀取、更新、刪除)。當(dāng)數(shù)據(jù)存儲達(dá)到一定量的時(shí)候,規(guī)模就會幾乎保持不變,因?yàn)榭梢詮拇鎯χ袆h除過期數(shù)據(jù)。
數(shù)據(jù)倉庫就完全是一種不同種類的應(yīng)用程序。它并不是用來運(yùn)行當(dāng)前的操作,例如發(fā)送郵件。它是用來分析數(shù)據(jù)并且從現(xiàn)有數(shù)據(jù)中發(fā)現(xiàn)新的價(jià)值,主要是用來預(yù)測未來的情況。數(shù)據(jù)倉庫并不是解決所有問題的通用結(jié)構(gòu)。它必須集中于某一問題領(lǐng)域,例如航空服務(wù)、顧客收益等。
數(shù)據(jù)倉庫也有有趣的一面,那就是數(shù)據(jù)庫本身是穩(wěn)定增長的。數(shù)據(jù)沒有被刪除,也不發(fā)生變更。我們不需要將冗余數(shù)據(jù)置于數(shù)據(jù)庫之外(因?yàn)榧尤雮}庫中的數(shù)據(jù)經(jīng)過了數(shù)據(jù)凈化的過程,該過程檢查了數(shù)據(jù)的正確性)來減少復(fù)雜性同時(shí)增強(qiáng)讀取操作的性能。
為了能夠?qū)?a href='/map/shujucangku/' style='color:#000;font-size:inherit;'>數(shù)據(jù)倉庫中的數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)存儲于一個(gè)多維結(jié)構(gòu)中,叫做星型模式。如果將星型模式擴(kuò)展,就會得到雪花模式。本白皮書將會闡述如何使用IBM Rational Rose進(jìn)行星型模式建模和雪花模式建模。
為了更好地解釋如何對數(shù)據(jù)倉庫建模,本白皮書將使用一個(gè)簡單數(shù)據(jù)集市的的例子(即一個(gè)數(shù)據(jù)倉庫或者數(shù)據(jù)倉庫的一部分),來分析旅客乘坐航班 Happy Flying and Landing(愉快飛行平安降落)的行為和滿意程度。
我們將存儲乘客信息和每個(gè)航班的的相關(guān)數(shù)據(jù)、選擇的菜單以及乘客對飛行的滿意程度。
回頁首
數(shù)據(jù)倉庫引入了新的術(shù)語,擴(kuò)展了數(shù)據(jù)建模的術(shù)語表。為使本文的闡述能夠完備,下面我介紹一下最常用的術(shù)語。
數(shù)據(jù)倉庫是一個(gè)支持管理決策的數(shù)據(jù)集合。數(shù)據(jù)是面向主題的、集成的、不易丟失的并且是時(shí)間變量。
數(shù)據(jù)倉庫是所有操作環(huán)境和外部數(shù)據(jù)源的快照集合。它并不需要非常精確,因?yàn)樗仨氃谔囟ǖ臅r(shí)間基礎(chǔ)上從操作環(huán)境中提取出來。
數(shù)據(jù)倉庫只限于單個(gè)主題的區(qū)域,例如顧客、部門、地點(diǎn)等。數(shù)據(jù)集市在從數(shù)據(jù)倉庫獲取數(shù)據(jù)時(shí)可以依賴于數(shù)據(jù)倉庫,或者當(dāng)它們從操作系統(tǒng)中獲取數(shù)據(jù)時(shí)就不依賴于數(shù)據(jù)倉庫。
事實(shí)是數(shù)據(jù)倉庫中的信息單元,也是多維空間中的一個(gè)單元,受分析單元的限制。
事實(shí)存儲于一張表中(當(dāng)使用關(guān)系數(shù)據(jù)庫時(shí))或者是多維數(shù)據(jù)庫中的一個(gè)單元。
每個(gè)事實(shí)包括關(guān)于事實(shí)(收入、價(jià)值、滿意記錄等)的基本信息,并且與維度相關(guān)。
在某些情況下,當(dāng)所有的必要信息都存儲于維度中時(shí),單純的事實(shí)出現(xiàn)就是對于數(shù)據(jù)倉庫足夠的信息。我們稍后討論有關(guān)缺無事實(shí)的情況。
維度是綁定由坐標(biāo)系定義的空間的坐標(biāo)系的軸線。數(shù)據(jù)倉庫中的坐標(biāo)系定義了數(shù)據(jù)單元,其中包含事實(shí)。
坐標(biāo)系的一個(gè)例子就是帶有 x 維度和 y 維度的 Cartesian(笛卡爾)坐標(biāo)系。
在數(shù)據(jù)倉庫中,時(shí)間總是維度之一。
在數(shù)據(jù)倉庫的數(shù)據(jù)中發(fā)現(xiàn)新信息的過程被稱為數(shù)據(jù)挖掘,這些新信息不會從操作系統(tǒng)中獲得。
分析空間是數(shù)據(jù)倉庫中一定量的數(shù)據(jù),用于進(jìn)行數(shù)據(jù)挖掘以發(fā)現(xiàn)新信息同時(shí)支持管理決策。
一種用來在數(shù)據(jù)倉庫中將一個(gè)維度中的分析空間限制為數(shù)據(jù)子集的技術(shù)。
一種用來在數(shù)據(jù)倉庫中將多個(gè)維度中的分析空間限制為數(shù)據(jù)子集的技術(shù)。
一種使用關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)多維分析空間的模式,稱為星型模式。
星型模式將在本白皮書中稍后進(jìn)行進(jìn)一步討論。
不管什么原因,當(dāng)星型模式的維度需要進(jìn)行規(guī)范化時(shí),星型模式就演進(jìn)為雪花模式。
回頁首
星型模式的基本形式必須實(shí)現(xiàn)多維空間(常常被稱為方塊),以使用關(guān)系數(shù)據(jù)庫的基本功能。
首先,我們需要理解多維空間。
幾何學(xué)中的方塊是指一個(gè)三維空間,其中每個(gè)維度的尺寸都相同。想象一個(gè)立方體,每個(gè)維度都有三個(gè)單元,我們即得到相同結(jié)構(gòu)的33=27個(gè)單元。
多維分析空間(或者數(shù)據(jù)倉庫方塊)與幾何空間中的方塊僅僅存在細(xì)節(jié)上的差異。
維度不僅限于 3 維。不過,處理很多維度的立方體也不是件輕松的事情,這會導(dǎo)致大多數(shù)的實(shí)現(xiàn)被限制于 6 或者 7 維。不要期盼使用圖形可以很好地表示超過 4 的維度--如果您有幸能發(fā)現(xiàn)一種方法,別忘了告訴我一下。
維度并不具有相同的規(guī)模和單元。規(guī)模從幾個(gè)單元到幾百萬個(gè)單元,差別巨大。單元可以是一天、一位顧客、部門等。
單元,相當(dāng)于子方塊(1×1×1等),包含事實(shí)。
數(shù)據(jù)立方體需要很大的內(nèi)存以存儲所有事實(shí)。無論是否包含事實(shí),都必須要預(yù)留單元。
這就是為什么使用關(guān)系數(shù)據(jù)庫和星型模式的原因。使用它們能夠優(yōu)化存儲并且保持?jǐn)?shù)據(jù)結(jié)構(gòu)的靈活性。
星型模式的基本思想就是保持立方體的多維功能,同時(shí)也增加了小規(guī)模數(shù)據(jù)存儲的靈活性。
在圖3中,星型模式使用事實(shí) Flight 表示了一個(gè) 4 維方塊(Passenger、Menu、Flight Schedulet 和 Time)。基本上,事實(shí)必須指定一個(gè)維度,以將其放入立方體的單元中。
我們的例子中的維度是:
Passenger,描述了飛行航程中的每位乘客,由經(jīng)常飛行號(frequent flyer number)指定。不是經(jīng)常乘坐飛機(jī)的乘客不是數(shù)據(jù)倉庫的一部分。
Flight Schedule,是指所有常規(guī)飛行的日程。
Menu,是用于飛行的菜單。只有對菜單進(jìn)行基本的分類才會對數(shù)據(jù)挖掘有重要意義。
Time,是指飛行的時(shí)間。
事實(shí) Flight 描述了乘客在唯一的 Time 的單程飛行上選擇 Menu。
分析空間可以是完整的方塊,或者我們可以根據(jù)維度將分析空間分割成小片。
每個(gè)維度根據(jù)一個(gè)對象進(jìn)行描述,對象可以用類表示,這些類就是有關(guān)業(yè)務(wù)主題的名稱。這一點(diǎn)對于成功建立數(shù)據(jù)倉庫來說是很重要的,因?yàn)閭}庫的用戶(經(jīng)理、分析員、市場)對于信息技術(shù)的術(shù)語并不是很熟悉。
事實(shí)本身就是商業(yè)智能的另一個(gè)對象,仍然通過類進(jìn)行表示。
事實(shí)指每個(gè)維度。事實(shí)與維度的關(guān)聯(lián)常常是一對任意,這也就意味著每個(gè)事實(shí)都與單個(gè)維度的一個(gè)單元準(zhǔn)確對應(yīng),而維度的每個(gè)單元(每個(gè)Passenger、Time等)可以與任意數(shù)量的事實(shí)發(fā)生關(guān)聯(lián)(包括0個(gè)事實(shí))。
使用 Rational Rose 將對象模型轉(zhuǎn)換為數(shù)據(jù)模型即完成了星型模式的實(shí)現(xiàn)。這里我們可以看到轉(zhuǎn)換后的結(jié)果。
在圖4中,沒有顯示自動創(chuàng)建的主鍵和外鍵約束。
星型模式的維度是獨(dú)立的表。當(dāng)對象模型轉(zhuǎn)換為數(shù)據(jù)模型時(shí),Rational Rose 可以生成維度的主鍵。
事實(shí)表指從維度表中使用鍵遷移的維度,當(dāng)生成數(shù)據(jù)模型時(shí) Rational Rose 可以生成外鍵。
在星型模式中切片和切塊是對維度的限制(選擇)。這是一個(gè)運(yùn)行時(shí)問題,而不是建模問題,但是模型必須分辨其需要。
基本的星型模式并不能滿足數(shù)據(jù)挖掘的所有需要。我們需要更復(fù)雜的維度,例如時(shí)間。分析員希望根據(jù)周、月、季度等識別模式。
維度必須進(jìn)行規(guī)范化。我們不需要冗余的維度表,這只會使數(shù)據(jù)切片變得更加復(fù)雜。這種過程中我們得到的模式被稱為雪花模式。
我們來看一個(gè)簡單的雪花模式例子。我們將時(shí)間維度規(guī)范化為周、月和季度。
我們希望能夠使用附加的規(guī)范化維度將立方體切片:周、月和季度。在本例中,我們假定季度是月的平行層次,這也就意味著我們不能將季度假定為若干月的聚合。由于這個(gè)原因,我們將使用一張范化表(是對 OLAP 查詢的一項(xiàng)簡單附加)預(yù)先選擇時(shí)間維度。
最終雪花模式添加了規(guī)范化維度。
當(dāng)然,所有的維度都可以像時(shí)間例子那樣進(jìn)行規(guī)范化,這就導(dǎo)致了比較復(fù)雜的數(shù)據(jù)集市模式的出現(xiàn)。
由 Rational Rose 從雪花模式中開發(fā)的實(shí)現(xiàn)模式(數(shù)據(jù)模型)是完善的。
創(chuàng)建的約束在圖中也沒有顯示。
雪花模式中可以存在切片,不僅僅在基本的 Time 維度上,也可以在規(guī)范化的 Week、Month 和 Quarter 維度上。
在一次飛行中,我們不僅僅只吃一頓飯。在長途飛行中可能要多次用餐。在這種情況下,我們認(rèn)為事實(shí) Flight 和 Menu 維度不是一對多的關(guān)聯(lián)。我們必須使用多對多關(guān)聯(lián)。不過,這種關(guān)聯(lián)不可能在星型模式中實(shí)現(xiàn)。
雪花模式的一種特殊形式是使用一種必要的數(shù)據(jù)結(jié)構(gòu)以滿足這項(xiàng)要求。
首先,我們將模型變更為事實(shí)和維度間的多對多關(guān)聯(lián)。使用 Rational Rose,這只是關(guān)聯(lián)基數(shù)的變更。
我們無法在關(guān)系數(shù)據(jù)庫中實(shí)現(xiàn)多對多關(guān)聯(lián)。實(shí)現(xiàn)多對多關(guān)聯(lián)需要使用另一種雪花模式。
在下圖中,我們關(guān)注一下已經(jīng)開發(fā)的雪花模式的一部分,該部分處理多對多維度。
Rational Rose 生成了附加的維度表 FlightMenu,它是指 Menu 維度和 Flight 事實(shí)。
確定關(guān)系用于解決多對多關(guān)聯(lián)。
對于雪花模式的架構(gòu)師來說,最重要的一點(diǎn)就是識別多對多關(guān)系。簡單對象視圖可能會使設(shè)計(jì)員理解概念,而生成的數(shù)據(jù)視圖有助于進(jìn)一步深入有關(guān)實(shí)現(xiàn)的問題。
數(shù)據(jù)挖掘可以從隱藏在操作系統(tǒng)表面下的數(shù)據(jù)中發(fā)現(xiàn)信息。我們想了解的一個(gè)問題就是選定菜單與乘客統(tǒng)計(jì)資料之間的依賴關(guān)系。
乘客統(tǒng)計(jì)資料數(shù)據(jù)可以在 Passenger 維度的層次上構(gòu)建。乘客可以根據(jù)郵政編碼分組,然后再按國家進(jìn)行分組。
層次通過使用聚合來指定。聚合定義了所包括的內(nèi)容。Country 包含了 ZIP 編碼,ZIP 編碼包含了多名 Passenger 信息。
最終通過使用外鍵實(shí)現(xiàn)了聚合。
點(diǎn)擊查看大圖
生成的約束仍然沒有在圖中表示出來。
使用聚合,維度可以在任何定義的級別上使用。分析空間可以通過 Passenger、ZIP Code或者 Country 進(jìn)行切片。
隨著數(shù)據(jù)倉庫架構(gòu)師不斷地添加細(xì)節(jié)內(nèi)容,雪花模式變得越來越復(fù)雜。因此設(shè)計(jì)過程必須在到達(dá)某種程度后停止以保持數(shù)據(jù)倉庫運(yùn)行良好。
星型或者雪花模式仍然僅僅關(guān)注于一個(gè)事實(shí)--在本例中就是Flight。那么復(fù)雜關(guān)系又是什么情況呢?
對于每個(gè)事實(shí)我們都必須設(shè)計(jì)其各自的模式。如果我們想要進(jìn)行復(fù)雜查詢的話,它們就必須具有共同的維度--我們稱其為一致的維度。
讓我們使用 Pilot 作為一個(gè)維度,PilotFlight 作為一個(gè)事實(shí)來定義第二個(gè)星型模式。我們還要使用附加的 Flight Schedule 維度和 Time 維度。
第二個(gè)模式可以單獨(dú)使用或者與 Passenger 模式結(jié)合使用,從而根據(jù)使用一致維度的飛行員維度來查詢 Passenger 的滿意程度。
即使在使用一致維度的數(shù)據(jù)倉庫的簡單結(jié)構(gòu)中,Pilot 與 Passenger 之間的關(guān)系也是簡單的。
在開發(fā)數(shù)據(jù)模型時(shí),數(shù)據(jù)倉庫將大量小型星型模式與雪花模式相結(jié)合形成了大型的數(shù)據(jù)倉庫模式。
我們想要評估乘客對于飛行的滿意率??梢允褂貌粷M意到很滿意幾個(gè)級別進(jìn)行評定。評定記錄存放在事實(shí)表 Flight 中作為一個(gè)屬性(列)。
如果我們想要得出一個(gè)平均記錄,那么就必須為記錄定義值以進(jìn)行計(jì)算。我們可以將記錄分為 0 到 10 級。這樣就可以得到一個(gè)平均記錄。平均值應(yīng)該存儲在維度表中,以用于簡單的切片,其中我們只想進(jìn)行一維切片。
Rational Rose 根據(jù)目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型生成了實(shí)現(xiàn)屬性。對象模型是用來定義數(shù)據(jù)庫的數(shù)據(jù)源的。
IBM Rational Rose 是設(shè)計(jì)數(shù)據(jù)倉庫實(shí)現(xiàn)的最佳工具。
對象模型定義了有關(guān)模式的全局結(jié)構(gòu)的對象,和包括數(shù)據(jù)源的整體數(shù)據(jù)倉庫。它代表了數(shù)據(jù)倉庫中有關(guān)視圖的對象,同時(shí)隱藏了實(shí)施細(xì)節(jié)。
數(shù)據(jù)模型是數(shù)據(jù)倉庫的實(shí)現(xiàn)模型。數(shù)據(jù)模型可以從對象模型中生成,反之亦然。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時(shí)代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03