張靖笙
信息技術(shù)應(yīng)用的卓越成效在經(jīng)過20多年的信息化建設(shè)進(jìn)程中已經(jīng)初步顯現(xiàn),信息技術(shù)廣泛應(yīng)用的同時(shí)帶來了信息的泛濫,正如John Naisbett所說,“我們已被信息所淹沒,但是卻正在忍受缺乏知識(shí)的煎熬”。如何從大量的數(shù)據(jù)中快速有效的提取出我們需要的信息和知識(shí)也顯得越來越重要,讓我們不至于被信息海洋所淹沒;如何有效利用多年信息系統(tǒng)積累下來的大量數(shù)據(jù),從被深埋的歷史數(shù)據(jù)中挖出財(cái)富;如何解決信息化建設(shè)過程中,由于歷史的認(rèn)識(shí)水平和技術(shù)條件的限制所造成的信息化各子系統(tǒng)的脫節(jié),而直接導(dǎo)致的信息孤島問題。以上這些都是我們當(dāng)今政府和企業(yè)的信息系統(tǒng)迫切需要解決的問題。
“工欲善其事,必先利其器”,商業(yè)智能(BI,BusinessIntelligence)正是為了解決上述問題而應(yīng)運(yùn)而生的,商業(yè)智能本身是一個(gè)龐大的技術(shù)體系,也是一個(gè)還在發(fā)展中的概念,如何理解商業(yè)智能的內(nèi)涵,業(yè)界有不同的觀點(diǎn),而本章從工程實(shí)踐的角度,把商業(yè)智能看成實(shí)現(xiàn)“數(shù)據(jù)->信息->知識(shí)->行動(dòng)->智慧”過程所用到的技術(shù)和方法,所以本章內(nèi)容在組織安排上,體現(xiàn)了兩種對(duì)商業(yè)智能的觀點(diǎn):
ü 一種觀點(diǎn)把商業(yè)智能看成是一個(gè)過程,這是DWReview的觀點(diǎn),商業(yè)智能是幫助企業(yè)實(shí)現(xiàn)“數(shù)據(jù)->信息->知識(shí)”的過程,這是本文1.1-1.3節(jié)所描述的內(nèi)容,力求讀者對(duì)商業(yè)智能有一個(gè)技術(shù)視野以外的認(rèn)識(shí);
ü 另外一種觀點(diǎn)是把商業(yè)智能看成一系列的技術(shù)和方法,這是代表了最早由Gartner Group于1996年提出商業(yè)智能定義的觀點(diǎn):商業(yè)智能為一類由數(shù)據(jù)倉庫(或數(shù)據(jù)集市)、查詢報(bào)表、數(shù)據(jù)分析、數(shù)據(jù)挖掘、數(shù)據(jù)備份和恢復(fù)等部分組成的、以幫助企業(yè)決策為目的技術(shù)及其應(yīng)用,這是本文1.4和其他幾節(jié)所要描述的內(nèi)容,具體描述各個(gè)相關(guān)技術(shù)點(diǎn)的知識(shí)。
這一節(jié)將從時(shí)代發(fā)展需要和現(xiàn)實(shí)需求的角度,對(duì)應(yīng)用商業(yè)智能的深層原因進(jìn)行探討。
企業(yè)與政府機(jī)構(gòu)的信息化建設(shè)從零開始到現(xiàn)在,大致經(jīng)歷了三個(gè)階段(如圖6-1):第一階段是部門級(jí)與基礎(chǔ)信息化階段,在這一階段,機(jī)構(gòu)內(nèi)往往是一些需求最迫切的部門首先采用了信息技術(shù),如財(cái)務(wù)系統(tǒng),計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng),電子數(shù)據(jù)交換系統(tǒng)等等,以電子化和處理自動(dòng)化來取代低效繁雜的手工處理;第二階段是企業(yè)級(jí)信息化階段,這一階段政府機(jī)構(gòu)與企業(yè)往往已經(jīng)擁有了幾個(gè)分別建設(shè)的業(yè)務(wù)處理系統(tǒng),機(jī)構(gòu)期望從總體角度建設(shè)高度集中的、或互相聯(lián)接的綜合業(yè)務(wù)管理系統(tǒng),如MIS,ERP,OA等等;第三是企業(yè)或政府機(jī)構(gòu)的戰(zhàn)略與決策信息化階段,這時(shí)企業(yè)或政府機(jī)構(gòu)往往已經(jīng)建成了比較完整的業(yè)務(wù)處理系統(tǒng),而企業(yè)和政府機(jī)構(gòu)在對(duì)業(yè)務(wù)系統(tǒng)里面數(shù)據(jù)的綜合利用主要面臨著三大問題,分別是不同業(yè)務(wù)數(shù)據(jù)的共享與綜合處理問題、歷史數(shù)據(jù)的利用問題以及數(shù)據(jù)角度的事務(wù)處理與決策差異性問題,這三大問題也是滿足企業(yè)或機(jī)構(gòu)的領(lǐng)導(dǎo)者和決策者通過數(shù)據(jù)來做出正確判斷和決策的障礙,因此建立專門面向各級(jí)領(lǐng)導(dǎo)與決策層的信息系統(tǒng),實(shí)現(xiàn)企業(yè)或政府機(jī)構(gòu)戰(zhàn)略和決策的信息化,可以說是這一階段的核心任務(wù),圖1表示了這三個(gè)發(fā)展階段。
圖1 企業(yè)信息化建設(shè)的三個(gè)階段
可見,隨著企業(yè)的發(fā)展所帶來的對(duì)信息需求分別從廣度和深度兩個(gè)層面不斷擴(kuò)展,第一期階段的發(fā)展瓶頸在于信息的空間局限性,第二階段的發(fā)展瓶頸在于信息的時(shí)間局限性,可以說,企業(yè)信息化進(jìn)程經(jīng)過這三個(gè)發(fā)展階段,企業(yè)的管理水平也從“基于數(shù)據(jù)”,發(fā)展為“基于信息”,進(jìn)而上升為“基于知識(shí)”。顯然,在競爭日益激烈的環(huán)境下,錯(cuò)誤的決策對(duì)企業(yè)的打擊是顛覆性的,一個(gè)企業(yè)只有達(dá)到“基于知識(shí)”的學(xué)習(xí)型組織的管理境界,才能不斷成長,在市場上生存。
把企業(yè)形象地比喻一個(gè)人的話,第一階段是針對(duì)手指的自動(dòng)化,第二階段是針對(duì)眼睛和耳朵的自動(dòng)化,第三階段是針對(duì)大腦的自動(dòng)化。從圖1的縱坐標(biāo)我們也可以看到,信息化的價(jià)值以及由此給企業(yè)帶來的實(shí)力也是獲得提升的。
而第三階段正是商業(yè)智能走上歷史舞臺(tái)并且成為主角的時(shí)代,也是企業(yè)求生存求發(fā)展不得不走向?qū)W習(xí)型組織管理方式的歷史選擇,促成商業(yè)智能產(chǎn)生和發(fā)展的根源,筆者認(rèn)為,不單純是技術(shù)的進(jìn)步,當(dāng)然不可否認(rèn),技術(shù)的進(jìn)步創(chuàng)造了物質(zhì)上的條件,然而從因果關(guān)系的角度來說,企業(yè)選擇商業(yè)智能的根本原因,是市場競爭下求生存謀發(fā)展的必然。
商業(yè)智能的概念最早是Gartner Group于1996年提出來的。其實(shí),商業(yè)智能所涉及的技術(shù)與應(yīng)用,在Gartner Group命名之前就有,起初被稱為領(lǐng)導(dǎo)信息系統(tǒng)(EIS,Executive Information System),在羽化成商業(yè)智能之前也稱為決策支持系統(tǒng)(DSS, Decision Support System)。
從技術(shù)層面上講,商業(yè)智能或數(shù)據(jù)倉庫并不是什么新技術(shù),它只是數(shù)據(jù)庫技術(shù)、OLAP技術(shù)、數(shù)據(jù)采集和遷移技術(shù)、網(wǎng)絡(luò)技術(shù)、GUI技術(shù)、查詢&報(bào)表技術(shù)、統(tǒng)計(jì)學(xué)、人工智能、知識(shí)發(fā)現(xiàn)技術(shù)等理論和技術(shù)的綜合運(yùn)用,從這個(gè)意義上,把商業(yè)智能看成是一種體系結(jié)構(gòu)應(yīng)該比較恰當(dāng)。關(guān)于體系結(jié)構(gòu)與具體技術(shù)的關(guān)系,W.H.Inmon形象地比喻成新墨西哥州的一個(gè)城市圣達(dá)菲和磚塊的關(guān)系,圣達(dá)菲這個(gè)體系結(jié)構(gòu)由磚塊和裸露的橫梁構(gòu)成,沒有這些磚塊就沒有圣達(dá)菲的各種建筑,而磚塊本身并不能構(gòu)成圣達(dá)菲這個(gè)體系。
商業(yè)智能的核心內(nèi)容是從許多來自企業(yè)不同的業(yè)務(wù)處理系統(tǒng)的數(shù)據(jù)中,提取出有用的數(shù)據(jù),進(jìn)行清理以保證數(shù)據(jù)的正確性,然后經(jīng)過抽取(Extraction)、轉(zhuǎn)換(Transformation)和裝載(Load),即ETL過程,整合到一個(gè)企業(yè)級(jí)的中心數(shù)據(jù)倉庫(DW, Data Warehousing)里,從而得到企業(yè)信息的一個(gè)全局視圖,在此基礎(chǔ)上利用合適的查詢和分析工具、數(shù)據(jù)挖掘工具等對(duì)數(shù)據(jù)倉庫里的數(shù)據(jù)進(jìn)行分析和處理,形成信息,更進(jìn)一步把規(guī)律性的信息提煉成知識(shí),并且把對(duì)決策有幫助的信息和知識(shí)呈現(xiàn)給管理者,為管理者的決策提供支持。商業(yè)智能的這個(gè)基本過程如圖2所示。
圖2 商業(yè)智能的基本過程
數(shù)據(jù)倉庫是商業(yè)智能的基礎(chǔ),商業(yè)智能的應(yīng)用必須基于數(shù)據(jù)倉庫技術(shù),所以數(shù)據(jù)倉庫的設(shè)計(jì)工作占一個(gè)商業(yè)智能項(xiàng)目的核心位置,所以在很多項(xiàng)目命名時(shí),往往是把數(shù)據(jù)倉庫和商業(yè)智能相提并論,要么把它們等同起來,有時(shí)這會(huì)給人一種很混淆的感覺,覺得BI,DW,BIDW是相同的概念,造成了很多初學(xué)者在認(rèn)識(shí)上的誤區(qū)。一般來說,上面所描述的是一個(gè)廣義上的商業(yè)智能概念,在這個(gè)概念層面上,數(shù)據(jù)倉庫是其中非常重要的組成部分,數(shù)據(jù)倉庫從概念上更多地側(cè)重在對(duì)企業(yè)各類信息的整合和存儲(chǔ)工作,包括了數(shù)據(jù)的遷移,數(shù)據(jù)的組織和存儲(chǔ),數(shù)據(jù)的管理與維護(hù)這些我們平常稱之為后臺(tái)的基礎(chǔ)性的數(shù)據(jù)準(zhǔn)備工作,與之對(duì)應(yīng),俠義的商業(yè)智能概念則側(cè)重在數(shù)據(jù)查詢和報(bào)告、多維/聯(lián)機(jī)數(shù)據(jù)分析、數(shù)據(jù)挖掘和數(shù)據(jù)可視化工具這些平常稱之為前臺(tái)的數(shù)據(jù)分析應(yīng)用方面,其中數(shù)據(jù)挖掘是商業(yè)智能中比較高層次的一種應(yīng)用。下圖6-3表達(dá)了商業(yè)智能過程中對(duì)應(yīng)使用的技術(shù)和方法。
圖3 商業(yè)智能過程及其對(duì)應(yīng)的技術(shù)和方法
商業(yè)智能系統(tǒng)的服務(wù)對(duì)象包括了企業(yè)或組織機(jī)構(gòu)的決策人員、數(shù)據(jù)分析專家、中下級(jí)別經(jīng)理和一般業(yè)務(wù)人員。而不同層次的用戶對(duì)商業(yè)智能應(yīng)用的需求有明顯的差異。
l 高層決策者需要了解業(yè)務(wù)的總體情況和總的發(fā)展態(tài)勢,他們可能使用系統(tǒng)提供的分析工具自己發(fā)現(xiàn)問題,但更主要的是利用分析結(jié)果進(jìn)行決策,高層決策者需要通曉業(yè)務(wù)的具體狀態(tài)和發(fā)展趨勢,包括業(yè)務(wù)的狀態(tài)和構(gòu)成(機(jī)構(gòu)構(gòu)成、時(shí)間構(gòu)成、產(chǎn)品構(gòu)成、客戶構(gòu)成等等)以及對(duì)業(yè)務(wù)的發(fā)展趨勢做出預(yù)測;
l 數(shù)據(jù)分析專家需要更加深入地從數(shù)據(jù)倉庫的數(shù)據(jù)中發(fā)現(xiàn)問題、市場機(jī)會(huì)和風(fēng)險(xiǎn),需要及時(shí)把發(fā)現(xiàn)的結(jié)果報(bào)告給高層決策者;
l 中下級(jí)經(jīng)理和業(yè)務(wù)人員通常僅僅關(guān)心與各自工作相關(guān)的內(nèi)容,他們或許對(duì)報(bào)表和固定的數(shù)據(jù)查詢更為習(xí)慣。
圖4描述了商業(yè)智能系統(tǒng)中各種用戶角色對(duì)系統(tǒng)數(shù)據(jù)深度、廣度、分析復(fù)雜性、對(duì)目標(biāo)軟件易用性,對(duì)軟件的控制能力和客戶化程度要求以及對(duì)業(yè)務(wù)整體和局部信息需求程度的要求。
圖4 商業(yè)智能用戶類型分析圖
分析用戶類型是系統(tǒng)功能設(shè)定、分布的依據(jù)。圖中以色譜形式表示對(duì)信息服務(wù)深度的需求,從最淺顯的數(shù)據(jù)查詢到深度數(shù)據(jù)挖掘。八條坐標(biāo)線表示用戶對(duì)不同系統(tǒng)特性的需求。這些系統(tǒng)性能是:數(shù)據(jù)深度和廣度、分析的復(fù)雜性、軟件的易用性、靈活性和客戶化程度,對(duì)業(yè)務(wù)的全局性和局部性信息的需求(戰(zhàn)略、戰(zhàn)術(shù)需求)。
商業(yè)智能的用戶類型、角色、需求、分析方法對(duì)照如表1
表1商業(yè)智能用戶對(duì)照表
用戶類型 | 角色 | 需求 | 分析方法 |
中下級(jí)經(jīng)理和業(yè)務(wù)人員 | 固定報(bào)表讀者 | 需要閱讀數(shù)據(jù)倉庫定時(shí)或按條件產(chǎn)生的固定報(bào)表; | 固定查詢、產(chǎn)生報(bào)表;
|
信息瀏覽者 | 根據(jù)不同的業(yè)務(wù)需求,通過建立簡單的查詢,進(jìn)行分析,產(chǎn)生動(dòng)態(tài)報(bào)表;
| 自助查詢、動(dòng)態(tài)報(bào)表 | |
高層決策者 | 管理(或稱領(lǐng)導(dǎo))信息系統(tǒng)用戶 | 了解宏觀業(yè)務(wù)狀況,并能迅速定位到反映問題原因的微觀細(xì)節(jié); | 了解反映業(yè)務(wù)狀況的關(guān)鍵性能指標(biāo)(KPI),多維分析,穿透和鉆??; |
數(shù)據(jù)分析專家 | 數(shù)據(jù)分析用戶 | 根據(jù)不同的業(yè)務(wù)要求,建立自己的數(shù)據(jù)模型進(jìn)行 隨機(jī)查詢; 通過多維分析,進(jìn)行各種高級(jí)查詢和報(bào)表; | 多維分析、趨勢分析、對(duì)比分析、排名分析、意外分析、原因影響分析、假設(shè)分析(What if); |
數(shù)據(jù)挖掘用戶 | 根據(jù)現(xiàn)有的數(shù)據(jù)情況,動(dòng)態(tài)構(gòu)建或修改模型,進(jìn)行預(yù)測分析、數(shù)據(jù)挖掘等深層次操作; | 統(tǒng)計(jì)分析(預(yù)測、假設(shè)檢驗(yàn)等等); 數(shù)據(jù)挖掘(估計(jì)、預(yù)測、分類、聚類分析等等) |
把商業(yè)智能系統(tǒng)工作的過程進(jìn)行技術(shù)上的抽象,可以把商業(yè)智能的體系結(jié)構(gòu)進(jìn)行分層,如圖5所示,根據(jù)數(shù)據(jù)的不同形態(tài),整個(gè)體系被劃分為四個(gè)大的層面,并根據(jù)數(shù)據(jù)的處理和應(yīng)用過程再細(xì)分成七個(gè)環(huán)節(jié),這些環(huán)節(jié)通過密切的協(xié)助完成商業(yè)智能的功能。
數(shù)據(jù)從數(shù)據(jù)源經(jīng)過抽取(Extra,E)、轉(zhuǎn)換(Transform,T)、裝載(Load,L)過程加載到中央數(shù)據(jù)倉庫, 再從數(shù)據(jù)倉庫經(jīng)過分類加工放到數(shù)據(jù)集市(DM, Data Market), 或者將數(shù)據(jù)集市中的數(shù)據(jù)進(jìn)一步存放到多維數(shù)據(jù)庫(MDD, Multi-dimension Database),這都屬于數(shù)據(jù)組織的問題,從中間層到終端用戶或從多維數(shù)據(jù)庫到終端用戶可將其劃歸為前端應(yīng)用實(shí)現(xiàn)的問題。而貫穿整個(gè)體系數(shù)據(jù)處理環(huán)節(jié)的,是系統(tǒng)的流程調(diào)度控制和元數(shù)據(jù)管理。
圖5 商業(yè)智能解決方案體系結(jié)構(gòu)圖
數(shù)據(jù)源可以是企業(yè)日常運(yùn)作積累下來的各類的業(yè)務(wù)數(shù)據(jù),也可以是外部的數(shù)據(jù)。這些數(shù)據(jù)在存放方式,存放格式,存放地點(diǎn)上可能是多種多樣的,這就要求了數(shù)據(jù)倉庫的體系結(jié)構(gòu)必須能處理這種多樣性帶來的種種問題,如訪問多種技術(shù)平臺(tái)下,多種類型的DBMS內(nèi)的數(shù)據(jù),并解決由于數(shù)據(jù)遠(yuǎn)程遷移所帶來的完整性和安全性的問題。
數(shù)據(jù)抽取、轉(zhuǎn)換和裝載完成如下任務(wù):從源數(shù)據(jù)抽取數(shù)據(jù)、進(jìn)行一定的變換、裝載到數(shù)據(jù)倉庫。在上述過程中,需要進(jìn)行如下數(shù)據(jù)處理:
簡單變換:是數(shù)據(jù)變換最簡單的形式,一次只針對(duì)一個(gè)字段,而不是考慮相關(guān)字段的值。主要有數(shù)據(jù)類型的轉(zhuǎn)換、日期/時(shí)間的格式轉(zhuǎn)換、字段解碼等。
清潔和刷洗:目的是為了保證前后一致地格式化和使用某一字段或相關(guān)的字段群。清潔和刷洗是兩個(gè)可以互換的術(shù)語,指的是比簡單變換更為復(fù)雜的一種變換。在這種變換中,要檢查的是字段和字段組中的實(shí)際內(nèi)容而不僅是存儲(chǔ)格式。一種檢查是檢查數(shù)據(jù)字段值的有效值,它指的是檢驗(yàn)一個(gè)字段的有效值以保證它落在預(yù)期的范圍之內(nèi),通常是數(shù)字范圍和日期范圍。數(shù)據(jù)刷洗的另一主要類型是重新格式化某些類型的數(shù)據(jù),這種方法適用于可以用許多不同方式存儲(chǔ)在不同數(shù)據(jù)來源中的信息,必須在數(shù)據(jù)倉庫中把這類信息轉(zhuǎn)換成一種統(tǒng)一的表示方式。
集成:要把從全然不同來源的數(shù)據(jù)結(jié)合在一起,真正的困難在于將其集成一個(gè)緊密結(jié)合的數(shù)據(jù)模型。這些數(shù)據(jù)來源往往遵守的不是同一套業(yè)務(wù)規(guī)則,在生成新數(shù)據(jù)時(shí),必須考慮到這一差異。
聚集和概括:大多數(shù)數(shù)據(jù)倉庫都要用到數(shù)據(jù)的某種聚集和概括。這通常有助于將某一實(shí)例的數(shù)目減少到易于駕馭的水平,也有助于預(yù)先計(jì)算出廣泛的概括數(shù)字,以使每個(gè)查詢不必計(jì)算它們。概括是指按照一個(gè)和幾個(gè)業(yè)務(wù)維將相近的數(shù)值加在一起,聚集是將不同業(yè)務(wù)元素加在一起或?yàn)橐粋€(gè)公共總數(shù),在數(shù)據(jù)倉庫中它們是以相同的方式進(jìn)行的。
操作型數(shù)據(jù)存儲(chǔ)區(qū)(ODS, Operational Data Store)是為了彌補(bǔ)業(yè)務(wù)系統(tǒng)和數(shù)據(jù)倉庫之間的數(shù)據(jù)同步差距而提出的,要解決的是這種問題:“對(duì)一個(gè)特定的業(yè)務(wù)流程來說,我怎么才能提供最新的、跨功能部門之間的信息”,例如對(duì)客戶服務(wù)人員,他需要銷售、庫存、市場和研發(fā)等各部門的最新數(shù)據(jù),而這些數(shù)據(jù)原來是分散在不同部門的不同應(yīng)用系統(tǒng)的。如果通過數(shù)據(jù)倉庫來實(shí)現(xiàn)數(shù)據(jù)集成,則實(shí)時(shí)性難以保證,或者建設(shè)成本很高。
ODS是數(shù)據(jù)倉庫體系結(jié)構(gòu)中的一個(gè)可選部分,ODS具備數(shù)據(jù)倉庫的部分特征和OLTP系統(tǒng)的部分特征,它是“面向主題的、集成的、當(dāng)前或接近當(dāng)前的、不斷變化的”數(shù)據(jù),與數(shù)據(jù)倉庫類似,ODS也是面向主題的、集成的,但是其最大特點(diǎn)是數(shù)據(jù)是可更新的,甚至由業(yè)務(wù)系統(tǒng)通過觸發(fā)器直接更新。因此,ODS是業(yè)務(wù)系統(tǒng)和DW之間更偏向業(yè)務(wù)系統(tǒng)的數(shù)據(jù)存儲(chǔ)區(qū)域。
一般在帶有ODS的系統(tǒng)體系結(jié)構(gòu)中,ODS都設(shè)計(jì)為如下幾個(gè)作用:
1、在業(yè)務(wù)系統(tǒng)和數(shù)據(jù)倉庫之間形成一個(gè)隔離層。
一般的數(shù)據(jù)倉庫應(yīng)用系統(tǒng)都具有非常復(fù)雜的數(shù)據(jù)來源,這些數(shù)據(jù)存放在不同的地理位置、不同的數(shù)據(jù)庫、不同的應(yīng)用之中,從這些業(yè)務(wù)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行抽取并不是一件容易的事。因此,ODS用于存放從業(yè)務(wù)系統(tǒng)直接抽取出來的數(shù)據(jù),這些數(shù)據(jù)從數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)之間的邏輯關(guān)系上都與業(yè)務(wù)系統(tǒng)基本保持一致,因此在抽取過程中極大降低了數(shù)據(jù)轉(zhuǎn)化的復(fù)雜性,而主要關(guān)注數(shù)據(jù)抽取的接口、數(shù)據(jù)量大小、抽取方式等方面的問題。這種運(yùn)用有時(shí)被稱為數(shù)據(jù)準(zhǔn)備區(qū)(Data Staging Area)。
2、轉(zhuǎn)移一部分業(yè)務(wù)系統(tǒng)細(xì)節(jié)查詢的功能
在數(shù)據(jù)倉庫建立之前,大量的報(bào)表、分析是由業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫直接支持的,在一些比較復(fù)雜的報(bào)表生成過程中,對(duì)業(yè)務(wù)系統(tǒng)的運(yùn)行產(chǎn)生相當(dāng)大的壓力。ODS的數(shù)據(jù)從粒度、組織方式等各個(gè)方面都保持了與業(yè)務(wù)系統(tǒng)的一致,那么原來由業(yè)務(wù)系統(tǒng)產(chǎn)生的報(bào)表、細(xì)節(jié)數(shù)據(jù)的查詢自然能夠從ODS中進(jìn)行,從而降低業(yè)務(wù)系統(tǒng)的查詢壓力。
3、完成數(shù)據(jù)倉庫中不能完成的一些功能。
一般來說,帶有ODS的數(shù)據(jù)倉庫體系結(jié)構(gòu)中,DW層所存儲(chǔ)的數(shù)據(jù)都是進(jìn)行匯總過的數(shù)據(jù),并不存儲(chǔ)每筆交易產(chǎn)生的細(xì)節(jié)數(shù)據(jù),但是在某些特殊的應(yīng)用中,可能需要對(duì)交易細(xì)節(jié)數(shù)據(jù)進(jìn)行查詢,這時(shí)就需要把細(xì)節(jié)數(shù)據(jù)查詢的功能轉(zhuǎn)移到ODS來完成,而且ODS的數(shù)據(jù)模型按照面向主題的方式進(jìn)行存儲(chǔ),可以方便地支持多維分析等查詢功能。
在一個(gè)沒有ODS層的數(shù)據(jù)倉庫應(yīng)用系統(tǒng)體系結(jié)構(gòu)中,數(shù)據(jù)倉庫中存儲(chǔ)的數(shù)據(jù)粒度是根據(jù)需要而確定的,但一般來說,最為細(xì)節(jié)的業(yè)務(wù)數(shù)據(jù)也是需要保留的,實(shí)際上數(shù)據(jù)的內(nèi)容也就相當(dāng)于ODS,但與ODS所不同的是,這時(shí)的細(xì)節(jié)數(shù)據(jù)不是“當(dāng)前、不斷變化的”數(shù)據(jù),而是“歷史的,不再變化的”數(shù)據(jù)。ODS可以和DW形成互補(bǔ)的整體,構(gòu)成完整的戰(zhàn)術(shù)決策支持系統(tǒng)架構(gòu)。利用ODS+DW實(shí)現(xiàn)戰(zhàn)術(shù)決策支持有其非常直觀的優(yōu)勢:利用ODS實(shí)現(xiàn)實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)的數(shù)據(jù)抽取,而且ODS的數(shù)據(jù)量不大,可以比較高效地進(jìn)行數(shù)據(jù)的修改和更新,并且可以提高查詢的效率。而利用數(shù)據(jù)倉庫的海量存儲(chǔ)實(shí)現(xiàn)歷史數(shù)據(jù)的查詢,實(shí)現(xiàn)戰(zhàn)略決策支持。
但是,這種也有很明顯的劣勢:由于ODS和DW的結(jié)構(gòu)和模型是不同的,這需要進(jìn)行不同的系統(tǒng)和數(shù)據(jù)模型設(shè)計(jì),也需要不同的系統(tǒng)維護(hù)過程,相應(yīng)增加系統(tǒng)的使用成本。
數(shù)據(jù)倉庫的一個(gè)目的就是把企業(yè)的信息訪問基礎(chǔ)從一種非結(jié)構(gòu)化的或發(fā)展中的環(huán)境改變成一種結(jié)構(gòu)化或規(guī)劃良好的環(huán)境。關(guān)于數(shù)據(jù)倉庫的詳細(xì)描述留到后面的章節(jié)。
簡單地把數(shù)據(jù)集市(DM,Data Market)理解成數(shù)據(jù)倉庫的一部分是不對(duì)的,因?yàn)閮烧唠m然在數(shù)據(jù)上有非常密切的聯(lián)系,而定位上卻是不同的,關(guān)于數(shù)據(jù)集市的詳細(xì)描述留到后面的章節(jié)。
商業(yè)智能的前端應(yīng)用是建立數(shù)據(jù)倉庫的目的,沒有前端應(yīng)用數(shù)據(jù)倉庫就失去了意義。另一方面,由于最終用戶的要求多種多樣,不可能用同一個(gè)界面滿足所有用戶的信息查詢要求,必須根據(jù)用戶的特點(diǎn)提供不同的界面。最終用戶對(duì)數(shù)據(jù)倉庫的數(shù)據(jù)的訪問方式包括:即席查詢、報(bào)表、聯(lián)機(jī)分析處理(OLAP)、數(shù)據(jù)挖掘(DM, Data Mining)以及領(lǐng)導(dǎo)信息系統(tǒng)(EIS)等,用戶可以通過瀏覽器或其它前端工具訪問數(shù)據(jù)倉庫的數(shù)據(jù)。
即席查詢和報(bào)表
即席查詢(Adhoc Query)和報(bào)表是商業(yè)智能系統(tǒng)提供給業(yè)務(wù)人員最基本的信息訪問能力,滿足他們?nèi)粘?bào)表和隨時(shí)獲取業(yè)務(wù)信息的需要。不同的業(yè)務(wù)人員,如銷售、市場、財(cái)務(wù)等人員有著自己獨(dú)特的分析要求,且這種要求需根據(jù)業(yè)務(wù)的需要不斷變化。在傳統(tǒng)的技術(shù)條件下,由于種種理由業(yè)務(wù)人員實(shí)質(zhì)上是不能直接接觸到存在計(jì)算機(jī)內(nèi)的數(shù)據(jù),如果業(yè)務(wù)人員需要對(duì)一段時(shí)間的業(yè)務(wù)匯總數(shù)據(jù),往往只能提出要求,由IT人員編寫相應(yīng)的程序把數(shù)據(jù)庫中的數(shù)據(jù)讀出來生成報(bào)表,再通過批處理打印的方法將結(jié)果交給業(yè)務(wù)人員,這種方法已經(jīng)日益不能滿足業(yè)務(wù)人員對(duì)動(dòng)態(tài)、及時(shí)及個(gè)性化信息的要求。同時(shí),這種對(duì)IT人員過多的依賴消耗太多的IT資源,增加了管理和運(yùn)作的成本。因此必須在IT與業(yè)務(wù)用戶之間正確地劃分權(quán)限,既能方便用戶自助查詢,又能保證IT的統(tǒng)一管理的即席查詢和報(bào)表功能是商業(yè)智能系統(tǒng)必須具備的功能。
用戶界面的友好性是一直以來商業(yè)智能的前端工具的一個(gè)著力點(diǎn),用戶可通過簡單的鼠標(biāo)點(diǎn)擊、拖拉等操作就可以完成復(fù)雜的查詢功能,可以在一個(gè)文檔中包含來自多個(gè)數(shù)據(jù)源的數(shù)據(jù),可以完成各種統(tǒng)計(jì)、排序、分組、計(jì)算工作,可以通過限制字段的值對(duì)結(jié)果進(jìn)行過濾,可以通過高亮度顯示突出特殊的結(jié)果集。而用傳統(tǒng)的方式下,構(gòu)造復(fù)雜的SQL查詢語句,各種復(fù)雜的統(tǒng)計(jì)和處理,結(jié)果的輸出這些都需要編寫大量程序代碼來實(shí)現(xiàn),而報(bào)表用戶任何輕微的改動(dòng)會(huì)給IT技術(shù)人員帶來的繁復(fù)的編程工作。
可以說引入這些為最終用戶設(shè)計(jì)的數(shù)據(jù)查詢和報(bào)表工具,一方面讓最終用戶真正擁有了自由查詢自己需要信息的能力,另一方面,把信息的查詢直接還給最終用戶,IT人員就可以把更多的精力放在為滿足大的方面業(yè)務(wù)需求的數(shù)據(jù)后臺(tái)整合工作上,對(duì)于IT人員和業(yè)務(wù)人員來說雙重的解放。
圖6 著名的即席查詢和報(bào)表工具BrioQuery 的查詢請(qǐng)求界面
即席查詢和報(bào)表工具是集成查詢和報(bào)表的解決方案,具有易于使用和二次開發(fā)的特點(diǎn)。
OLAP分析,又稱多維分析,管理人員往往希望從不同的角度觀察數(shù)據(jù)來審視業(yè)務(wù)情況,比如從時(shí)間、地域、產(chǎn)品、客戶等來看收入、利潤、支出等業(yè)務(wù)統(tǒng)計(jì)數(shù)字。每一個(gè)分析的角度可以叫做一個(gè)維,因此,我們把多角度分析方式稱為多維分析。以前,每一個(gè)分析的角度需要制作一張報(bào)表。多維分析工具的主要功能,是根據(jù)用戶常用的多種分析角度,事先做好匯總和計(jì)算,以便在查詢時(shí)能盡快訪問到所要的匯總數(shù)字,并快速地從一個(gè)維度轉(zhuǎn)變到另一維度繼續(xù)觀察數(shù)據(jù)。
圖7 信貸分析模型
圖7直觀地表示了一個(gè)貸款分析模型所能實(shí)現(xiàn)的可能的分析角度(維度)和數(shù)據(jù)層次(粒度):
圖8 貸款分析的角度和層次
很明顯,這個(gè)簡單的分析模型已經(jīng)包含了8╳8╳4╳4 = 1024 種不同角度不同層次對(duì)授信金額和貸款金額的統(tǒng)計(jì)分析,下面讓我們看看一些多維分析的操作。
在多維數(shù)據(jù)結(jié)構(gòu)中,按二維進(jìn)行切片,按三維進(jìn)行切塊,可得到所需要的數(shù)據(jù)。如在“貸款銀行、貸款質(zhì)量、時(shí)間”三維立方體中進(jìn)行切塊和切片,可得到各貸款銀行、各種貸款的統(tǒng)計(jì)情況。每次都是沿其中一維進(jìn)行分割稱為分片,每次沿多維進(jìn)行的分片稱為分塊。
圖9 切片一 2004年4月份所有貸款情況
圖10 切片二所有不良貸款情況
鉆取包含向下鉆取(Drill-down)和向上鉆取(Drill-up)/上卷(Roll-up)操作, 鉆取的深度與維所劃分的層次相對(duì)應(yīng)。
圖11 鉆取示意圖
旋轉(zhuǎn)(Rotate)/轉(zhuǎn)軸(Pivot)操作
通過旋轉(zhuǎn)可以得到不同視角的數(shù)據(jù)
圖12 旋轉(zhuǎn)示意圖
從上面的多維操作,我們可以看到通過對(duì)數(shù)據(jù)觀察角度的變換,可以更容易全面而深入地了解到一些關(guān)于為什么的信息。
領(lǐng)導(dǎo)信息系統(tǒng)(EIS,Executive Information System)
EIS(領(lǐng)導(dǎo)信息系統(tǒng)),是針對(duì)管理人員的需要,整合上述各種功能控制的前端應(yīng)用。通過EIS,將管理人員所需的決策信息按需集成到統(tǒng)一的界面中,幫助他們能夠快速、直接地訪問信息。與其他信息查詢方式相比,EIS更強(qiáng)調(diào)與用戶的交互能力,除了以多種形式展示數(shù)據(jù)內(nèi)容外,EIS還可以以下拉列表、按鈕、選項(xiàng)、圖標(biāo)等多種屏幕控件響應(yīng)用戶的操作,并能通過對(duì)界面的美工增強(qiáng)對(duì)用戶的親和力。
圖13 信貸分析的EIS示例
從上面一節(jié)的描述中我們已經(jīng)知道,數(shù)據(jù)倉庫的設(shè)計(jì)是商業(yè)智能應(yīng)用中十分重要的一環(huán),數(shù)據(jù)倉庫是商業(yè)智能應(yīng)用最基本的環(huán)境,OLAP分析,報(bào)表和查詢,數(shù)據(jù)挖掘等商業(yè)智能應(yīng)用都需要數(shù)據(jù)倉庫作為共同的基礎(chǔ)。
數(shù)據(jù)倉庫來源于數(shù)據(jù)庫,其本身也是由數(shù)據(jù)庫管理系統(tǒng)來管理的,但是它的結(jié)構(gòu)、功能和設(shè)計(jì)都和傳統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)方法不同,本節(jié)將會(huì)對(duì)數(shù)據(jù)倉庫技術(shù)的知識(shí)和設(shè)計(jì)方法進(jìn)行深入學(xué)習(xí),探究創(chuàng)建數(shù)據(jù)倉庫的理論和方法。
傳統(tǒng)的企業(yè)信息化實(shí)現(xiàn)的是用計(jì)算機(jī)信息處理代替人工信息處理,主要解決的是業(yè)務(wù)上的數(shù)據(jù)流問題。讓我們來看一個(gè)簡單的例子。在銀行中, 一般都有存款、貸款、信用卡、代理業(yè)務(wù)等多種業(yè)務(wù)系統(tǒng), 它們都是支持相關(guān)業(yè)務(wù)處理而設(shè)計(jì)的交易處理系統(tǒng), 系統(tǒng)主要任務(wù)是完成日常業(yè)務(wù)交易過程中的數(shù)據(jù)處理,這種操作型系統(tǒng)的使用人員通常是企業(yè)的具體操作人員,處理的數(shù)據(jù)通常也是企業(yè)業(yè)務(wù)中的細(xì)節(jié)信息,譬如具體的一筆業(yè)務(wù)。
針對(duì)操作型數(shù)據(jù)處理的聯(lián)機(jī)業(yè)務(wù)處理(OLTP)系統(tǒng),我們總是按照業(yè)務(wù)應(yīng)用來建立它的數(shù)據(jù)模型,換言之, 業(yè)務(wù)處理系統(tǒng)是面向操作應(yīng)用來設(shè)計(jì)的,聯(lián)機(jī)業(yè)務(wù)處理系統(tǒng)更是面向交易來設(shè)計(jì),存儲(chǔ)操作型數(shù)據(jù)的數(shù)據(jù)庫在設(shè)計(jì)的時(shí)候主要是圍繞性能和完整性方面,而每個(gè)交易涉及的數(shù)據(jù)往往只是記錄的層面,數(shù)據(jù)庫設(shè)計(jì)主要考慮對(duì)并行更新的支持比較多,并不需要考慮為全局查詢做優(yōu)化。另外,企業(yè)針對(duì)不同業(yè)務(wù)往往可能有多個(gè)操作型的系統(tǒng),這些系統(tǒng)開發(fā)的時(shí)候都是獨(dú)立進(jìn)行的,相互之間沒有什么數(shù)據(jù)聯(lián)系,各系統(tǒng)之間對(duì)實(shí)際業(yè)務(wù)中相同的信息在數(shù)據(jù)上是冗余,而在不同的系統(tǒng)表達(dá)方式和數(shù)據(jù)內(nèi)容上很可能不一致,甚至項(xiàng)目矛盾。比如每個(gè)系統(tǒng)中都會(huì)有存放客戶部分信息的數(shù)據(jù), 信息分布的零碎和冗余,使決策者很難從這些業(yè)務(wù)系統(tǒng)中直接地獲取全面的信息。
分析型系統(tǒng)的使用人員通常是企業(yè)的中高層的管理者,或者是從事數(shù)據(jù)分析的分析師,他們關(guān)注的更多是企業(yè)宏觀的信息而非具體的細(xì)節(jié),其使用數(shù)據(jù)的目的是為企業(yè)的決策者做決策提供支持。分析型系統(tǒng)直接在操作型系統(tǒng)中提取數(shù)據(jù)會(huì)遇到下面很多問題。
其一是操作型數(shù)據(jù)之間往往需要復(fù)雜的關(guān)系來保持快捷性、一致性和實(shí)時(shí)性,要將其直接用于分析,需要?jiǎng)?chuàng)建很復(fù)雜的特殊查詢語句,這項(xiàng)工作的技術(shù)復(fù)雜度明顯不符合數(shù)據(jù)分析的用戶群的需要;
其二是在事務(wù)處理系統(tǒng)中進(jìn)行數(shù)據(jù)分析,由于短時(shí)間需要查詢大量的數(shù)據(jù),一方面會(huì)明顯影響事務(wù)處理系統(tǒng)的處理速度和性能,另一方面也會(huì)由于響應(yīng)時(shí)間過慢而影響分析的效率;
其三是在進(jìn)行預(yù)測、決策時(shí)需要大量全面、正確的集成數(shù)據(jù),所有這些集成數(shù)據(jù)不僅包括企業(yè)內(nèi)部的數(shù)據(jù),還包括企業(yè)外部的數(shù)據(jù),如行業(yè)信息、競爭對(duì)手信息等。而操作型數(shù)據(jù)僅僅保存與本業(yè)務(wù)相關(guān)的信息,缺少與決策相關(guān)的集成數(shù)據(jù)尤其是企業(yè)外部數(shù)據(jù)。
其四是歷史數(shù)據(jù)問題。供決策分析的數(shù)據(jù)一般是歷史數(shù)據(jù),而操作型數(shù)據(jù)庫一般只保留當(dāng)前或近期的數(shù)據(jù)信息。
以上諸多問題的存在,導(dǎo)致企業(yè)或其他組織機(jī)構(gòu)無法直接使用現(xiàn)有的業(yè)務(wù)系統(tǒng)中存儲(chǔ)操作型數(shù)據(jù)的傳統(tǒng)數(shù)據(jù)庫系統(tǒng)以滿足預(yù)測、決策分析的需要。因此,預(yù)測、決策分析需要一個(gè)能夠不受傳統(tǒng)事務(wù)處理的約束,高效率處理決策分析數(shù)據(jù)的支持環(huán)境,數(shù)據(jù)倉庫就是滿足分析型系統(tǒng)要求的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)組織環(huán)境。
功能決定結(jié)構(gòu),承接上一節(jié)的討論,我們知道OLAP系統(tǒng)和OLTP系統(tǒng)從本質(zhì)上是不同的,數(shù)據(jù)倉庫雖然是從傳統(tǒng)數(shù)據(jù)庫系統(tǒng)發(fā)展而來,但是兩者還是存在著諸多差異,如:從數(shù)據(jù)存儲(chǔ)的內(nèi)容看,數(shù)據(jù)庫只存放當(dāng)前值,而數(shù)據(jù)倉庫則存放歷史值;數(shù)據(jù)倉庫數(shù)據(jù)的目標(biāo)是面向業(yè)務(wù)操作人員的,為業(yè)務(wù)處理人員提供數(shù)據(jù)處理的支持,而數(shù)據(jù)倉庫則是面向中高層管理人員的,為其提供決策支持。表6-2詳細(xì)說明了數(shù)據(jù)倉庫與傳統(tǒng)數(shù)據(jù)庫的區(qū)別。
表2 數(shù)據(jù)倉庫與傳統(tǒng)數(shù)據(jù)庫的比較
比較項(xiàng)目 | 數(shù)據(jù)庫 | 數(shù)據(jù)倉庫 |
數(shù)據(jù)內(nèi)容 | 當(dāng)前值 | 歷史的、歸檔的、歸納的、計(jì)算的數(shù)據(jù)(處理過的) |
數(shù)據(jù)目標(biāo) | 面向業(yè)務(wù)操作程序、重復(fù)操作 | 面向主體域,分析應(yīng)用 |
數(shù)據(jù)特性 | 動(dòng)態(tài)變化、更新 | 靜態(tài)、不能直接更新,只能定時(shí)添加、更新 |
數(shù)據(jù)結(jié)構(gòu) | 高度結(jié)構(gòu)化、復(fù)雜,適合操作計(jì)算 | 簡單、適合分析 |
使用頻率 | 高 | 低 |
數(shù)據(jù)訪問量 | 每個(gè)事務(wù)一般只訪問少量記錄 | 每個(gè)事務(wù)一般訪問大量記錄 |
對(duì)響應(yīng)時(shí)間的要求 | 計(jì)時(shí)單位小,如秒 | 計(jì)時(shí)單位相對(duì)較大,除了秒,還有分鐘、小時(shí) |
數(shù)據(jù)倉庫的特點(diǎn)可以從數(shù)據(jù)倉庫的定義來理解,目前,數(shù)據(jù)倉庫一詞尚沒有一個(gè)統(tǒng)一的定義,著名的數(shù)據(jù)倉庫專家W.H.Inmon在其著作《Building the Data Warehouse》一書中給予如下描述:“數(shù)據(jù)倉庫(Data Warehouse)是一個(gè)面向主題的(Subject Oriented)、集成的(Integrated)、非易失的(Non-Volatile)、且隨時(shí)間變化的(Time Variant)的數(shù)據(jù)集合,用于支持管理決策?!彼赋隽藬?shù)據(jù)倉庫4個(gè)最重要的特征。
1) 面向主題的(Subject Oriented):操作型數(shù)據(jù)庫的數(shù)據(jù)組織面向事務(wù)處理任務(wù)(面向應(yīng)用),各個(gè)業(yè)務(wù)系統(tǒng)之間各自分離,而數(shù)據(jù)倉庫中的數(shù)據(jù)是按照一定的主題域進(jìn)行組織。主題是一個(gè)抽象的概念,是指用戶使用數(shù)據(jù)倉庫進(jìn)行決策時(shí)所關(guān)心的重點(diǎn)方面,一個(gè)主題通常與多個(gè)操作型系統(tǒng)的數(shù)據(jù)相關(guān)。例如,一個(gè)銀行的事務(wù)處理(應(yīng)用問題)包括存款業(yè)務(wù)、信用卡業(yè)務(wù)、貸款業(yè)務(wù)和代理業(yè)務(wù)等,而銀行的主要主題范圍是客戶、產(chǎn)品和渠道等。
圖14 數(shù)據(jù)倉庫面向主題的特性
2) 集成的(Integrated):在數(shù)據(jù)倉庫的所有特性中,這是最重要的。面向事務(wù)處理的操作型數(shù)據(jù)庫通常與某些特定的應(yīng)用相關(guān),數(shù)據(jù)庫之間相互獨(dú)立,并且往往是異構(gòu)的。而數(shù)據(jù)倉庫中的數(shù)據(jù)是在對(duì)原有分散的數(shù)據(jù)庫數(shù)據(jù)抽取、清理的基礎(chǔ)上經(jīng)過系統(tǒng)加工、匯總和整理得到的,必須消除源數(shù)據(jù)中的不一致性,以保證數(shù)據(jù)倉庫內(nèi)的信息是關(guān)于整個(gè)企業(yè)的一致的全局信息。下例說明當(dāng)數(shù)據(jù)由面向事務(wù)處理的操作型數(shù)據(jù)向數(shù)據(jù)倉庫傳送時(shí)所進(jìn)行的集成。有四個(gè)不同的應(yīng)用系統(tǒng),系統(tǒng)中對(duì)人的性別的標(biāo)識(shí)分別為:
表3 示例
| 男性 | 女性 |
系統(tǒng)A | 男 | 女 |
系統(tǒng)B | M | f |
系統(tǒng)C | 1 | 0 |
系統(tǒng)D | M | F |
那么,在將四個(gè)系統(tǒng)的性別信息向數(shù)據(jù)倉庫導(dǎo)入時(shí)就涉及到集成問題,例如,可以統(tǒng)一將性別信息表示為m,f。
3) 非易失的(Non-Volatile):操作型數(shù)據(jù)庫中的數(shù)據(jù)通常實(shí)時(shí)更新,數(shù)據(jù)根據(jù)需要及時(shí)發(fā)生變化。數(shù)據(jù)倉庫的數(shù)據(jù)主要供企業(yè)決策分析之用,所涉及的數(shù)據(jù)操作主要是數(shù)據(jù)查詢,一旦某個(gè)數(shù)據(jù)進(jìn)入數(shù)據(jù)倉庫以后,一般情況下將被長期保留,也就是數(shù)據(jù)倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載、刷新。
圖15 數(shù)據(jù)倉庫的相對(duì)穩(wěn)定性、非易失性
圖15說明了操作型數(shù)據(jù)環(huán)境下,是正規(guī)地一次訪問和處理一個(gè)記錄,可以對(duì)數(shù)據(jù)進(jìn)行修改和更新。但數(shù)據(jù)倉庫中的數(shù)據(jù)卻表現(xiàn)出不同的特性:數(shù)據(jù)通常是被一起載入和訪問的,而且在數(shù)據(jù)倉庫環(huán)境中并不進(jìn)行一般意義上的數(shù)據(jù)更新操作。
4) 時(shí)變的(Time-Variant):反映歷史變化或者說是隨著歷史變化。操作型數(shù)據(jù)庫主要關(guān)心當(dāng)前某一個(gè)時(shí)間段內(nèi)的數(shù)據(jù),而數(shù)據(jù)倉庫中的數(shù)據(jù)通常包含歷史信息,系統(tǒng)記錄了企業(yè)從過去某一時(shí)點(diǎn)(如開始應(yīng)用數(shù)據(jù)倉庫的時(shí)點(diǎn))到目前的各個(gè)階段的信息,通過這些信息,可以對(duì)企業(yè)的發(fā)展歷程和未來趨勢做出定量分析和預(yù)測。
數(shù)據(jù)倉庫的反映歷史變化的屬性主要表現(xiàn)在:
1) 數(shù)據(jù)倉庫中的數(shù)據(jù)時(shí)間期限要遠(yuǎn)遠(yuǎn)長于傳統(tǒng)操作型數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)時(shí)間期限,傳統(tǒng)操作型數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)時(shí)間期限可能未為數(shù)十天或數(shù)個(gè)月,數(shù)據(jù)倉庫中的數(shù)據(jù)時(shí)間期限往往為數(shù)年甚至幾十年;
2) 傳統(tǒng)操作型數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)含有“當(dāng)前值”的數(shù)據(jù),這些數(shù)據(jù)在訪問時(shí)是有效的,當(dāng)然數(shù)據(jù)的當(dāng)前值也能被更新,但數(shù)據(jù)倉庫中的數(shù)據(jù)僅僅是一系列某一時(shí)刻(可能是傳統(tǒng)操作型數(shù)據(jù)系統(tǒng))生成的復(fù)雜的快照;
3) 傳統(tǒng)操作型數(shù)據(jù)系統(tǒng)中可能包含也可能不包含時(shí)間元素,如年、月、日、時(shí)、分、秒等,而數(shù)據(jù)倉庫中一定會(huì)包含時(shí)間元素。
目前數(shù)據(jù)庫技術(shù)中主流的關(guān)系數(shù)據(jù)庫是采用二維表的形式來表示數(shù)據(jù),在設(shè)計(jì)上使用關(guān)系模型理論來建模,建模方法是第三范式(3NF, 即 Third Normal Form),3NF是關(guān)系數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)理論,按3NF設(shè)計(jì)的數(shù)據(jù)庫存放業(yè)務(wù)處理的數(shù)據(jù)是合適的,同時(shí)也體現(xiàn)了操作型數(shù)據(jù)的信息局部性,如果直接在上面做分析操作,必然需要由很多個(gè)表做連接操作才能得到需要的相對(duì)完整的信息。
而數(shù)據(jù)倉庫的結(jié)構(gòu)是要面向多維分析的,并且是按面向主題的方式來組織,星型模式體現(xiàn)的是多維的數(shù)據(jù)關(guān)系,它由一個(gè)事實(shí)表(Fact Table)和一組維表(Dimension Table)組成。每個(gè)維表都有一個(gè)維作為主鍵,所有這些維的主鍵組合成事實(shí)表的主鍵。事實(shí)表的非主鍵屬性稱為度量值(Measure)或者事實(shí) (Fact),它們一般都是數(shù)值或其他可以進(jìn)行計(jì)算的數(shù)據(jù); 而維大都是文字、時(shí)間等類型的數(shù)據(jù),按這種方式組織好數(shù)據(jù)我們就可以按照不同的維(事實(shí)表的主鍵的部分或全部)來對(duì)這些度量值數(shù)據(jù)進(jìn)行求和(summary)、求平均(average)、計(jì)數(shù)(count)、百分比(percent)的聚集計(jì)算,這樣就可以從不同的角度觀察反映所分析的業(yè)務(wù)狀況的數(shù)據(jù),下面給出一個(gè)針對(duì)銀行貸款業(yè)務(wù)狀況的分析模型的例子。
圖16 例子:貸款分析星型模型
圖16是銀行貸款分析的模型設(shè)計(jì),其中加邊框的為主關(guān)鍵字(PK, Primary Key),其中貸款分析表是一個(gè)事實(shí)表,其中的貸款授信金額,貸款金額(發(fā)生額)是需要從各角度觀察的數(shù)據(jù)(度量值),而對(duì)這兩個(gè)數(shù)據(jù)的觀察的角度可以有區(qū)域、銀行、時(shí)間,質(zhì)量這四個(gè)方面組合進(jìn)行,通過這些分析角度的組合,可以對(duì)授信金額和貸款余額進(jìn)行4 ╳ 8 ╳ 4 ╳ 8種不同角度的數(shù)據(jù)統(tǒng)計(jì),以此可以對(duì)貸款情況的從多個(gè)角度(維)不次(數(shù)據(jù)不同的匯總程度)進(jìn)行分析和觀察,貸款分析人員既可以宏觀地看到貸款業(yè)務(wù)的整體情況,又可以微觀地觀察到具體某一家銀行某一天某一類貸款情況。進(jìn)行多維分析的時(shí)候,維度選擇越多數(shù)據(jù)越細(xì)節(jié)(劃分得更細(xì)了),維度選擇越少數(shù)據(jù)越匯總越宏觀。
這個(gè)模型中,一個(gè)中間一個(gè)細(xì)長的大表(事實(shí)表,記錄數(shù)很多,字段數(shù)目卻不多)形成主表,周圍一組小表(維表,記錄數(shù)很少)與主表相關(guān)聯(lián)的結(jié)構(gòu),形態(tài)上如圖17所示呈星星的形狀,所以被命名為星型結(jié)構(gòu),星型模型是數(shù)據(jù)倉庫的數(shù)據(jù)模型與傳統(tǒng)關(guān)系數(shù)據(jù)庫應(yīng)用相區(qū)分的一個(gè)重要特征。
圖17 數(shù)據(jù)倉庫典型的邏輯模型形狀
星型模型雖然也是一個(gè)關(guān)系模型,但是它不是一個(gè)規(guī)范化的模型,在星型模型中,維度表被故意非規(guī)范化了,使用星型模式主要有兩方面原因:
提高查詢效率:同一個(gè)主題的主要的數(shù)據(jù)都存放在龐大的事實(shí)表中,只要掃描事實(shí)表就可以進(jìn)行查詢,而不必把多個(gè)表聯(lián)接起來;
便于用戶理解:星型模式比較直觀,通過星型模式,很容易組合出各種查詢。
雪花模型是對(duì)星型模型的一個(gè)擴(kuò)展,每一個(gè)維表還可以向外面連接多個(gè)詳細(xì)類別表。例如上面的貸款銀行維表可以再擴(kuò)展一個(gè)銀行級(jí)別類表,而形成一個(gè)雪花型的結(jié)構(gòu)。而由于數(shù)據(jù)倉庫不必要考慮滿足第三范式,也不必要考慮避免冗余,可以考慮把詳細(xì)類別表的字段合并入維表里面,由此可見,在星型模式的基礎(chǔ)上拓展而成的雪花型模型,實(shí)際上是對(duì)分析查詢性能和數(shù)據(jù)倉庫容量兩方面的平衡。
圖18 雪花模型示意圖
一個(gè)復(fù)雜的商業(yè)智能應(yīng)用往往會(huì)在數(shù)據(jù)倉庫中存放多個(gè)事實(shí)表,這時(shí)就出現(xiàn)多個(gè)事實(shí)表共享一個(gè)或者多個(gè)維表的情況,這就形成了星座模式,例如我們可以復(fù)用以上貸款分型模型的維表到存款分析模型中,如圖19, 公共維表設(shè)計(jì)在數(shù)據(jù)倉庫項(xiàng)目中有普遍意義。
圖19 例子:存、貸款分析星座模型
2.5數(shù)據(jù)集市
簡單地把數(shù)據(jù)集市(DM,Data Market)理解成數(shù)據(jù)倉庫的一部分是不對(duì)的,因?yàn)閮烧唠m然在數(shù)據(jù)上有非常密切的聯(lián)系,而定位上卻是不同的。數(shù)據(jù)倉庫所對(duì)應(yīng)的是整個(gè)企業(yè)的層面的整體信息視圖,體現(xiàn)決策信息在企業(yè)的共性需求。而對(duì)于企業(yè)內(nèi)同一個(gè)業(yè)務(wù)概念,由于業(yè)務(wù)觀點(diǎn)的不同導(dǎo)致大家對(duì)數(shù)據(jù)的理解和運(yùn)用有不同的視角,缺乏針對(duì)性的單一個(gè)模型并不能都滿足這種不同觀點(diǎn)的數(shù)據(jù)需求。例如客戶是現(xiàn)在企業(yè)非常重要的一個(gè)信息主題,而從產(chǎn)品經(jīng)理的角度,可能關(guān)心的是客戶的消費(fèi)喜好和消費(fèi)行為,而從財(cái)務(wù)經(jīng)理的角度,更多地可能是關(guān)心客戶的成本和帶來的收益,這些不同的數(shù)據(jù)的使用觀點(diǎn)需要不同的數(shù)據(jù)模型來滿足,一般而言,數(shù)據(jù)倉庫可以理解為企業(yè)決策信息平臺(tái)提供總數(shù)據(jù)支持的,數(shù)據(jù)集市可以理解為部門范圍級(jí)別的決策支持應(yīng)用而設(shè)計(jì)的,其數(shù)據(jù)模型設(shè)計(jì)和數(shù)據(jù)組織上更多地服務(wù)于一個(gè)部門的信息需求。
結(jié)合數(shù)據(jù)集市的數(shù)據(jù)來源,數(shù)據(jù)集市有兩種,獨(dú)立的數(shù)據(jù)集市(Independent Data Mart)和從屬的數(shù)據(jù)集市(DependentData Mart)。如圖20所示:
圖20 數(shù)據(jù)集市類型
從屬數(shù)據(jù)集市的數(shù)據(jù)直接來自于中央數(shù)據(jù)倉庫,這樣有利于保持?jǐn)?shù)據(jù)的一致性,因?yàn)閬碜酝粩?shù)據(jù)源并且已經(jīng)經(jīng)過一致性處理和檢驗(yàn)。從屬數(shù)據(jù)集市的作用在于,為一些部門建立數(shù)據(jù)集市,將需要的數(shù)據(jù)復(fù)制、加工到其中,這樣不僅可以提高該部門的訪問速度,同時(shí)也為能滿足該部門的一些特殊的分析需求。
獨(dú)立數(shù)據(jù)集市的數(shù)據(jù)直接來自于業(yè)務(wù)系統(tǒng),由于為各個(gè)部門都建立了各自的數(shù)據(jù)集市,而當(dāng)需要從整體上建立一個(gè)數(shù)據(jù)倉庫時(shí),不同數(shù)據(jù)集市中的數(shù)據(jù)表達(dá)由于各部門的不同特殊需要而有所不同,將這種不一致的數(shù)據(jù)整合到一個(gè)中心數(shù)據(jù)倉庫時(shí),可能會(huì)遇到一些困難,比如重新設(shè)計(jì)、各部門協(xié)調(diào)等。其優(yōu)點(diǎn)是建立迅速、價(jià)格相對(duì)低廉。因此建立獨(dú)立數(shù)據(jù)集市往往是由于投資方面的考慮或工期的緊迫,或解決某部門的迫切需要。然而需要注意的是,在設(shè)計(jì)其它部門的數(shù)據(jù)集市或中心數(shù)據(jù)倉庫時(shí),要充分考慮現(xiàn)有數(shù)據(jù)集市的設(shè)計(jì),以避免設(shè)計(jì)的不一致性而造成后期整合的困難及昂貴的費(fèi)用。
表4 從屬數(shù)據(jù)集市與獨(dú)立數(shù)據(jù)集市對(duì)比表
對(duì)比 | 優(yōu)點(diǎn) | 缺點(diǎn) |
從屬數(shù)據(jù)集市 | 保證數(shù)據(jù)一致性; 架構(gòu)比較理想,可擴(kuò)展能力強(qiáng) | 依賴與中心數(shù)據(jù)倉庫的實(shí)施; 實(shí)施周期長; 實(shí)施成本高; |
獨(dú)立數(shù)據(jù)集市 | 實(shí)施周期短; 實(shí)施成本低; | 沒有消除信息分割; 可擴(kuò)展能力弱; 后期整合困難。 |
粒度
粒度是數(shù)據(jù)倉庫的重要概念。粒度可以分為兩種形式,第一種粒度是對(duì)數(shù)據(jù)倉庫中的數(shù)據(jù)的匯總程度高低的一個(gè)度量,它既影響數(shù)據(jù)倉庫中的數(shù)據(jù)量的多少,也影響數(shù)據(jù)倉庫所能回答詢問信息的種類。在數(shù)據(jù)倉庫中,多維粒度是必不可少的。由于數(shù)據(jù)倉庫的主要作用是多維分析,因而絕大多數(shù)查詢都基于一定程度的匯總數(shù)據(jù)之上的,只有極少數(shù)查詢涉及到細(xì)節(jié)。
還有一種粒度形式,即樣本數(shù)據(jù)庫。它根據(jù)給定的采樣率從細(xì)節(jié)數(shù)據(jù)庫中抽取出一個(gè)子集。這樣樣本數(shù)據(jù)庫中的粒度就不是根據(jù)匯總程度的不同來劃分的,而是有采樣率的高低來劃分,采樣粒度不同的樣本數(shù)據(jù)庫可以具有相同的數(shù)據(jù)匯總程度。
聚合
事實(shí)表中存放的度量值,根據(jù)其實(shí)際意義可以分成是可加性的度量值和非可加性的度量值。可加性的度量值指將同一個(gè)事實(shí)表里面的不同記錄的該數(shù)值相加得到的結(jié)果還有具體意義,譬如上面例子中的貸款金額,將一個(gè)季度的3個(gè)月的數(shù)字相加可以得到季度的數(shù)據(jù),1年12個(gè)月的數(shù)字相加可以得到年度的數(shù)據(jù)。
由于事實(shí)表一般記錄數(shù)都非常多,而且會(huì)隨著時(shí)間數(shù)據(jù)越積累越多,用戶直接在上面做匯總計(jì)算來觀察一些度量值的時(shí)候,可能需要等很長時(shí)間才能得到匯總計(jì)算的結(jié)果。所以在確定了數(shù)據(jù)的粒度后,為了提高數(shù)據(jù)倉庫的使用性能,可以根據(jù)用戶的要求,可以按照維度的不同組合來設(shè)計(jì)聚合模型,從而在事實(shí)表的基礎(chǔ)上再設(shè)置一些聚合表,存儲(chǔ)一些在事實(shí)表的基礎(chǔ)上預(yù)先匯總好的聚合數(shù)據(jù),讓用戶獲得更好的查詢性能。
分割
分割是數(shù)據(jù)倉庫中的數(shù)據(jù)存儲(chǔ)中的另外一個(gè)重要概念,它的目的在于提高效率。它是將數(shù)據(jù)分散到各自的物理單元中去, 以便能分別獨(dú)立處理,以實(shí)現(xiàn)查詢操作的并行。有許多數(shù)據(jù)分割的標(biāo)準(zhǔn)可供參考:如時(shí)間、地域、業(yè)務(wù)領(lǐng)域等等,也可以是其組合。一般而言,分割標(biāo)準(zhǔn)總應(yīng)包括一些能讓它十分自然而且分割均勻的項(xiàng)目,例如時(shí)間項(xiàng)。
往往一個(gè)數(shù)據(jù)倉庫需要包容和整合成千上萬的信息內(nèi)容,內(nèi)容的多樣性使數(shù)據(jù)倉庫的數(shù)據(jù)結(jié)構(gòu)顯得異常的龐大很復(fù)雜,因此,要簡單地用一種不需要言傳的方式來描述一個(gè)數(shù)據(jù)倉庫的內(nèi)容和結(jié)構(gòu)是不可能的事情,因而在從開發(fā)到運(yùn)行維護(hù)的整個(gè)數(shù)據(jù)倉庫生命周期中,如何描述數(shù)據(jù)倉庫里面有的東西成了一件非常重要的事情。
元數(shù)據(jù)(Meta-data)通常定義為“關(guān)于數(shù)據(jù)的數(shù)據(jù)”,是描述和管理數(shù)據(jù)倉庫自身內(nèi)容對(duì)象、用來表示數(shù)據(jù)項(xiàng)的意義及其在系統(tǒng)各組成部件之間的關(guān)系的數(shù)據(jù)。實(shí)際上,數(shù)據(jù)倉庫所提供的“統(tǒng)一的企業(yè)級(jí)的信息視圖”能力,主要就是靠元數(shù)據(jù)來體現(xiàn),如果把建設(shè)數(shù)據(jù)倉庫比喻成搭建房子,元數(shù)據(jù)就是房子的“圖紙”。是從廣義上來講,用元數(shù)據(jù)來描述數(shù)據(jù)倉庫對(duì)象的任何東西——無論是一個(gè)表、一個(gè)列、一個(gè)查詢、一個(gè)商業(yè)規(guī)則,或者是數(shù)據(jù)倉庫內(nèi)部的數(shù)據(jù)轉(zhuǎn)移。它在數(shù)據(jù)源的抽取、數(shù)據(jù)加工、訪問與使用等過程中都會(huì)存在。實(shí)現(xiàn)元數(shù)據(jù)管理的主要目標(biāo)就是使企業(yè)內(nèi)部元數(shù)據(jù)的定義標(biāo)準(zhǔn)化。數(shù)據(jù)倉庫的維護(hù)工具可以根據(jù)元數(shù)據(jù)的“指示”完成數(shù)據(jù)的抽取、清洗和轉(zhuǎn)換,并做適度的匯總,數(shù)據(jù)倉庫的元數(shù)據(jù)包括:
(1)數(shù)據(jù)資源:包括各個(gè)數(shù)據(jù)源的模型,描述源數(shù)據(jù)表字段屬性及業(yè)務(wù)含義,源數(shù)據(jù)到數(shù)據(jù)倉庫的映射關(guān)系;
(2)數(shù)據(jù)組織:數(shù)據(jù)倉庫、數(shù)據(jù)集市表的結(jié)構(gòu)、屬性及業(yè)務(wù)含義,多維結(jié)構(gòu)等等;
(3)數(shù)據(jù)應(yīng)用:查詢與報(bào)表輸出格式描述、OLAP、數(shù)據(jù)挖掘等的數(shù)據(jù)模型的信息展現(xiàn)、商業(yè)術(shù)語;
(4)數(shù)據(jù)管理:這里包括數(shù)據(jù)倉庫過程以及數(shù)據(jù)倉庫操作結(jié)果的模型,包括描述數(shù)據(jù)抽取和清洗規(guī)則、數(shù)據(jù)加載控制、臨時(shí)表結(jié)構(gòu)、用途和使用情況、數(shù)據(jù)匯總控制。
元數(shù)據(jù)貫穿整個(gè)數(shù)據(jù)倉庫項(xiàng)目,所有數(shù)據(jù)處理環(huán)節(jié)必須最大化的參照元數(shù)據(jù),這樣才能保證數(shù)據(jù)倉庫項(xiàng)目不會(huì)因?yàn)椴粩嘣鲩L的數(shù)據(jù)多樣性而失去秩序,特別是現(xiàn)行應(yīng)用的異構(gòu)性與分布性越來越普遍的情況下,統(tǒng)一的元數(shù)據(jù)就愈發(fā)重要了?!靶畔⒐聧u”曾經(jīng)是很多企業(yè)對(duì)其應(yīng)用現(xiàn)狀的一種抱怨和概括,而合理的元數(shù)據(jù)則會(huì)有效的描繪出信息的關(guān)聯(lián)性,從而大大降低了數(shù)據(jù)倉庫后期的維護(hù)和運(yùn)行成本。
按照元數(shù)據(jù)的使用情況和面向?qū)ο蟮牟煌?,可以將元?shù)據(jù)分為業(yè)務(wù)元數(shù)據(jù)、技術(shù)元數(shù)據(jù)、操作元數(shù)據(jù)。
業(yè)務(wù)元數(shù)據(jù)用業(yè)務(wù)名稱、定義、描述和別名來表示數(shù)據(jù)倉庫和業(yè)務(wù)系統(tǒng)中的各種屬性,直接供最終用戶使用。業(yè)務(wù)元數(shù)據(jù)使最終用戶能夠更好理解、使用數(shù)據(jù)倉庫,成為最終用戶在數(shù)據(jù)倉庫中的業(yè)務(wù)信息地圖。
業(yè)務(wù)元數(shù)據(jù)在系統(tǒng)的數(shù)據(jù)倉庫中的體現(xiàn)是全方位的,例如,最終用戶通過瀏覽元數(shù)據(jù)可以清晰地了解當(dāng)前指標(biāo)代表什么業(yè)務(wù)、如何計(jì)算得出的、以什么為單位等相關(guān)描述信息。
技術(shù)元數(shù)據(jù)描述了源系統(tǒng)、數(shù)據(jù)轉(zhuǎn)換、抽取過程、工作流、加載策略以及目標(biāo)數(shù)據(jù)庫的定義等。技術(shù)元數(shù)據(jù)可供信息系統(tǒng)人員和一部分最終用戶使用,用來進(jìn)行影響分析、變化管理、數(shù)據(jù)庫優(yōu)化、任務(wù)調(diào)度和安全管理等。
OLTP業(yè)務(wù)系統(tǒng)和數(shù)據(jù)倉庫OLAP分析系統(tǒng)之間存在復(fù)雜、多方面的區(qū)別,因此,數(shù)據(jù)在業(yè)務(wù)系統(tǒng)和分析系統(tǒng)之間的處理、加載也是復(fù)雜和涉及多方面的。技術(shù)元數(shù)據(jù)對(duì)數(shù)據(jù)在兩個(gè)系統(tǒng)間處理、加載的規(guī)則、過程、相關(guān)策略進(jìn)行了描述。
操作元數(shù)據(jù)描述了目標(biāo)表中的信息,如粒度、創(chuàng)建目標(biāo)表和索引的信息、刷新時(shí)間、記錄數(shù)、按時(shí)執(zhí)行任務(wù)的設(shè)置以及有權(quán)訪問數(shù)據(jù)的用戶。操作元數(shù)據(jù)用于數(shù)據(jù)倉庫的維護(hù)和分布。
雖然元數(shù)據(jù)依據(jù)具體應(yīng)用特點(diǎn)分為業(yè)務(wù)元數(shù)據(jù)、技術(shù)元數(shù)據(jù)和操作元數(shù)據(jù),但是,在實(shí)際應(yīng)用中以上三類元數(shù)據(jù)是相互參照和關(guān)聯(lián)的。只有業(yè)務(wù)、技術(shù)、操作之間的協(xié)調(diào)和互補(bǔ)才能充分發(fā)揮數(shù)據(jù)倉庫的潛能,提高數(shù)據(jù)倉庫的利用效率。
4、元數(shù)據(jù)標(biāo)準(zhǔn)CWM
OMG于2001年頒布元數(shù)據(jù)標(biāo)準(zhǔn)CWM 1.0(CommonWarehouse Metamodel Version 1.0)。CWM定義一個(gè)描述數(shù)據(jù)源、數(shù)據(jù)目的、轉(zhuǎn)換、分析的元數(shù)據(jù)框架,以及定義建立和管理數(shù)據(jù)倉庫的過程和操作,提供使用信息的繼承。
目前宣布支持CWM的廠商包括:IBM、Oracle、Hyperion、DimensionEDI、Genesis IONA、HP、NCR和Unisys等。
CWM基于3個(gè)工業(yè)標(biāo)準(zhǔn):
(1)UML - Unified Modeling Language,OMG建模標(biāo)準(zhǔn);
(2)MOF - Meta Object Facility,OMG建立元模型和模型庫的標(biāo)準(zhǔn),提供在異構(gòu)環(huán)境下的數(shù)據(jù)交換的接口;
(3)XMI - XML Metadata Interchange,OMG元數(shù)據(jù)交換標(biāo)準(zhǔn)。
數(shù)據(jù)倉庫是以商業(yè)智能應(yīng)用為目的而設(shè)計(jì)的,所以從廣義的數(shù)據(jù)倉庫設(shè)計(jì)應(yīng)該包括數(shù)據(jù)倉庫中的數(shù)據(jù)模型設(shè)計(jì)和在其上面的數(shù)據(jù)分析應(yīng)用設(shè)計(jì)2個(gè)方面,數(shù)據(jù)倉庫的應(yīng)用和數(shù)據(jù)倉庫的設(shè)計(jì)一脈相承,共同構(gòu)成整個(gè)數(shù)據(jù)倉庫系統(tǒng)的生命周期,這個(gè)周期包括3個(gè)階段:數(shù)據(jù)倉庫規(guī)劃階段,數(shù)據(jù)倉庫設(shè)計(jì)實(shí)施階段,數(shù)據(jù)倉庫使用維護(hù)階段。
正如1.2節(jié)描述的商業(yè)智能是一個(gè)過程,這3個(gè)階段也構(gòu)成了一個(gè)不斷循環(huán)、完善和提高的過程,一般情況下數(shù)據(jù)倉庫不可能在一個(gè)循環(huán)過程中完成,而是需要多次循環(huán)開發(fā),每次循環(huán)會(huì)為系統(tǒng)增加新的功能,使數(shù)據(jù)倉庫的應(yīng)用得到新的提高。
圖21 數(shù)據(jù)倉庫的生命周期
微觀上的數(shù)據(jù)倉庫設(shè)計(jì)實(shí)際上是指數(shù)據(jù)倉庫的數(shù)據(jù)模型設(shè)計(jì),這個(gè)層面的主要任務(wù)是數(shù)據(jù)建模,確定數(shù)據(jù)倉庫中數(shù)據(jù)的內(nèi)容及其構(gòu)成關(guān)系。和數(shù)據(jù)庫的設(shè)計(jì)一樣,數(shù)據(jù)倉庫的設(shè)計(jì)也是在概念模型、邏輯模型和物理模型的依次轉(zhuǎn)換過程中實(shí)現(xiàn),而作為建設(shè)數(shù)據(jù)倉庫的“圖紙”,元數(shù)據(jù)模型則自始至終伴隨著數(shù)據(jù)倉庫的開發(fā)、實(shí)施和使用。
圖22 數(shù)據(jù)倉庫數(shù)據(jù)模型設(shè)計(jì)的步驟
總體來說,創(chuàng)建數(shù)據(jù)倉庫的方式,一般而言,有三種方式:
1. 自上而下。把數(shù)據(jù)倉庫定義為一個(gè)大系統(tǒng),“全局考慮,全面實(shí)施”,建立適合企業(yè)信息共性需求的完整的數(shù)據(jù)模型,然后從業(yè)務(wù)運(yùn)營系統(tǒng)中提取數(shù)據(jù),進(jìn)行數(shù)據(jù)的清洗、合并、規(guī)范化和合理化,并加載到數(shù)據(jù)倉庫中,形成企業(yè)統(tǒng)一的數(shù)據(jù)集成平臺(tái),最后可以根據(jù)部門個(gè)性需要將數(shù)據(jù)倉庫的數(shù)據(jù)分發(fā)到面向主題的數(shù)據(jù)集市中。
自上而下開發(fā)方法的優(yōu)點(diǎn)包括
◆ 企業(yè)統(tǒng)一的數(shù)據(jù)集成平臺(tái);
◆ 集中化的控制管理;
◆ 數(shù)據(jù)容易分發(fā)到各個(gè)數(shù)據(jù)集市中;
自上而下開發(fā)方法的缺點(diǎn)包括
◆ 開發(fā)過程復(fù)雜,費(fèi)用高;
◆ 開發(fā)時(shí)間長,難以滿足快速變化的業(yè)務(wù)需求;
◆ 需要進(jìn)行大量的業(yè)務(wù)需求分析,需要大量的資源;
◆ 結(jié)構(gòu)比較僵化,比較難以擴(kuò)展;
2. 自下而上。大量的舊系統(tǒng),要想在短時(shí)間內(nèi)進(jìn)行數(shù)據(jù)的合理性和完整性統(tǒng)一是相當(dāng)困難的,而市場變化和企業(yè)決策規(guī)則變化不允許花大量的時(shí)間和精力去建立一個(gè)滿足日后需求,但不滿足現(xiàn)在變化的系統(tǒng)。自下而上的開發(fā)方法就是根據(jù)特定的業(yè)務(wù)主題,“分部門考慮,分部門實(shí)施”,可以在很短的時(shí)間內(nèi)實(shí)現(xiàn)部門級(jí)的數(shù)據(jù)集市,多個(gè)數(shù)據(jù)集市組成企業(yè)聯(lián)邦制的數(shù)據(jù)倉庫。
自下而上開發(fā)方法的優(yōu)點(diǎn)包括:
◆ 可以并行開發(fā);
◆ 見效快;
◆ 分散化的資源和管理控制;
自下而上開發(fā)方法的缺點(diǎn)包括:
◆ 很難協(xié)調(diào)各個(gè)數(shù)據(jù)集市的建設(shè);
◆ 可能存在著部門之間的政治斗爭和數(shù)據(jù)集市歸屬問題;
◆ 如果采用不同的技術(shù)建立起來的數(shù)據(jù)集市,最終造成多個(gè)相互獨(dú)立、互不兼容的“煙囪式”數(shù)據(jù)集市,給維護(hù)和數(shù)據(jù)共享帶來很大的障礙;
◆ 多種數(shù)據(jù)源采集系統(tǒng),可能造成對(duì)業(yè)務(wù)系統(tǒng)的沖擊和數(shù)據(jù)的不一致;
3. 元數(shù)據(jù)驅(qū)動(dòng)的實(shí)施方法。元數(shù)據(jù)驅(qū)動(dòng)、螺旋上升的數(shù)據(jù)倉庫建立的過程就是“建立元數(shù)據(jù)――構(gòu)造數(shù)據(jù)倉庫/集市”的不斷循環(huán)、不斷上升的過程,如圖23所示。
圖23 不斷循環(huán)、螺旋上升的元數(shù)據(jù)驅(qū)動(dòng)方法
元數(shù)據(jù)驅(qū)動(dòng)的數(shù)據(jù)倉庫開發(fā)過程可以細(xì)分為以下階段:
1) 建立元數(shù)據(jù)
a. 根據(jù)業(yè)務(wù)數(shù)據(jù)源,外部數(shù)據(jù)源定義元數(shù)據(jù);
b. 添加和更新維護(hù)元數(shù)據(jù)的內(nèi)容和屬性;
c. 定義元數(shù)據(jù)使用規(guī)則;
d. 聲明元數(shù)據(jù)聯(lián)合使用的規(guī)則;
2) 構(gòu)造數(shù)據(jù)倉庫/集市
e. 基于元數(shù)據(jù)進(jìn)行數(shù)據(jù)抽取/清洗/轉(zhuǎn)換/聚合/加載/分布;
f. 基于元數(shù)據(jù)進(jìn)行前端應(yīng)用界面定制。
從另外一個(gè)層面來說,第1)步中構(gòu)造和維護(hù)元數(shù)據(jù)信息可以看作虛擬地構(gòu)造商業(yè)智能平臺(tái)的過程,能否在第2)步實(shí)現(xiàn)這種虛擬的構(gòu)造過程和實(shí)際的構(gòu)造過程的有機(jī)結(jié)合,是落實(shí)元數(shù)據(jù)驅(qū)動(dòng)的關(guān)鍵。
圖24 以元數(shù)據(jù)為中心的開發(fā)方法
這種開發(fā)方式優(yōu)點(diǎn)是顯而易見的,包括:
u 建立企業(yè)數(shù)據(jù)的統(tǒng)一視圖;
u 有統(tǒng)一的元數(shù)據(jù)管理;
u 具有靈活可擴(kuò)展的體系結(jié)構(gòu);
u 分步式開發(fā),螺旋式上升,既能快速看到效果,又保證系統(tǒng)的連續(xù)性、一致性。
這種開發(fā)方式的主要缺點(diǎn)就是如何真正實(shí)現(xiàn)這種方式,提取和維護(hù)元數(shù)據(jù)并不是一件很難的事情,而在實(shí)際的實(shí)施過程中,如何真正地實(shí)現(xiàn)元數(shù)據(jù)的驅(qū)動(dòng)則不是一件容易的事情,由于傳統(tǒng)程序開發(fā)思想的影響,很多開發(fā)者對(duì)需求問題的解決更多地依賴于程序設(shè)計(jì),這樣使得很多控制邏輯很難被抽象出來,因此也難于把數(shù)據(jù)的處理過程標(biāo)準(zhǔn)化、規(guī)范化,這種以程序驅(qū)動(dòng)的方式很容易把所謂的元數(shù)據(jù)驅(qū)動(dòng)流于形式。
[1] 李艷. 商業(yè)智能是一種解決方案.中國計(jì)算機(jī)用戶. 2003.11.03
[2] 九城信息智能平臺(tái)白皮書. 九城集團(tuán)BI事業(yè)部. 2002.11
[3] Gartner ArticleMRR-0798-17, 1 July 1998, Kevin Strange, “Data Warehouse Data Model: Neutralityis the Key”
[4] Eric Sperley著.企業(yè)數(shù)據(jù)倉庫規(guī)劃、建立與實(shí)現(xiàn). 陳武, 袁國忠譯.人民郵電出版社,2000年8月第1版
[5] OLAP技術(shù)應(yīng)用研究,https://www.dwway.com/document.php?id=682
[6] 朱德利.SQL Server 2005數(shù)據(jù)挖掘與商業(yè)智能完全解決方案,電子工業(yè)出版社.2007.10
[7] IBM商業(yè)智能解決方案綜述.IBM公司.2004
[8] (法/美)伯納德·利奧陶德,(美)馬克·哈蒙德著.商務(wù)智能:把知識(shí)轉(zhuǎn)化為價(jià)值. 鄭曉舟,胡睿譯. 2002
[9] (美)W.H.Inmon著.建設(shè)數(shù)據(jù)倉庫.王志海,林友芳譯.機(jī)械工業(yè)出版社.2003年3月
[10] 本人.用需求來創(chuàng)造價(jià)值-----論數(shù)據(jù)倉庫與商業(yè)智能需求與需求分析,2006中國軟件工程大會(huì)暨系統(tǒng)分析員年會(huì)演講稿,2006