模型是實(shí)際系統(tǒng)的表示,它向用戶展現(xiàn)了重要的系統(tǒng)特征。同時(shí),模型通過消除與其目的無關(guān)緊要的特征來簡化顯示。模型是對現(xiàn)實(shí)世界進(jìn)行抽象的工具。在信息管理中需要將現(xiàn)實(shí)世界的事物及其有關(guān)特征轉(zhuǎn)換為信息世界的數(shù)據(jù)才能對信息進(jìn)行處理與管理,這就需要依靠數(shù)據(jù)模型作為這種轉(zhuǎn)換的橋梁。設(shè)計(jì)一個(gè)能夠真正支持用戶進(jìn)行決策分析的數(shù)據(jù)倉庫,并非一件輕而易舉的事情。這需要經(jīng)歷一個(gè)從現(xiàn)實(shí)環(huán)境到抽象模型,從抽象模型到具體實(shí)現(xiàn)的過程。完成這個(gè)過程建立各種不同的數(shù)據(jù)模型是必不可少的。
數(shù)據(jù)倉庫模型設(shè)計(jì)包括概念模型設(shè)計(jì)、邏輯模型設(shè)計(jì)、物理模型設(shè)計(jì)等內(nèi)容。數(shù)據(jù)倉庫的建模首先要將現(xiàn)實(shí)的決策分析環(huán)境抽象成一個(gè)概念數(shù)據(jù)模型。然后,將此概念模型邏輯化,建立邏輯數(shù)據(jù)模型。最后,還要將邏輯數(shù)據(jù)模型向數(shù)據(jù)倉庫的物理模型轉(zhuǎn)化。
數(shù)據(jù)倉庫的開發(fā)應(yīng)用像生物一樣具有其特有的、完整的生命周期,Kimball在《數(shù)據(jù)倉庫生命周期工具箱》中將數(shù)據(jù)倉庫分為七個(gè)階段,如圖1所示。

圖1 Kimball生命周期圖
Kimball將BI和技術(shù)產(chǎn)品都包括在內(nèi),適用于一個(gè)數(shù)倉從頭開始構(gòu)建,本文主要針對基礎(chǔ)設(shè)施已經(jīng)建成的數(shù)據(jù)倉庫,所以將數(shù)據(jù)倉庫的開發(fā)應(yīng)用周期簡化分成:數(shù)據(jù)倉庫規(guī)劃階段、數(shù)據(jù)倉庫設(shè)計(jì)階段以及數(shù)據(jù)倉庫的使用維護(hù)三個(gè)階段。
這三個(gè)階段是一個(gè)不斷循環(huán)、完善、提高的過程。在一般情況下數(shù)據(jù)倉庫系統(tǒng)不可能在一個(gè)循環(huán)過程中完成,而是經(jīng)過多次循環(huán)開發(fā),每次循環(huán)都會(huì)為系統(tǒng)增加新的功能,使數(shù)據(jù)倉庫的應(yīng)用得到新的提高。

圖2 數(shù)據(jù)倉庫開發(fā)應(yīng)用生命周期
一數(shù)據(jù)倉庫的規(guī)劃1.1選擇數(shù)據(jù)倉庫實(shí)現(xiàn)策略
開發(fā)策略主要有兩種,一種是自頂向下,實(shí)際應(yīng)用比較困難;另一種是個(gè)自底向上,用于一個(gè)數(shù)據(jù)集市或一個(gè)部門的數(shù)據(jù)倉庫開發(fā) ,容易獲得成功 。
兩種策略的聯(lián)合使用,能夠快速地完成數(shù)據(jù)倉庫的開發(fā)與應(yīng)用,而且還可以建立具有長遠(yuǎn)價(jià)值的數(shù)據(jù)倉庫方案。在實(shí)際使用中難以操作 。
1.2確定數(shù)據(jù)倉庫的開發(fā)目標(biāo)和實(shí)現(xiàn)范圍
首要目標(biāo)是確定所需要信息的范圍,確定數(shù)據(jù)倉庫在為用戶提供決策幫助時(shí),在主題和指標(biāo)領(lǐng)域需要哪些數(shù)據(jù)源。另一個(gè)重要目標(biāo)是確定利用哪些方法和工具訪問和導(dǎo)航數(shù)據(jù)?其它目標(biāo)包括確定數(shù)據(jù)倉庫內(nèi)部數(shù)據(jù)的規(guī)模,使用范圍確定。可以從用戶的角度和從技術(shù)的角度兩個(gè)方面分析。
1.3數(shù)據(jù)倉庫建設(shè)規(guī)劃及預(yù)算
實(shí)際使用方案是一個(gè)非常重要的需求原型,可以將最終用戶的決策支持要求與數(shù)據(jù)倉庫的技術(shù)要求聯(lián)系起來。說明系統(tǒng)與企業(yè)戰(zhàn)略目標(biāo)的關(guān)系,系統(tǒng)與企業(yè)急需處理的、范圍相對有限的開發(fā)機(jī)會(huì)。業(yè)務(wù)機(jī)會(huì)的說明以及任務(wù)概況說明、重點(diǎn)支持的職能部門和今后工作的建議。計(jì)劃中需要闡明期望取得的有形和無形利益。業(yè)務(wù)價(jià)值計(jì)劃最好由目標(biāo)業(yè)務(wù)主管來完成。規(guī)劃書中要確定數(shù)據(jù)倉庫的開發(fā)目標(biāo)實(shí)現(xiàn)范圍、體系結(jié)構(gòu)和使用方案及開發(fā)預(yù)算。
二數(shù)據(jù)倉庫的概念模型設(shè)計(jì)
數(shù)據(jù)倉庫概念模型設(shè)計(jì)的目的是對數(shù)據(jù)倉庫所涉及現(xiàn)實(shí)世界的所有客觀實(shí)體進(jìn)行科學(xué)、全面地分析和抽象,制定構(gòu)建數(shù)據(jù)倉庫的“藍(lán)圖”。數(shù)據(jù)倉庫的概念模型設(shè)計(jì)時(shí)需要確定數(shù)據(jù)倉庫的主要主題及其相互關(guān)系。主題應(yīng)該能夠完整、統(tǒng)一地刻畫出分析對象所涉及的各項(xiàng)數(shù)據(jù)以及相互聯(lián)系,根據(jù)需求分析確定幾個(gè)基本的主題域及其維度。概念模型設(shè)計(jì)主要完成以下工作:
1、界定系統(tǒng)邊界
即進(jìn)行任務(wù)和環(huán)境評估、需求收集和分析,了解用戶迫切需要解決的問題及解決這些問題所需要的信息,需要對現(xiàn)有數(shù)據(jù)庫中的數(shù)據(jù)有一個(gè)完整而清晰的認(rèn)識(shí)。
2、確定主要的主題域
對每一個(gè)主題域的公共碼鍵、主題域之間的聯(lián)系、充分代表主題的屬性進(jìn)行較明確的描述。
3、確定分析的維度和分析的內(nèi)容
一旦主題劃分清楚了,接著就要細(xì)化分析的具體內(nèi)容以及根據(jù)分析內(nèi)容的性質(zhì)確定分析維度。通常維元素對應(yīng)的是分析角度,而度量對應(yīng)的是分析關(guān)心的具體指標(biāo)。一個(gè)指標(biāo)究竟是作為維元素、度量還是維屬性,取決于具體的業(yè)務(wù)需求,一般情況下,作為維元素或維屬性的通常是離散型的數(shù)據(jù),只允許有限的取值;作為度量是連續(xù)型數(shù)據(jù),取值無限。如果一定要用連續(xù)型數(shù)據(jù)作為維元素,則必須對其按取值進(jìn)行分段,以分段值作為實(shí)際的維元素。判斷分析指標(biāo)是作為維元素還是維屬性時(shí),則需要綜合考慮這個(gè)指標(biāo)占用的存儲(chǔ)空間與相關(guān)查詢的使用頻度。
概念模型的設(shè)計(jì)可以分為以下幾個(gè)階段:用戶需求調(diào)查、模型定義、模型分析和模型設(shè)計(jì)。
2.1企業(yè)模型的建立
進(jìn)行數(shù)據(jù)倉庫數(shù)據(jù)建模之前,對數(shù)據(jù)倉庫的需求進(jìn)行分析是必不可少的,數(shù)據(jù)倉庫需求分析需要對來自多個(gè)領(lǐng)域的需求進(jìn)行詳細(xì)分析。需求分析的方式有兩種:一是對原有固定報(bào)表進(jìn)行分析;二是對業(yè)務(wù)人員進(jìn)行訪談。原有固定報(bào)表能較好地反映出原業(yè)務(wù)對數(shù)據(jù)分析的需求,而且數(shù)據(jù)含義和格式相對成熟、穩(wěn)定,在模型設(shè)計(jì)中需要大量借鑒。但數(shù)據(jù)倉庫建設(shè)中僅僅替代目前的手工報(bào)表還是不夠的,因此還應(yīng)該通過業(yè)務(wù)訪談,進(jìn)一步挖掘出日常工作中潛在的更廣、更深的分析需求。只有這樣,才能真正了解構(gòu)建數(shù)據(jù)倉庫模型所需的主題劃分,數(shù)據(jù)倉庫的主題劃分實(shí)際上與分析內(nèi)容的范圍直接相關(guān)。
最終用戶的需求體現(xiàn)在對工作流程的分析、決策的查詢需求、報(bào)表需求、操作需求和數(shù)據(jù)需求等方面。
數(shù)據(jù)倉庫的最終用戶只能通過查詢和報(bào)表工具以及數(shù)據(jù)倉庫內(nèi)部信息的某種映射關(guān)系來訪問數(shù)據(jù)倉庫內(nèi)部數(shù)據(jù),對他們而言,數(shù)據(jù)倉庫是一個(gè)黑箱。
最終用戶指定數(shù)據(jù)分析的類型,這些數(shù)據(jù)分析操作主要是對數(shù)據(jù)項(xiàng)進(jìn)行揭示更多的細(xì)節(jié)的分片和細(xì)剖,尋找企業(yè)隱含行為的數(shù)據(jù)挖掘,在對數(shù)據(jù)進(jìn)行分析時(shí)可從二維或多維的、電子表格的、關(guān)系的、報(bào)表的、圖表的和運(yùn)營樣本的數(shù)據(jù)等方面進(jìn)行分析。
|
決策分析問題
|
客戶購買商品趨勢分析
|
|
需求信息類
|
日期
|
地點(diǎn)
|
商品
|
客戶年齡組
|
客戶經(jīng)濟(jì)狀況
|
客戶信用
|
|
需求信息1層
需求信息2層
需求信息3層
需求信息4層
需求信息5層
……
|
年(4)
季(16)
月(48)
……
|
國家(15)
省(60)
市(200)
……
|
商品種類(7)
商品小類(40)
……
|
年齡組(8)
……
|
經(jīng)濟(jì)類(10)
……
|
信用(10)
……
|
表1 數(shù)據(jù)倉庫用戶的決策分析工具
|
|
Oracle
|
Sysbase
|
SQL Server
|
VFP
|
其它模式
|
|
銷售單輸入
|
√
|
|
|
√
|
|
|
銷售單處理
|
√
|
|
|
√
|
|
|
商品管理
|
|
√
|
|
|
|
|
預(yù)算系統(tǒng)
|
|
|
|
|
√(Excel)
|
|
財(cái)務(wù)計(jì)算
|
|
|
√
|
|
|
|
庫存控制
|
|
|
√
|
|
|
|
后勤
|
|
|
|
√
|
|
|
外部數(shù)據(jù)源
|
|
商品供應(yīng)商
|
|
|
|
√
|
|
|
市場調(diào)查公司
|
|
|
√
|
|
|
表2 支持決策的數(shù)據(jù)需求分析工具
下面以A公司為背景,該公司是一家大型跨國生產(chǎn)公司,其產(chǎn)品主要包括生產(chǎn)金屬和復(fù)合材料的自行車,公司總部設(shè)在中國的北京市,有500名雇員,該公司在世界各地均建立了區(qū)域性銷售團(tuán)隊(duì),產(chǎn)品遠(yuǎn)銷北美、歐洲和亞洲市場。A公司目前的目標(biāo)是專注于向高端用戶提供產(chǎn)品,通過外部網(wǎng)站擴(kuò)展其產(chǎn)品的銷售渠道、通過降低生產(chǎn)成本來削減其銷售成本。
下面將通過介紹該公司的原材料采購、生產(chǎn)和銷售等環(huán)節(jié)的業(yè)務(wù)流程,提出該公司的數(shù)據(jù)倉庫需求。
1、原材料采購業(yè)務(wù)流程
A公司內(nèi)部由采購部負(fù)責(zé)原材料采購,采購部門下設(shè)一個(gè)經(jīng)理和多個(gè)采購員。每個(gè)采購員需要了解原材料和供應(yīng)商的聯(lián)系,負(fù)責(zé)多種原材料的采購,一種原材料只能由一個(gè)采購員采購,采購員和商品之間是一對多關(guān)系;一種原材料有多個(gè)供應(yīng)商,一個(gè)供應(yīng)商可以提供多種原材料,原材料和供應(yīng)商之間是多對多的關(guān)系;采購部門經(jīng)理需要管理員工,并且還需要了解原材料的庫存情況,以確定需要采購的商品并將任務(wù)分配給每個(gè)采購人員。
2、庫存業(yè)務(wù)流程
A公司由倉庫管理部門對原材料、產(chǎn)品等物料信息進(jìn)行庫存管理,倉庫管理部門管理多個(gè)倉庫,下設(shè)一個(gè)經(jīng)理和多個(gè)倉庫管理員,每個(gè)倉庫有多個(gè)倉庫管理員,每個(gè)管理員只能在一個(gè)倉庫中進(jìn)行工作。倉庫管理員需要知道他所管理的倉庫中存儲(chǔ)的物料的種類、數(shù)量、存儲(chǔ)的時(shí)間、原材料的保值期及原材料進(jìn)入倉庫和離開倉庫的時(shí)間等信息。一個(gè)倉庫可以保存多種物料。倉庫管理部門經(jīng)理不但需要處理倉庫管理員需要的數(shù)據(jù),而且需要知道倉庫管理員的基本信息,如家庭地址、聯(lián)系電話等。
3、產(chǎn)品銷售業(yè)務(wù)流程
A公司的產(chǎn)品遠(yuǎn)銷北美、歐洲和亞洲市場。公司目前有網(wǎng)絡(luò)銷售和批發(fā)商銷售兩種銷售渠道。因此,客戶也分為個(gè)人消費(fèi)者和商店兩類,個(gè)人消費(fèi)者是從在線商店購買產(chǎn)品的消費(fèi)者,商店是從A公司銷售代表處購買產(chǎn)品后進(jìn)行轉(zhuǎn)售的零售店或批發(fā)店。銷售人員關(guān)心產(chǎn)品的信息,包括:產(chǎn)品的價(jià)格、質(zhì)量、顏色和規(guī)格等,以便向顧客推銷相關(guān)的產(chǎn)品。銷售部門經(jīng)理需要了解產(chǎn)品銷售情況, 以便在某種產(chǎn)品缺貨時(shí)通知倉庫管理部門運(yùn)送商品;同時(shí),他還需要了解每個(gè)銷售員的工作業(yè)績,對每個(gè)銷售員進(jìn)行考核,即銷售部門經(jīng)理需要了解商品、顧客和部門員工的情況。
在設(shè)計(jì)數(shù)據(jù)倉庫數(shù)據(jù)模型時(shí)要從業(yè)務(wù)蘊(yùn)涵的數(shù)據(jù)視角來理解業(yè)務(wù),從業(yè)務(wù)分析中可以看出,不同部門對數(shù)據(jù)需求不同,同一部門人員對數(shù)據(jù)需求也存在差異。如管理人員和普通業(yè)務(wù)人員對數(shù)據(jù)要求的程度是不同的,管理人員可能需要綜合度較高或較為概括的數(shù)據(jù),而普通業(yè)務(wù)人員需要細(xì)節(jié)數(shù)據(jù)。因此,數(shù)據(jù)倉庫項(xiàng)目需求的收集與分析需要從歷史數(shù)據(jù)與用戶需求兩個(gè)方面同時(shí)著手,采用“數(shù)據(jù)驅(qū)動(dòng)+用戶驅(qū)動(dòng)”的設(shè)計(jì)理念。
2.2規(guī)范的數(shù)據(jù)模型
關(guān)系模型是具有二維表格形式的數(shù)據(jù)模型,它建立在關(guān)系代數(shù)的基礎(chǔ)上。是傳統(tǒng)數(shù)據(jù)庫中最常用的數(shù)據(jù)模型,其特點(diǎn)是把數(shù)據(jù)組織成二維表的形式,無論是實(shí)體還是實(shí)體間的聯(lián)系都采用二維表,二維表的每一行叫作關(guān)系的一個(gè)元組,每一列叫作關(guān)系的一個(gè)屬性。關(guān)系中的每一列的值總是取自一個(gè)集合,這個(gè)集合稱為域。
關(guān)系模型可以用實(shí)體-聯(lián)系 (Entity-Relationship簡稱E-R)圖來表示。E-R圖通過定義了數(shù)據(jù)間的關(guān)系,去除數(shù)據(jù)冗余,使操作型處理簡單,還可保證數(shù)據(jù)一致性。因此,關(guān)系模型在傳統(tǒng)的操作型數(shù)據(jù)庫系統(tǒng)中獲得了巨大的成功。
范式是關(guān)系數(shù)據(jù)庫模型設(shè)計(jì)的基本理論,一個(gè)關(guān)系模型可以從第一范式到第五范式進(jìn)行無損分解,這個(gè)過程也稱為規(guī)范化(Normalize)。
A公司的業(yè)務(wù)數(shù)據(jù)分為5大部分,如表3所示。
|
表類名
|
含義
|
|
Human resources
|
人力資源相關(guān)信息
|
|
Person
|
客戶或供應(yīng)商聯(lián)系人等人員信息
|
|
Production
|
產(chǎn)品信息
|
|
Purchasing
|
采購信息
|
|
Sales
|
銷售信息
|
表3 A公司的數(shù)據(jù)架構(gòu)列表
這5個(gè)架構(gòu)相關(guān)的表信息如表4所示。


表4 A公司的數(shù)據(jù)表信息

表5 A公司Purchasing purchase orderheader的表結(jié)構(gòu)
在實(shí)際設(shè)計(jì)中用于數(shù)據(jù)倉庫設(shè)計(jì)的概念模型與業(yè)務(wù)數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)模型仍然具有一定的差距。
數(shù)據(jù)類型的差距:數(shù)據(jù)倉庫的概念模型只包含用戶所感興趣的分析數(shù)據(jù)、描述數(shù)據(jù)和細(xì)節(jié)數(shù)據(jù)。
數(shù)據(jù)的歷史變遷性:數(shù)據(jù)倉庫的概念模型擴(kuò)充了關(guān)鍵字結(jié)構(gòu),增加了時(shí)間屬性并作為關(guān)鍵字的一部分。
數(shù)據(jù)的概括性:數(shù)據(jù)倉庫的概念模型中還增加了一些基本數(shù)據(jù)所導(dǎo)出的衍生數(shù)據(jù)用于管理決策分析,這些在業(yè)務(wù)處理系統(tǒng)中是不存在的。
數(shù)據(jù)倉庫項(xiàng)目需求的收集與分析需要從歷史數(shù)據(jù)與用戶需求兩個(gè)方面同時(shí)著手,采用“數(shù)據(jù)驅(qū)動(dòng)+用戶驅(qū)動(dòng)”的設(shè)計(jì)理念。
數(shù)據(jù)驅(qū)動(dòng)是根據(jù)當(dāng)前業(yè)務(wù)數(shù)據(jù)的基礎(chǔ)和質(zhì)量情況,以數(shù)據(jù)源的分析為出發(fā)點(diǎn)構(gòu)建數(shù)據(jù)倉庫,用戶驅(qū)動(dòng)則是根據(jù)用戶業(yè)務(wù)的方向性需求,從業(yè)務(wù)需求出發(fā),確定系統(tǒng)范圍的需求框架。如圖3所示,常常用“兩頭擠法”找出數(shù)據(jù)倉庫系統(tǒng)的真正需求。

圖3 用戶驅(qū)動(dòng)與數(shù)據(jù)驅(qū)動(dòng)相結(jié)合示意圖
在企業(yè)模型建立過程中,與用戶交流時(shí),須確定數(shù)據(jù)倉庫需要訪問的有關(guān)信息。例如,A公司管理要在數(shù)據(jù)倉庫中得到有關(guān)產(chǎn)品銷售收入的詳細(xì)統(tǒng)計(jì)信息,可以確定其度量指標(biāo)如下:
度量指標(biāo):包括產(chǎn)品銷售的實(shí)際收入、產(chǎn)品銷售的預(yù)算收入及產(chǎn)品銷售的估計(jì)收入。
維度指標(biāo):包括已經(jīng)銷售的產(chǎn)品信息、銷售地點(diǎn)和顧客信息等。
根據(jù)分析,可建立A公司的企業(yè)數(shù)據(jù)模型如圖4所示。

圖4 A公司企業(yè)數(shù)據(jù)模型
2.3常見的概念模型
在概念模型設(shè)計(jì)中,常用E-R圖作為描述工具。E-R圖中,長方體表示實(shí)體,即數(shù)據(jù)倉庫的主題域,框內(nèi)寫上主題域名稱;用橢圓表示主題域的屬性,用無向邊把主題域與其屬性連接起來;再將邊表示主題域之間的聯(lián)系,主要有一對一的關(guān)系、一對多的關(guān)系、多對多的關(guān)系。
主題,是指在較高層次上將業(yè)務(wù)數(shù)據(jù)進(jìn)行綜合、歸類和分析的一個(gè)抽象概念,每個(gè)主題基本對應(yīng)業(yè)務(wù)的一個(gè)分析領(lǐng)域。在主題分析中須對分析對象數(shù)據(jù)形成一個(gè)完整并且一致的描述,主題是根據(jù)分析需求確定的。主題域是對某個(gè)主題進(jìn)行分析后確定的主題邊界。主題域的確定通常由最終用戶和數(shù)據(jù)倉庫的設(shè)計(jì)人員共同完成。
例如,對于A公司的管理層可能需要分析的主題包括供應(yīng)商、商品、客戶和庫存情況等主題。其中商品主題的內(nèi)容包括記錄各經(jīng)銷商商品的銷售情況、公司商品庫存情況、商品中各組成物料的采購情況等;客戶主題包括的內(nèi)容有客戶購買商品情況;庫存情況主題分析主要包括商品的存儲(chǔ)情況和倉庫的管理情況等。根據(jù)分析主題和主題域可得到A公司的主題及主題域結(jié)構(gòu)如圖5所示。

圖5 A公司主題及主題域劃分
接著可以用建立信息包圖的方式進(jìn)一步細(xì)化概念模型。信息包圖是在某主題域中的一個(gè)主題分析的信息打包技術(shù),它反映了在數(shù)據(jù)聚合條件下的多維數(shù)據(jù)在計(jì)算機(jī)內(nèi)部的存儲(chǔ)方式,可以體現(xiàn)各個(gè)不同平臺(tái)的各個(gè)信息的聚合的概念性含義,主要包括定義指標(biāo)、定義維度、和定義類別三個(gè)方面的內(nèi)容。信息包圖法也叫用戶信息需求表法,就是在一張平面表格上描述元素的多維性,其中每一個(gè)維度用平面表格的一列表示,例如時(shí)間、地點(diǎn)、產(chǎn)品和顧客等。信息包圖定義主題內(nèi)容和主要性能指標(biāo)之間的關(guān)系,其目標(biāo)是在概念層滿足用戶需求。信息包圖擁有三個(gè)重要對象:度量指標(biāo)、維度、類別。利用信息包圖設(shè)計(jì)概念模型就是要確定這三方面內(nèi)容。
確定度量指標(biāo)。度量指標(biāo)表明在維度空間衡量業(yè)務(wù)信息的一種方法,是訪問數(shù)據(jù)倉庫的關(guān)鍵所在,是用戶最關(guān)心的信息。成功的信息包可以保證用戶從信息包中獲取需要的各個(gè)性能指標(biāo)參數(shù)。
確定維度。維度提供了用戶訪問數(shù)據(jù)倉庫信息的途徑,對應(yīng)超立方體的每一面,位于信息包圖第一行的每一個(gè)欄目中。
確定類別。類別是在一個(gè)維度內(nèi)為了提供詳細(xì)分類而定義的,其成員是為了辨別和區(qū)分特定數(shù)據(jù)而設(shè),它說明一個(gè)維度包含的詳細(xì)信息,一個(gè)維度內(nèi)最底層的可用分類又稱為詳細(xì)類別。
例如:A公司銷售分析主題的信息包圖如表4所示。

注:度量指標(biāo)包括實(shí)際銷售額、計(jì)劃銷售額、計(jì)劃完成率。
表6 A公司銷售分析主題的信息包圖
雖然數(shù)據(jù)倉庫的基礎(chǔ)是規(guī)范化的數(shù)據(jù)模型,規(guī)范化數(shù)據(jù)模型在數(shù)據(jù)倉庫的實(shí)際應(yīng)用中并不理想。關(guān)系模型在傳統(tǒng)的操作型數(shù)據(jù)庫系統(tǒng)中獲得了巨大的成功,但以E-R圖展示的關(guān)系模型不適用于以查詢?yōu)橹鞯臄?shù)據(jù)倉庫系統(tǒng)。在完全規(guī)范化的環(huán)境中,數(shù)據(jù)模型形成的數(shù)據(jù)表的數(shù)據(jù)量都是比較小的,為完成對這些“小”表的處理需要應(yīng)用程序?qū)@些表進(jìn)行動(dòng)態(tài)互聯(lián)操作,這需要在不同表之間進(jìn)行多個(gè)I/O操作,對于數(shù)據(jù)量十分龐大的數(shù)據(jù)倉庫,這種多表連接操作的時(shí)間代價(jià)太大,對決策效率的提高非常不利。
因此在數(shù)據(jù)倉庫中需要進(jìn)行數(shù)據(jù)的非規(guī)范化的處理,以減少對表聯(lián)接的需求,提高數(shù)據(jù)倉庫性能,提高查詢效率,同時(shí)也減少編寫專門決策支持應(yīng)用程序的必要性,可以讓用戶運(yùn)用一些專門的查詢工具,更容易地訪問數(shù)據(jù),用戶還能以直觀的易于理解的工具查看數(shù)據(jù)。因此,在數(shù)據(jù)倉庫的模型構(gòu)建中,有時(shí)為了提高數(shù)據(jù)倉庫的運(yùn)行效率,需要進(jìn)行數(shù)據(jù)模型的反規(guī)范化處理。因?yàn)閿?shù)據(jù)倉庫屬于分析型應(yīng)用系統(tǒng),系統(tǒng)的使用者是分析人員、決策人員,對他們而言,記住實(shí)體-關(guān)系及其屬性是不可能的,因此系統(tǒng)的分析操作難以從具體的屬性入手進(jìn)行,而要基于集成或某種主題來組織數(shù)據(jù)。分析型應(yīng)用需要的是快速、靈活、直觀的數(shù)據(jù)檢索也是關(guān)系模型無法支持的,這就要求尋找新的數(shù)據(jù)模型。
數(shù)據(jù)倉庫數(shù)據(jù)模型設(shè)計(jì)的核心問題是多維數(shù)據(jù)的表示與存儲(chǔ)的問題,因此多維數(shù)據(jù)模型成為當(dāng)前數(shù)據(jù)倉庫數(shù)據(jù)模型設(shè)計(jì)時(shí)的首選。多維數(shù)據(jù)建模以直觀的方式組織數(shù)據(jù),支持高性能的數(shù)據(jù)訪問。多維數(shù)據(jù)模型較為普遍地采用星型模型、雪花模型的模式。
1、星型模型
星型模型是一種多維的數(shù)據(jù)關(guān)系,它由一個(gè)主題事實(shí)表(Fact Table)和一組維表(Dimens ion Table)組成。每個(gè)維表都有一個(gè)維主鍵,所有這些維主鍵組合成事實(shí)表的主鍵,換言之,事實(shí)表主鍵的每個(gè)元素都是維表的外鍵。事實(shí)表的非主屬性稱為事實(shí) (Fact),它們一般都是數(shù)值或其他可以進(jìn)行計(jì)算的數(shù)據(jù);而維主鍵大都是文字、時(shí)間等類型的數(shù)據(jù)。Adventure Works Cycles公司銷售分析星型圖如圖6所示。

圖6 A公司銷售分析星型圖
星型模型速度快是在于針對各個(gè)維作了大量的預(yù)處理,如按照維進(jìn)行預(yù)先的統(tǒng)計(jì)、分類、排序等。因此,在星型模式設(shè)計(jì)的數(shù)據(jù)倉庫中,作報(bào)表的速度很快。
由于存在大量的預(yù)處理,其建模過程相對來說就比較慢。當(dāng)業(yè)務(wù)問題發(fā)生變化,原來的維不能滿足要求時(shí),需要增加新的維。由于事實(shí)表的主鍵由所有維表的主鍵組成,這種維的變動(dòng)將是非常復(fù)雜、非常耗時(shí)的。星型模式另一個(gè)顯著的缺點(diǎn)是數(shù)據(jù)的冗余量很大。星型模式比較適合于預(yù)先定義好的問題,如需要產(chǎn)生大量報(bào)表的場合;而不適合于動(dòng)態(tài)查詢多、系統(tǒng)可擴(kuò)展能力要求高或者數(shù)據(jù)量很大的場合。因此,星型模式在一些要求大量報(bào)表的部門數(shù)據(jù)集市中有較多的應(yīng)用。
2、雪花模型
雪花模型是對星型模型的擴(kuò)展。設(shè)計(jì)星型模型時(shí)確定了概念模型中的指標(biāo)實(shí)體和維度實(shí)體,當(dāng)構(gòu)成星型模型后,為了對相關(guān)維度進(jìn)行更加深入的分析,經(jīng)常要設(shè)計(jì)雪花模型,在星型模型的維度實(shí)體增加需要進(jìn)行深入分析的詳細(xì)類別實(shí)體。雪花模型對星型模型的維度表進(jìn)一步標(biāo)準(zhǔn)化,對星型模型中的維表進(jìn)行了規(guī)范化處理。雪花模型通過對維表的分類細(xì)化描述,對于主題的分類詳細(xì)查詢具有良好的響應(yīng)能力。但由于雪花模型的構(gòu)造在本質(zhì)上是一種數(shù)據(jù)模型的規(guī)范化處理,會(huì)給數(shù)據(jù)倉庫不同表的聯(lián)接操作帶來困難。A公司銷售分析雪花模型如圖7所示。

圖7 A公司銷售分析雪花模型圖
完成概念模型設(shè)計(jì)以后,必須編制數(shù)據(jù)倉庫開發(fā)的概念模型文檔,并對概念模型進(jìn)行評價(jià)。
(1)概念模型設(shè)計(jì)文檔
數(shù)據(jù)倉庫開發(fā)需求分析報(bào)告
概念模型分析報(bào)告
概念模型
概念模型的評審報(bào)告。
(2)概念模型的評審
確定概念模型是否完整地、準(zhǔn)確地描述了用戶的決策分析環(huán)境。確認(rèn)用戶是否已經(jīng)和項(xiàng)目開發(fā)成員之間建立了穩(wěn)定的聯(lián)系。
(3)概念模型的評審人員
數(shù)據(jù)倉庫項(xiàng)目負(fù)責(zé)人、數(shù)據(jù)倉庫分析人員、數(shù)據(jù)倉庫設(shè)計(jì)人員和數(shù)據(jù)倉庫用戶。
(4)概念模型的評審內(nèi)容
數(shù)據(jù)倉庫開發(fā)任務(wù)書;用戶決策分析信息需求調(diào)查表;數(shù)據(jù)倉庫主題;E-R圖、星型模型和雪花模型。
三數(shù)據(jù)倉庫的邏輯模型設(shè)計(jì)
邏輯建模是數(shù)據(jù)倉庫建模中的重要一環(huán),是概念模型到物理模型轉(zhuǎn)換的橋梁。它能直接反映出業(yè)務(wù)部門的需求,同時(shí)對系統(tǒng)的物理實(shí)施有著重要的指導(dǎo)作用,它通過實(shí)體和關(guān)系勾勒出整個(gè)企業(yè)的數(shù)據(jù)藍(lán)圖。
數(shù)據(jù)倉庫的數(shù)據(jù)模型與傳統(tǒng)數(shù)據(jù)庫相比,主要區(qū)別如下:
數(shù)據(jù)倉庫的數(shù)據(jù)模型不包含純操作型的數(shù)據(jù)。
數(shù)據(jù)倉庫的數(shù)據(jù)模型擴(kuò)充了碼結(jié)構(gòu),增加了時(shí)間屬性作為碼的一部分。
數(shù)據(jù)倉庫的數(shù)據(jù)模型增加了一些導(dǎo)出數(shù)據(jù)。
數(shù)據(jù)倉庫的邏輯模型與數(shù)據(jù)倉庫物理實(shí)現(xiàn)時(shí)所使用的數(shù)據(jù)庫有關(guān),由于目前數(shù)據(jù)倉庫一般都建立在關(guān)系數(shù)據(jù)庫的基礎(chǔ)上,因此數(shù)據(jù)倉庫設(shè)計(jì)過程中所采用的邏輯模型主要是關(guān)系模型。關(guān)系模型概念簡單、清晰,用戶易懂、易用,有嚴(yán)格的數(shù)學(xué)基礎(chǔ)和在此基礎(chǔ)上的數(shù)據(jù)關(guān)系理論。
在進(jìn)行數(shù)據(jù)倉庫的邏輯模型設(shè)計(jì)時(shí),一般需要完成主題分析、建立維度模型、確定粒度層次劃分、確定數(shù)據(jù)分割策略等工作。
數(shù)據(jù)倉庫是面向主題的,建立數(shù)據(jù)倉庫要按照主題來建模,主題域的劃分是數(shù)據(jù)倉庫的基礎(chǔ)和成敗的關(guān)鍵。邏輯模型中主題分析是對概念模型設(shè)計(jì)階段中確定的多個(gè)基本主題進(jìn)行進(jìn)一步分析,并建立某主題分析的維度模型。因此,在邏輯模型建模過程中進(jìn)行的工作主要有:
事實(shí)表模型設(shè)計(jì)。分析豐富主題域,確定當(dāng)前要裝載的主題,進(jìn)行事實(shí)表模型設(shè)計(jì)。
維度表模型設(shè)計(jì)。維度建模的目的是在為用戶提供一組全局?jǐn)?shù)據(jù)視圖的基礎(chǔ)上進(jìn)行某一主題的業(yè)務(wù)分析。因?yàn)樵跀?shù)據(jù)倉庫的維度建模技術(shù)中,主要從用戶需求范圍出發(fā),考慮指標(biāo)和維度及其各種主題下的分析參數(shù)。
關(guān)系模式定義。數(shù)據(jù)倉庫的每個(gè)主題都是由多個(gè)表來實(shí)現(xiàn)的,這些表之間依靠主題的公共碼鍵聯(lián)系在一起,形成一個(gè)完整的主題。在概念模型設(shè)計(jì)時(shí),確定了數(shù)據(jù)倉庫的基本主題,并對每個(gè)主題的公共碼鍵、基本內(nèi)容等做了描述。在這里,將要對選定的當(dāng)前實(shí)施的主題進(jìn)行模式劃分,形成多個(gè)表,并確定各個(gè)表的關(guān)系模式。
3.1事實(shí)表模型設(shè)計(jì)
數(shù)據(jù)倉庫的設(shè)計(jì)方法是一個(gè)逐步求精的過程,在進(jìn)行設(shè)計(jì)時(shí),一般是一次一個(gè)主題或一次若干個(gè)主題地逐步完成的。所以,必須對概念模型設(shè)計(jì)步驟中確定的幾個(gè)基本主題域進(jìn)行分析,一并選擇首先要實(shí)施的主題域。
選擇一個(gè)主題域所要考慮的是它要足夠大,以便使得該主題域能建設(shè)成為一個(gè)可應(yīng)用的系統(tǒng);還要考慮它足夠小,以便于開發(fā)和較快地實(shí)施。如果所選擇的主題域很大并且很復(fù)雜,可以針對它的一個(gè)有意義的子集來進(jìn)行開發(fā)。在每一次的反饋過程中,都要進(jìn)行主題域的分析。
下面以A公司為例,可以在“商品”、“銷售”和“客戶”等主題上增加能進(jìn)一步說明主題的屬性組,如表7所示。

表7 A公司部分主題的詳細(xì)描述
度量是客戶發(fā)生事件或動(dòng)作的事實(shí)記錄。例如客戶購買商品,度量指標(biāo)有購買次數(shù)、購買商品的金額、購買商品的數(shù)量等。度量變量的取值可以是離散的數(shù)值,也可以是連續(xù)的數(shù)值,還可以在某個(gè)元素集合內(nèi)取值。例如:客戶對公司服務(wù)質(zhì)量評價(jià)可以是“優(yōu)”、“良”、“中”、“差”集合中的一個(gè);客戶購買商品的金額是連續(xù)的數(shù)值;客戶購買商品次數(shù)是離散的數(shù)值。
事實(shí)表是在星型模型或雪花模型中用來記錄業(yè)務(wù)事實(shí)并作相應(yīng)指標(biāo)統(tǒng)計(jì)的表,事實(shí)表有如下特征:
記錄數(shù)量多。因此事實(shí)表應(yīng)當(dāng)盡量減小一條記錄的長度,避免因事實(shí)表過大而難于管理。
事實(shí)表中除了度量變量外,其余字段都是維表或者中間表(雪花模型)的關(guān)系。
如果事實(shí)相關(guān)的維度很多,則事實(shí)表中的字段會(huì)比較多。
按照事實(shí)表中度量的可加性情況,可以把事實(shí)表及其包含的事實(shí)分為4種類型。
事務(wù)事實(shí)。以組織事件的單一事務(wù)為基礎(chǔ),通常只包含事實(shí)的次數(shù)。
快照事實(shí)。以組織在某一特定時(shí)間和特殊狀態(tài)為基礎(chǔ),即某一段時(shí)間內(nèi)才出現(xiàn)的結(jié)果
線性項(xiàng)目事實(shí)。這類事實(shí)通常用來儲(chǔ)存關(guān)于企業(yè)組織經(jīng)營項(xiàng)目的詳細(xì)信息。包括表現(xiàn)與企業(yè)相關(guān)的個(gè)別線性項(xiàng)目所有關(guān)鍵性能指標(biāo),如銷售數(shù)量、銷售金額、成本等。
事件事實(shí)。通常表示事件發(fā)生與否及一些非事實(shí)本身具備的細(xì)節(jié)。它所表現(xiàn)的是一個(gè)事件發(fā)生后的狀態(tài)變化,如哪些產(chǎn)品在促銷期間的銷售狀態(tài)(賣出還是沒有賣出)。在事實(shí)表模型設(shè)計(jì)中還需要注意到派生事實(shí)。派生事實(shí)主要有兩種。一種是可以用同一事實(shí)表中的其他事實(shí)計(jì)算得到,例如銷售中的商品銷售均價(jià)可以用商品的銷售總金額和銷售數(shù)量計(jì)算得到;另一種是非加性事實(shí),例如各種商品的利潤率等。
例如,可以設(shè)計(jì)A公司的銷售事實(shí)表模型如表8所示。

表8 A公司銷售事實(shí)表模型
3.2維度表模型設(shè)計(jì)
數(shù)據(jù)倉庫是用于決策支持的。管理人員進(jìn)行決策分析時(shí),經(jīng)常需要用一個(gè)對決策活動(dòng)有重要影響的因素進(jìn)行決策分析。這些決策分析的角度或決策分析的出發(fā)點(diǎn)就構(gòu)成了數(shù)據(jù)倉庫中的維,數(shù)據(jù)倉庫中的數(shù)據(jù)就是靠這些維來組織,維就是數(shù)據(jù)倉庫識(shí)別數(shù)據(jù)的索引。數(shù)據(jù)倉庫中的維,一般具有層次性。其水平層次由維度層次中具有相同級(jí)別的字段值構(gòu)成,垂直層次則由維度層次結(jié)構(gòu)中具有不同級(jí)別的字段值構(gòu)成。在數(shù)據(jù)倉庫設(shè)計(jì)中根據(jù)需求獲取數(shù)據(jù)倉庫的維,構(gòu)成數(shù)據(jù)倉庫的模型。數(shù)據(jù)倉庫中的多種維交點(diǎn)會(huì)構(gòu)成數(shù)據(jù)倉庫用戶需要觀察的事務(wù)。觀察事務(wù)角度不同時(shí),圍繞該事務(wù)會(huì)產(chǎn)生多個(gè)觀察角度,即產(chǎn)生了多維。數(shù)據(jù)倉庫的立方體就是一個(gè)包含用戶需要觀察數(shù)據(jù)的集合體,立方體與星型模型可以相互轉(zhuǎn)換。
維度建模的目的是在為用戶提供一組全局?jǐn)?shù)據(jù)視圖的基礎(chǔ)上進(jìn)行某一主題的業(yè)務(wù)分析。因?yàn)樵跀?shù)據(jù)倉庫的維度建模技術(shù)中,主要從用戶需求范圍出發(fā),考慮指標(biāo)和維度及其各種主題下的分析參數(shù)。
例如:根據(jù)A公司銷售情況分析,其指標(biāo)和維度及其各種主題下的分析參數(shù)可綜合如下:
某些商品是否僅僅在某一地區(qū)銷售?
每種類型商品各個(gè)時(shí)間段銷售量及銷售金額是多少?
各個(gè)客戶購買商品次數(shù)?
客戶及時(shí)付款了嗎?
各類型商品預(yù)算收入是多少?
各銷售員銷售業(yè)績?nèi)绾?
……
根據(jù)以上問題的關(guān)聯(lián)維度,形成A公司銷售情況分析的維度模型,如表9所示。

表9 A公司銷售情況分析的維度模型
在這個(gè)模型中,A公司有些決策管理者想要按照年、季、月、日的時(shí)間層次了解公司的銷售情況;有些決策管理者想要按照產(chǎn)品名稱、產(chǎn)品類別了解公司的銷售情況;有些決策管理者想要按照銷售員所在的區(qū)域?qū)哟瘟私夤镜匿N售情況;有些決策管理者想要按照國家、省(州)、城市、銷售點(diǎn)的區(qū)域?qū)哟瘟私夤镜匿N售情況;有些決策管理者想要按照客戶信用、客戶收入等層次了解公司的銷售情況。
這樣,就可以建立銷售情況分析的邏輯模型,如圖8所示。

圖8 A公司銷售情況分析的邏輯模型
最后,對邏輯模型進(jìn)行評審,并編寫邏輯模型的文檔,其內(nèi)容包括:主題域分析報(bào)告,數(shù)據(jù)粒度劃分模型,數(shù)據(jù)分割策略,指標(biāo)實(shí)體、維實(shí)體與詳細(xì)類別實(shí)體的關(guān)系模式和數(shù)據(jù)抽取模型。對邏輯模型評審主要集中在主題域是否可以正確地反映用戶的決策分析需求,其內(nèi)容包括:從用戶對概括數(shù)據(jù)使用的要求,評審數(shù)據(jù)粒度的劃分和數(shù)據(jù)分割策略是否可以滿足用戶決策分析的需要,為提高數(shù)據(jù)倉庫的運(yùn)行效率是否需要對關(guān)系模式進(jìn)行反規(guī)范化處理,數(shù)據(jù)的抽取模型是否正確地建立了數(shù)據(jù)源與數(shù)據(jù)倉庫的對應(yīng)關(guān)系,數(shù)據(jù)的約束條件和業(yè)務(wù)規(guī)則是否在這些模型中得到了正確的反映等。
四數(shù)據(jù)倉庫的物理模型設(shè)計(jì)4.1物理模型的設(shè)計(jì)要點(diǎn)
數(shù)據(jù)倉庫的物理模型就是邏輯模型在數(shù)據(jù)倉庫中的物理實(shí)現(xiàn)模式。物理模型就像大廈的基礎(chǔ)架構(gòu),數(shù)據(jù)倉庫的數(shù)據(jù)從幾百GB到幾十TB不等,即使支撐這些數(shù)據(jù)的RDBMS無論有多么強(qiáng)大,仍不可避免的要考慮到數(shù)據(jù)庫的物理設(shè)計(jì)。物理模型包括邏輯模型中各種實(shí)體表的具體化,例如表的數(shù)據(jù)結(jié)構(gòu)類型、索引策略、數(shù)據(jù)存放位置以及數(shù)據(jù)存儲(chǔ)分配等。在進(jìn)行物理模型設(shè)計(jì)時(shí),要考慮I/O存取時(shí)間、空間利用率和維護(hù)代價(jià)。
根據(jù)數(shù)據(jù)倉庫的數(shù)據(jù)量大及數(shù)據(jù)相對穩(wěn)定的特點(diǎn),可以設(shè)計(jì)索引結(jié)構(gòu)來提高數(shù)據(jù)存取效率。數(shù)據(jù)倉庫中的表通常比OLTP環(huán)境中的表建有更多的索引。通常表的最大索引數(shù)與表規(guī)模成正比。數(shù)據(jù)倉庫是只讀環(huán)境,建立索引對提高性能和靈活性都很有利。但是表索引如果太多,則會(huì)使數(shù)據(jù)加載時(shí)間加長。因此,一般按主關(guān)鍵字和大多數(shù)外部關(guān)鍵字建立索引。
確定數(shù)據(jù)倉庫的物理模型,設(shè)計(jì)人員必須做這樣幾方面工作:
確定項(xiàng)目資源,定義數(shù)據(jù)標(biāo)準(zhǔn);
確定軟硬件配置;
全面了解所選用的數(shù)據(jù)庫管理系統(tǒng),特別是存儲(chǔ)結(jié)構(gòu)和存取方法;
根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng),將實(shí)體和實(shí)體特征物理化;
了解數(shù)據(jù)環(huán)境、數(shù)據(jù)的使用頻率、使用方式、數(shù)據(jù)規(guī)模及響應(yīng)時(shí)間要求 ;
了解外部存儲(chǔ)設(shè)備的特征 。
4.2數(shù)據(jù)倉庫設(shè)計(jì)規(guī)范
數(shù)倉模型設(shè)計(jì)規(guī)范能夠保證數(shù)據(jù)倉庫的設(shè)計(jì)、實(shí)施和管理保持穩(wěn)定,不產(chǎn)生混亂,需要對物理數(shù)據(jù)模型中的實(shí)體、表、列等進(jìn)行規(guī)范化處理。使整個(gè)數(shù)據(jù)倉庫的物理數(shù)據(jù)模型能夠保持一致。規(guī)范化內(nèi)容主要有:完整清晰的數(shù)據(jù)定義、合適的數(shù)據(jù)格式等。數(shù)據(jù)倉庫中的每個(gè)組件或部件都確定相應(yīng)的設(shè)計(jì)標(biāo)準(zhǔn)。
4.3數(shù)據(jù)倉庫物理模型的存儲(chǔ)
在物理設(shè)計(jì)時(shí),常常要按數(shù)據(jù)的重要性、使用頻率及對響應(yīng)時(shí)間的要求進(jìn)行分類,并將不同類型的數(shù)據(jù)分別存儲(chǔ)在不同的存儲(chǔ)設(shè)備中。重要性高、經(jīng)常存取并對反應(yīng)時(shí)間要求高的數(shù)據(jù)存放在高速存儲(chǔ)設(shè)備上;存取頻率低或?qū)Υ嫒№憫?yīng)時(shí)間要求低的數(shù)據(jù)則可以存放在低速存儲(chǔ)設(shè)備上。另外,在設(shè)計(jì)時(shí)還要考慮數(shù)據(jù)在特定存儲(chǔ)介質(zhì)上的布局。在設(shè)計(jì)數(shù)據(jù)的布局時(shí)要注意遵循以下原則。
不要把經(jīng)常需要連接的幾張表放在同一存儲(chǔ)設(shè)備上,這樣可以利用存儲(chǔ)設(shè)備的并行操作功能加快數(shù)據(jù)查詢的速度。
如果幾臺(tái)服務(wù)器之間的連接會(huì)造成嚴(yán)重的網(wǎng)絡(luò)業(yè)務(wù)量的問題,則要考慮服務(wù)器復(fù)制表格,因?yàn)椴煌?wù)器之間的數(shù)據(jù)連接會(huì)給網(wǎng)絡(luò)帶來沉重的數(shù)據(jù)傳輸負(fù)擔(dān)。
考慮把整個(gè)企業(yè)共享的細(xì)節(jié)數(shù)據(jù)放在主機(jī)或其他集中式服務(wù)器上,提高這些共享數(shù)據(jù)的使用速度。
不要把表格和它們的索引放在同一設(shè)備上。一般可以將索引存放在高速存儲(chǔ)設(shè)備上,而表格則存放在一般存儲(chǔ)設(shè)備上,以加快數(shù)據(jù)的查詢速度。
在對服務(wù)器進(jìn)行處理時(shí)往往要進(jìn)行大量的等待磁盤數(shù)據(jù)的工作,此時(shí),可以在系統(tǒng)中使用RAID(Redundant Array of Inexpensive Disk,廉價(jià)冗余磁盤陣列)。
A公司銷售事件存儲(chǔ)結(jié)構(gòu)關(guān)系模型,如表10所示。

表10 A公司銷售事件存儲(chǔ)結(jié)構(gòu)關(guān)系模型
A公司商品關(guān)系存儲(chǔ)結(jié)構(gòu)關(guān)系模型,如表11所示。

表11 A公司商品關(guān)系存儲(chǔ)結(jié)構(gòu)關(guān)系模型
4.4物理模型評審內(nèi)容
物理模型評審時(shí),可以采用量化打分的方式,具體指標(biāo)如表12所示。
|
序號(hào)
|
分類
|
總分?jǐn)?shù)
|
模型打分
|
建議及問題描述
|
|
1
|
模型是否正確地捕獲了需求?
|
|
|
|
|
2
|
模型的完整性如何?
|
|
|
|
|
3
|
模型與其模式的匹配情況如何?
|
|
|
|
|
4
|
模型的結(jié)構(gòu)是否合理?
|
|
|
|
|
5
|
模型是否很好的利用了通用的結(jié)構(gòu)?
|
|
|
|
|
6
|
模型是否很好的利用了命名規(guī)范?
|
|
|
|
|
7
|
模型是否具有可讀性?
|
|
|
|
|
8
|
定義是否做得足夠好?
|
|
|
|
|
9
|
元數(shù)據(jù)與數(shù)據(jù)匹配得如何?
|
|
|
|
表12 模型評分表
4.5數(shù)據(jù)倉庫物理模型的優(yōu)化
數(shù)據(jù)倉庫物理模型進(jìn)行優(yōu)化時(shí)可以考慮以下解決方案:
合并表與簇文件(clustering file):幾個(gè)表的記錄分散存放在幾個(gè)物理塊中時(shí),多個(gè)表的存取和連接操作的代價(jià)會(huì)很大。
建立數(shù)據(jù)序列:按照某一固定的順序訪問并處理一組數(shù)據(jù)記錄。將數(shù)據(jù)按照處理順序存放到連續(xù)的物理塊中,形成數(shù)據(jù)序列。
引入冗余,反規(guī)范化處理:一些表的某些屬性可能在許多地方都要用到,將這些屬性復(fù)制到多個(gè)主題中,可以減少處理時(shí)存取表的個(gè)數(shù)。
表的物理分割(分區(qū)):每個(gè)主題中的各個(gè)屬性存取頻率是不同的。將一張表按各屬性被存取的頻率分成兩個(gè)或多個(gè)表,將具有相似訪問頻率的數(shù)據(jù)組織在一起。
生成派生數(shù)據(jù):在原始數(shù)據(jù)的基礎(chǔ)上進(jìn)行總結(jié)或計(jì)算,生成派生數(shù)據(jù),可以在應(yīng)用中直接使用這些派生數(shù)據(jù),減少I/O次數(shù),免去計(jì)算或匯總步驟,在更高級(jí)別上建立了公用數(shù)據(jù)源,避免了不同用戶重復(fù)計(jì)算可能產(chǎn)生的偏差。
五數(shù)據(jù)倉庫的粒度和聚集模型5.1數(shù)據(jù)倉庫粒度模型
粒度是指數(shù)據(jù)倉庫中數(shù)據(jù)單元的詳細(xì)程度和級(jí)別。粒度可以分為兩種形式:
第一種粒度是對數(shù)據(jù)倉庫中的數(shù)據(jù)的綜合程度高低的一個(gè)度量,它既影響數(shù)據(jù)倉庫中的數(shù)據(jù)量的多少,也影響數(shù)據(jù)倉庫所能回答詢問的種類。
還有一種粒度形式,即樣本數(shù)據(jù)庫,它根據(jù)給定的采樣率從細(xì)節(jié)數(shù)據(jù)庫中抽取出一個(gè)子集,這樣樣本數(shù)據(jù)庫中的粒度就不是根據(jù)綜合程度的不同來劃分的,而是有采樣率的高低來劃分,采樣粒度不同的樣本數(shù)據(jù)庫可以具有相同的數(shù)據(jù)綜合程度。
確定粒度級(jí)別的步驟如下:
適當(dāng)劃分粒度的第一步是估算數(shù)據(jù)倉庫中將來使用的數(shù)據(jù)行數(shù)和所需的直接存取存儲(chǔ)設(shè)備數(shù)(DASD)。
在計(jì)算出數(shù)據(jù)倉庫所需要占用的存儲(chǔ)空間以后,需要根據(jù)所需要的存儲(chǔ)空間大小確定是否劃分粒度,如果需要?jiǎng)澐郑謶?yīng)該怎樣劃分。可對每個(gè)表估算其一年所需要的存儲(chǔ)空間,然后估算其最長的保留年數(shù)所需要的存儲(chǔ)空間。每個(gè)表的存儲(chǔ)空間,應(yīng)該是每一個(gè)表的數(shù)據(jù)存儲(chǔ)空間和索引存儲(chǔ)空間之和。精確計(jì)算表的每年實(shí)際存儲(chǔ)空間是很困難的,只能給出表的最大估算空間和最小估算空間。
在數(shù)據(jù)倉庫中確定粒度時(shí),需要考慮這樣一些因素:要接受的分析類型、可接受的數(shù)據(jù)最低粒度、能夠存儲(chǔ)的數(shù)據(jù)量。
計(jì)劃在數(shù)據(jù)倉庫中進(jìn)行的分析類型將直接影響數(shù)據(jù)倉庫的粒度劃分。將粒度的層次定義太高,就無法在該數(shù)據(jù)倉庫中進(jìn)行更細(xì)致的分析操作。
數(shù)據(jù)倉庫通常在同一模式中使用多重粒度。如果存儲(chǔ)資源有一定的限制,就只能采用較高粒度的數(shù)據(jù)粒度劃分策略。
定義數(shù)據(jù)倉庫粒度的另外一個(gè)要素是數(shù)據(jù)倉庫可以使用多種存儲(chǔ)介質(zhì)的空間量。
選擇合適的粒度是數(shù)據(jù)倉庫設(shè)計(jì)過程中所要解決的一個(gè)復(fù)雜的問題,因?yàn)榱6鹊拇_定實(shí)質(zhì)上是對業(yè)務(wù)決策分析、硬件、軟件和數(shù)據(jù)倉庫使用方法的一個(gè)折衷。
還有一種可以大幅降低數(shù)據(jù)倉庫容量的方法,就是只采用概括數(shù)據(jù)。
數(shù)據(jù)粒度劃分策略一定要保證數(shù)據(jù)的粒度確實(shí)能夠滿足用戶的決策分析需要,這是數(shù)據(jù)粒度劃分策略中最重要的一個(gè)準(zhǔn)則。

表13 常用的粒度策略的選擇
5.2數(shù)據(jù)倉庫聚集模型與數(shù)據(jù)分割
聚集數(shù)據(jù)主要是為了使用戶獲得更好的查詢性能,聚集模型設(shè)計(jì)時(shí)應(yīng)該注意將聚集數(shù)據(jù)存儲(chǔ)在其事實(shí)表中,并與其底層數(shù)據(jù)相區(qū)別。設(shè)計(jì)聚集模型時(shí),首先需要考慮用戶的使用要求,其次要考慮數(shù)據(jù)倉庫的粒度模型和數(shù)據(jù)的統(tǒng)計(jì)分布情況。
數(shù)據(jù)倉庫的聚集模型的設(shè)計(jì)與數(shù)據(jù)倉庫的粒度模型緊密相關(guān)。建立聚集模型時(shí)還需要考慮作為聚集屬性的數(shù)量因素,聚集事實(shí)表已經(jīng)獨(dú)立存在并且可以與基本事實(shí)表一同保存,通過將當(dāng)前加載數(shù)據(jù)添加到系統(tǒng)中的累積“桶”中,將數(shù)據(jù)的聚集與數(shù)據(jù)倉庫的加載過程組合為同一處理過程,在將數(shù)據(jù)倉庫數(shù)據(jù)加載以后,再進(jìn)行聚集處理。每次在加載數(shù)據(jù)倉庫數(shù)據(jù)時(shí),都需要對各種聚集進(jìn)行計(jì)算和增加,及時(shí)保持聚集與基本數(shù)據(jù)的同步性。同時(shí),要根據(jù)使用情況刪除不經(jīng)常使用的聚集,需要減少層次過于接近的聚集生成,注意將聚集獨(dú)立存儲(chǔ)在自己的事實(shí)表中。
分割是數(shù)據(jù)倉庫邏輯設(shè)計(jì)中要解決的另一個(gè)重要問題,它的目的同樣在于提高效率,能為數(shù)據(jù)倉庫的物理實(shí)施提供設(shè)計(jì)依據(jù)。數(shù)據(jù)分割是指把邏輯上整體的數(shù)據(jù)分割成較小的、可獨(dú)立管理的物理單元進(jìn)行存儲(chǔ)的方法。數(shù)據(jù)分割又跟數(shù)據(jù)處理的對象緊密聯(lián)系,不同主題內(nèi)數(shù)據(jù)分割標(biāo)準(zhǔn)不同。數(shù)據(jù)分割目的在于數(shù)據(jù)容易重構(gòu)、方便建立更加高效的索引,實(shí)施順序掃描,容易對于數(shù)據(jù)重組與恢復(fù),容易對數(shù)據(jù)進(jìn)行監(jiān)控。
選擇適當(dāng)?shù)臄?shù)據(jù)分割的標(biāo)準(zhǔn),一般要考慮以下幾方面因素:數(shù)據(jù)量〔而非記錄行數(shù))、數(shù)據(jù)分析處理的實(shí)際情況、簡單易行以及粒度劃分策略等。數(shù)據(jù)量的大小是決定是否進(jìn)行數(shù)據(jù)分割和如何分割的主要因素,如果數(shù)據(jù)量較小,可以不進(jìn)行數(shù)據(jù)分割或只用單一標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)分割,如果數(shù)據(jù)量大就要考慮采用多重標(biāo)準(zhǔn)的組合較為細(xì)致地分割數(shù)據(jù)。數(shù)據(jù)分析處理的要求是選擇數(shù)據(jù)分割標(biāo)準(zhǔn)的一個(gè)主要依據(jù),因?yàn)閿?shù)據(jù)分割是跟數(shù)據(jù)分析處理的對象緊密聯(lián)系的。還要考慮到所選擇的數(shù)據(jù)分割標(biāo)準(zhǔn)應(yīng)是自然的、易于實(shí)施的。同時(shí)也要考慮數(shù)據(jù)分割的標(biāo)準(zhǔn)與粒度劃分層次是適應(yīng)的。確定數(shù)據(jù)分割策略包括:關(guān)系模式定義;記錄系統(tǒng)定義。
有許多數(shù)據(jù)分割的標(biāo)準(zhǔn)可供參考:如日期、地域、業(yè)務(wù)領(lǐng)域等等,也可以是其組合。一般而言,分割標(biāo)準(zhǔn)總應(yīng)包括日期項(xiàng),它十分自然而且分割均勻。使用數(shù)據(jù)分割能夠便于數(shù)據(jù)的重構(gòu)、重組和恢復(fù),以提高創(chuàng)建索引和順序掃描的效率,還可有效支持?jǐn)?shù)據(jù)概括。
六ETL設(shè)計(jì)6.11ETL設(shè)計(jì)原則
架構(gòu)合理可行。應(yīng)以最切實(shí)際而合理的架構(gòu)搭建系統(tǒng),并實(shí)現(xiàn)系統(tǒng)應(yīng)具備的各類功能。
性能滿足需求。在系統(tǒng)設(shè)計(jì)與實(shí)施中應(yīng)充分考慮到系統(tǒng)運(yùn)行的性能壓力以及ETL各技術(shù)需求的滿足。
接口清晰規(guī)范。系統(tǒng)間接口應(yīng)明確、穩(wěn)定、保證接口雙方的松耦合,同時(shí)便于故障的定位和及時(shí)處理。
易于管理和可擴(kuò)展,ETL過程是數(shù)據(jù)倉庫建設(shè)的重要步驟之一,整個(gè)ETL過程應(yīng)該易于操作、管理和控制,同時(shí)系統(tǒng)在數(shù)據(jù)量增加的情況下應(yīng)具有良好的擴(kuò)展性。
6.2ETL開發(fā)規(guī)范
1、ETL工作流程
在開始工作之前定義工作流程,讓開發(fā)者理解:在ETL處理過程中,他們開發(fā)的部分在哪個(gè)地方被調(diào)用、為什么這個(gè)組成部分是必須的、各個(gè)組成部分之間的獨(dú)立性。一個(gè)完整的工作流程必須在數(shù)據(jù)倉庫設(shè)計(jì)、數(shù)據(jù)集市設(shè)計(jì)交付之前設(shè)計(jì)完畢,最大可能地去重用前后地處理過程。
工作流程必須遵守以下工作流程:
在主要地處理過程中,每個(gè)處理過程著重于填充目標(biāo)系統(tǒng)的一個(gè)數(shù)據(jù)表。
前后的處理過程應(yīng)保持一致性,例如,預(yù)處理、清除、一般的存儲(chǔ)在前后的處理中每個(gè)獨(dú)立的處理步驟應(yīng)該被創(chuàng)建,盡量在EDW和數(shù)據(jù)集市里重用這些步驟。
主處理過程應(yīng)該盡可能地重用。
在開始構(gòu)件所有的處理過程之前,設(shè)計(jì)師必需完成工作流程模型的設(shè)計(jì)工作。
每個(gè)處理過程可能包含一個(gè)或多個(gè)步驟,同時(shí)處理一個(gè)目標(biāo)表。開發(fā)者應(yīng)該在他們的處理過程內(nèi)遵照每步的設(shè)計(jì)文檔。
為了完成處理過程的開發(fā),開發(fā)者將使用工作流程和源系統(tǒng)和目標(biāo)系統(tǒng)的映射關(guān)系和目標(biāo)數(shù)據(jù)模型進(jìn)行關(guān)聯(lián)。
開發(fā)者將測試自己的處理過程、檢驗(yàn)完整性,直到處理過程非常完善。
2、腳本開發(fā)規(guī)范
在具體的腳本開發(fā)時(shí),需要制定并執(zhí)行相應(yīng)的開發(fā)規(guī)范,以便于提高數(shù)據(jù)平臺(tái)管理效率,降低后期腳本維護(hù)成本,實(shí)現(xiàn)腳本標(biāo)準(zhǔn)化開發(fā)。下面列舉一些比較常見的開發(fā)規(guī)范,僅供參考。
腳本中的注釋、說明信息務(wù)必詳細(xì)、準(zhǔn)確。如腳本對應(yīng)任務(wù)名稱、目標(biāo)表名稱、創(chuàng)建人、創(chuàng)建時(shí)間、修改人、修改時(shí)間、修改內(nèi)容等。
腳本中時(shí)間變量請務(wù)使用諸如sysdate(-1)的常量。定義而且只定義一個(gè)外部日期參數(shù), 其他需要用到的日期都用日期函數(shù)進(jìn)行轉(zhuǎn)化。
腳本中請記錄目標(biāo)表ddl。
子查詢不要超過三層,多層子查詢會(huì)使腳本變得冗長、難以理解及維護(hù)。
同一段腳本中,同一份數(shù)據(jù)如果關(guān)聯(lián)兩次以上(包含兩次),請使用with。
寫入目標(biāo)表時(shí),如果裁剪字段名稱(最終select所選擇的字段)與目標(biāo)表的字段名不一致,請使用別名使其一致, 方便其它同事閱讀和維護(hù)。
臨時(shí)表禁止跨域使用,其使用范圍僅限于當(dāng)前腳本. 腳本中盡量不要使用臨時(shí)表, 其最大的問題是不能多實(shí)例運(yùn)行、不方便維護(hù)。
縮進(jìn):請務(wù)必使用平臺(tái)格式化工具對代碼格式化,保持代碼風(fēng)格統(tǒng)一,方便自己也方便其它同學(xué)閱讀。
每個(gè)腳本必須附帶小文件合并參數(shù): merge_type='mr'
一個(gè)腳本中只允許存在一個(gè)目標(biāo)表。
常量賦值請放在最外層。
6.3ETL任務(wù)調(diào)度策略
ETL調(diào)度策略是指數(shù)據(jù)倉庫ETL任務(wù)的運(yùn)行指導(dǎo)方針。例如調(diào)度周期、調(diào)度時(shí)間、觸發(fā)方式、優(yōu)先級(jí)順序等等。ETL調(diào)度策略的制訂直接影響數(shù)據(jù)倉庫數(shù)據(jù)的時(shí)效性、用戶訪問數(shù)據(jù)倉庫的響應(yīng)速度、工作復(fù)雜度以及數(shù)據(jù)質(zhì)量。因此,設(shè)計(jì)ETL調(diào)度策略是ETL的重要工作。
1、業(yè)務(wù)日期翻牌策略
業(yè)務(wù)日期翻牌是指:一個(gè)日期的數(shù)據(jù)加工處理完成后,應(yīng)該啟動(dòng)進(jìn)行下一個(gè)日期的數(shù)據(jù)加工的動(dòng)作。翻牌是ETL的一個(gè)重要術(shù)語。
由于數(shù)據(jù)倉庫基于日期進(jìn)行數(shù)據(jù)歷史加工的特點(diǎn),數(shù)據(jù)服務(wù)層中的數(shù)據(jù)加工必須要逐日進(jìn)行,不能多個(gè)日期的數(shù)據(jù)同時(shí)加工或者數(shù)據(jù)日期先后順序顛倒加工。因此數(shù)據(jù)倉庫的業(yè)務(wù)日期的翻牌是按照日期逐日進(jìn)行的,但是數(shù)據(jù)抽取和臨時(shí)區(qū)加載可以獨(dú)立翻牌,與數(shù)據(jù)服務(wù)層的其他區(qū)域的翻牌分離,這樣可以保證數(shù)據(jù)抽取和加載的獨(dú)立性和及時(shí)性,能降低數(shù)據(jù)依賴,增強(qiáng)系統(tǒng)穩(wěn)定性。因此業(yè)務(wù)日期的翻牌策略可以分為以下兩部分:
源系統(tǒng)抽取、數(shù)據(jù)加載到臨時(shí)區(qū):獨(dú)立翻牌,不依賴其他條件,也可以多個(gè)數(shù)據(jù)日期混合處理。
數(shù)據(jù)服務(wù)層的其他區(qū)域,例如明細(xì)區(qū)、匯總區(qū)、集市區(qū),必須整體翻牌,一個(gè)業(yè)務(wù)日期處理完成后,再繼續(xù)下一個(gè)日期的處理,日期不能混合處理與顛倒處理。
2、初始加載與日常加載策略
ETL加載從種類上分為初始加載和日常加載。
初始加載是指數(shù)據(jù)第一次加載到數(shù)據(jù)倉庫,初始加載的特點(diǎn)是數(shù)據(jù)量大,加工算法較簡單。初始加載需要做多種數(shù)據(jù)質(zhì)量檢查。在常規(guī)的數(shù)據(jù)倉庫建設(shè)過程中,初始腳本需要單獨(dú)編寫。初始加載過程需要對ETL服務(wù)器空間、臨時(shí)區(qū)空間做計(jì)算,給出足夠的余量。
日常加載是指正常加載的工作,日常加載不一定是每天運(yùn)行,有固定的加載頻率或者是不定期執(zhí)行,都叫做日常加載。日常加載的特點(diǎn)是數(shù)據(jù)量不如初始加載大,但是加工算法比初始加載復(fù)雜。數(shù)據(jù)倉庫的主要加載都是日常加載。
3、數(shù)據(jù)修復(fù)與重跑調(diào)度策略
數(shù)據(jù)倉庫處理的數(shù)據(jù)量大,系統(tǒng)復(fù)雜,如果ETL加工腳本出錯(cuò),可能會(huì)造成數(shù)據(jù)倉庫的數(shù)據(jù)不準(zhǔn)確,因此,除了加強(qiáng)系統(tǒng)開發(fā)和測試工作外,提高系統(tǒng)的數(shù)據(jù)穩(wěn)定性,支持?jǐn)?shù)據(jù)修復(fù)和重跑是ETL的重要調(diào)度策略,支持?jǐn)?shù)據(jù)修復(fù)與任務(wù)重跑有三類方案。
1)當(dāng)天數(shù)據(jù)錯(cuò)誤的重跑
數(shù)據(jù)服務(wù)層的基礎(chǔ)數(shù)據(jù)區(qū),數(shù)據(jù)庫的表在物理模型設(shè)計(jì)過程中需要增加幾個(gè)物理字段,其中2個(gè)字段是:數(shù)據(jù)日期、ETL任務(wù),通過這兩個(gè)字段,ETL任務(wù)可以很容易的刪除當(dāng)天加載的錯(cuò)誤數(shù)據(jù),因此當(dāng)天數(shù)據(jù)有錯(cuò)誤,ETL任務(wù)可以直接重跑。
2)一周內(nèi)數(shù)據(jù)錯(cuò)誤的重跑
如果在一周之內(nèi)發(fā)現(xiàn)有非當(dāng)天的數(shù)據(jù)出現(xiàn)了加工錯(cuò)誤,可以直接手工刪除數(shù)據(jù)后,手工重新調(diào)度一周內(nèi)的任務(wù),因?yàn)橐恢軆?nèi)的數(shù)據(jù)都還保存在臨時(shí)數(shù)據(jù)區(qū)內(nèi),因此一周內(nèi)的重跑也是可以直接在數(shù)據(jù)庫級(jí)別完成。
3)超過一周的數(shù)據(jù)修復(fù)
超過一周的數(shù)據(jù)修復(fù)比較復(fù)雜,由于此時(shí)臨時(shí)數(shù)據(jù)區(qū)的數(shù)據(jù)已經(jīng)備份到其他介質(zhì)上了,因此需要先行恢復(fù)數(shù)據(jù),再進(jìn)行ETL重跑,重跑的任務(wù)無法通過自動(dòng)調(diào)度,必須手工進(jìn)行調(diào)度。
4、特殊日期調(diào)度策略
特殊處理日期指的是月末、旬末、年末等日期,在這些日期里,由于有大量的腳本在此期間運(yùn)行,數(shù)據(jù)量也會(huì)比平時(shí)大,對系統(tǒng)會(huì)造成一定的影響,比如:可能無法做到T+1供數(shù),白天的業(yè)務(wù)查詢會(huì)受到延遲的ETL任務(wù)的影響而變慢等等。因此可能需要考慮特殊的加載策略。
5、實(shí)時(shí)調(diào)度策略
ETL加載能夠?qū)崿F(xiàn)基于準(zhǔn)實(shí)時(shí)的調(diào)度要求,例如:源系統(tǒng)希望部分應(yīng)用表能夠每5分鐘進(jìn)行一次數(shù)據(jù)抽取,此部分?jǐn)?shù)據(jù)主要為業(yè)務(wù)交易數(shù)據(jù),對于其他類型數(shù)據(jù)需要做特殊處理。
七數(shù)據(jù)倉庫的應(yīng)用、支持和增強(qiáng)7.1數(shù)據(jù)倉庫的用戶培訓(xùn)及支持
1、用戶的培訓(xùn)
向用戶解釋清楚數(shù)據(jù)倉庫的作用與原理。
用各種案例向用戶說明如何使用數(shù)據(jù)倉庫。
2、對數(shù)據(jù)倉庫用戶的支持
對數(shù)據(jù)倉庫應(yīng)用成功案例的推廣。
初始階段的支持。
技術(shù)人員、商業(yè)分析人員與用戶一起討論。
7.2數(shù)據(jù)倉庫運(yùn)維
1、對數(shù)據(jù)倉庫的運(yùn)維包括:
負(fù)責(zé)數(shù)據(jù)倉庫的日常管理工作;
監(jiān)控?cái)?shù)據(jù)倉庫運(yùn)行情況;
優(yōu)化數(shù)據(jù)倉庫性能,充分利用數(shù)據(jù)倉庫的計(jì)算和存儲(chǔ)資源,滿足EDW的應(yīng)用需求。
2、主要工作內(nèi)容:
運(yùn)行監(jiān)控:系統(tǒng)運(yùn)行的性能、存儲(chǔ)資源利用率、數(shù)據(jù)傾斜度等重要指標(biāo),檢查日志文件;
空間的管理:空間分配、文件管理、加載/卸載磁盤;
日常操作:創(chuàng)建/刪除數(shù)據(jù)文件、創(chuàng)建/刪除數(shù)據(jù)庫索引、數(shù)據(jù)庫示例的啟動(dòng)/停止、數(shù)據(jù)備份/恢復(fù);
特殊操作:創(chuàng)建和刪除數(shù)據(jù)庫、修改數(shù)據(jù)庫/數(shù)據(jù)表結(jié)構(gòu),如:修改字段定義或增減字段等。
7.3ETL監(jiān)控
數(shù)據(jù)倉庫系統(tǒng)的維護(hù)中最重要的就是隨時(shí)監(jiān)控ETL任務(wù)的運(yùn)行情況,因此為了降低系統(tǒng)維護(hù)人員的勞動(dòng)強(qiáng)度,提供友好的ETL監(jiān)控功能是必要的。
ETL日常運(yùn)行監(jiān)控的內(nèi)容主要包含兩個(gè)方面:
1、ETL任務(wù)異常監(jiān)控
源系統(tǒng)數(shù)據(jù)就緒接口狀態(tài)監(jiān)控。
ETL任務(wù)運(yùn)行狀態(tài)監(jiān)控,包括任務(wù)Failed,任務(wù)運(yùn)行時(shí)間過長,任務(wù)依賴關(guān)系不滿足,需要運(yùn)行的任務(wù)沒有被觸發(fā)等。
ETL服務(wù)異常監(jiān)控,包括ETL服務(wù)沒有啟動(dòng),ETL服務(wù)連接異常等。
2、數(shù)據(jù)倉庫管理異常監(jiān)控
數(shù)據(jù)分布不均勻。
加載的目標(biāo)表時(shí)間過長。
CPU資源和分區(qū)空間不足。
數(shù)據(jù)庫異常等。
7.4數(shù)據(jù)倉庫使用中的數(shù)據(jù)刷新
從已有數(shù)據(jù)資源中獲取更多數(shù)據(jù)
從單位內(nèi)部獲取新的數(shù)據(jù)源
獲取新的或更多的行業(yè)數(shù)據(jù)源
7.5數(shù)據(jù)倉庫的增強(qiáng)
元數(shù)據(jù)庫的局限性
缺乏外部數(shù)據(jù)源數(shù)據(jù)倉庫數(shù)據(jù)加載性能不能滿足要求
數(shù)據(jù)倉庫應(yīng)用范圍的擴(kuò)大
數(shù)據(jù)倉庫整體性能的調(diào)整
數(shù)據(jù)倉庫重新規(guī)劃
總結(jié)
本文采用理論和實(shí)踐相結(jié)合的方式主要介紹數(shù)據(jù)倉庫開發(fā)應(yīng)用的特點(diǎn)、規(guī)劃、開發(fā)和應(yīng)用整個(gè)生命周期。重點(diǎn)介紹了數(shù)據(jù)倉庫概念模型、邏輯模型、物理模型、粒度模型、聚集模型、ETL的構(gòu)建過程。數(shù)據(jù)倉庫的建模,首先要將現(xiàn)實(shí)的決策分析環(huán)境抽象成一個(gè)概念數(shù)據(jù)模型。然后將此概念模型邏輯化,建立邏輯數(shù)據(jù)模型。最后,將邏輯數(shù)據(jù)模型向數(shù)據(jù)倉庫的物理模型轉(zhuǎn)化,通過ETL完成數(shù)據(jù)的抽取和轉(zhuǎn)換,實(shí)現(xiàn)最終的數(shù)據(jù)入倉存儲(chǔ)。
(部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除)