數(shù)據(jù)工程要從全局性數(shù)據(jù)架構(gòu)考慮
說到數(shù)據(jù)工程,給人的感覺往往是空間數(shù)據(jù)的采集、核查、規(guī)整、入庫等過程。這些過程,距離主流IT所說的“數(shù)據(jù)工程”還是有些差異的。
主流IT對“數(shù)據(jù)工程”的定義是:“以工程化作為基本出發(fā)點的數(shù)據(jù)處理、分析和應(yīng)用方法與技術(shù),是計算機科學與技術(shù)學科的重要內(nèi)容、核心與趨勢”。
在這個定義中,特別強調(diào)了“工程”兩個字。“工程”是以解決問題、實現(xiàn)價值為導(dǎo)向的,往往受限于具體業(yè)務(wù)場景,通常需要綜合權(quán)衡考慮,并具有實踐性較強的、需要與用戶反復(fù)交互的“服務(wù)”方式,而不是以市場為導(dǎo)向的“產(chǎn)品”模式。
一、需不需要全局性數(shù)據(jù)架構(gòu)?
很多人會說,“我們只是做數(shù)據(jù)處理、數(shù)據(jù)遷移等,不需要數(shù)據(jù)架構(gòu)”、“我們只是做數(shù)據(jù)分析展現(xiàn),其他事情不需要考慮那么多”……
如果站在項目實施的某個局部角度,只需考慮某項數(shù)據(jù)處理工作的局部范圍和具體要求的話,確實可以這么說。但是,如果站在項目全局的角度,或項目規(guī)模較大,就不得不從全局視角統(tǒng)籌考慮數(shù)據(jù)工程了。否則,就會出現(xiàn)各種各樣的問題。比如,產(chǎn)生“數(shù)據(jù)孤島”、數(shù)據(jù)之間無法關(guān)聯(lián)、數(shù)據(jù)統(tǒng)計結(jié)果是否真實可信等問題。
二、在什么階段考慮全局性數(shù)據(jù)架構(gòu)?
還有一種觀點比較常見:“我們只是做業(yè)務(wù)系統(tǒng),暫時不考慮分析類應(yīng)用,在以后搭建商務(wù)智能(BI)、數(shù)據(jù)倉庫應(yīng)用時,我們再來考慮數(shù)據(jù)架構(gòu)”。
如果只有少數(shù)幾個業(yè)務(wù)系統(tǒng),是否有獨立的數(shù)據(jù)架構(gòu),影響可能不大。但是,如果業(yè)務(wù)系統(tǒng)累積到五個以上時,這種“重系統(tǒng)輕數(shù)據(jù)”、“重流程輕分析”的導(dǎo)向,會帶來很多問題。沒有統(tǒng)一的數(shù)據(jù)架構(gòu)和數(shù)據(jù)治理機制,多個系統(tǒng)之間會出現(xiàn)數(shù)據(jù)標準不統(tǒng)一,數(shù)據(jù)內(nèi)容不一致,數(shù)據(jù)同名不同義和同義不同名等現(xiàn)象,數(shù)據(jù)質(zhì)量無法保證,數(shù)據(jù)集成非常困難,必然影響業(yè)務(wù)應(yīng)用系統(tǒng)效能的正常發(fā)揮。如果業(yè)務(wù)系統(tǒng)本身數(shù)據(jù)質(zhì)量就有問題,即使數(shù)據(jù)抽取處理、數(shù)據(jù)分析展現(xiàn)系統(tǒng)做得再好,也是枉然。所以,對于大型的、復(fù)雜的業(yè)務(wù)應(yīng)用系統(tǒng),必須考慮全局的數(shù)據(jù)架構(gòu);至于數(shù)據(jù)分析型應(yīng)用,沒有數(shù)據(jù)架構(gòu)和數(shù)據(jù)治理機制,將寸步難行。
三、全局性數(shù)據(jù)架構(gòu)怎么做?
做全局性數(shù)據(jù)架構(gòu),就是要回答用戶的問題:用戶的數(shù)據(jù)資產(chǎn)應(yīng)該如何組織,才能管得住、用得好?針對這個問題,可以從數(shù)據(jù)資源目錄、數(shù)據(jù)標準、數(shù)據(jù)模型、數(shù)據(jù)分布等多個維度加以考慮。在具體落地時,還要考慮元數(shù)據(jù)管理、數(shù)據(jù)集成、數(shù)據(jù)共享等要素。下圖是我們在某個具體項目中的全局性數(shù)據(jù)架構(gòu)設(shè)計考慮。

某項目的全局數(shù)據(jù)架構(gòu)邏輯圖
從全局整體角度,把數(shù)據(jù)按照應(yīng)用方向,劃分幾個庫:
1、業(yè)務(wù)庫
在“業(yè)務(wù)應(yīng)用域”,主要面向的是“業(yè)務(wù)辦理人員”。從數(shù)據(jù)角度,一個庫里有多個數(shù)據(jù)域,與其相對的,一個平臺多個應(yīng)用,即一個業(yè)務(wù)平臺上面承載多個業(yè)務(wù)應(yīng)用,整個“業(yè)務(wù)應(yīng)用域”就是一個系統(tǒng)一個庫,從根本上解決以前十幾個系統(tǒng)十幾個庫而導(dǎo)致的“煙囪系統(tǒng)”的問題。另外,這個業(yè)務(wù)庫的數(shù)據(jù)組織形式,是以“辦理事項”進行數(shù)據(jù)建模組織的,數(shù)據(jù)操作主要是數(shù)據(jù)增、刪、改、查,屬于典型的事務(wù)性數(shù)據(jù)庫(OLTP)。
2、分析庫
在“數(shù)據(jù)分析域”中,主要面向的是“分析決策人員”。因此,需要建立數(shù)據(jù)倉庫。數(shù)據(jù)倉庫根據(jù)不同應(yīng)用場景分層,包括:操作性數(shù)倉(ODS)、核心數(shù)倉(DW)、數(shù)據(jù)集市(DM)等,同樣與之相對,搭建相應(yīng)的“數(shù)據(jù)應(yīng)用平臺”和一系列的數(shù)據(jù)應(yīng)用。分析庫按照“分析主題”組織數(shù)據(jù)。所謂“分析主題”,就是針對某種業(yè)務(wù)對象或者某個事項的分析需求,比如建設(shè)項目情況分析、房源籌集和分配情況分析等。
3、治理庫
顧名思義,“數(shù)據(jù)治理域”主要面向“數(shù)據(jù)治理人員”。通過數(shù)據(jù)治理,管理好全局的所有數(shù)據(jù)。其中,“主數(shù)據(jù)”是按照“核心業(yè)務(wù)對象”組織的數(shù)據(jù),它提供可共享的核心數(shù)據(jù)底板,具有統(tǒng)一、完整、準確、及時的特點。比如,在公共住房領(lǐng)域,房源就是一種主數(shù)據(jù)。“元數(shù)據(jù)”則用來對數(shù)據(jù)進行描述的數(shù)據(jù),包括數(shù)據(jù)的類型、關(guān)系、流動、變化(血緣)和業(yè)務(wù)含義等。“參考數(shù)據(jù)”是指一些重要的數(shù)據(jù)字典,比如,在公共住房領(lǐng)域,租賃狀態(tài)、出冊原因、交租方式、房屋狀態(tài)等,都需要采用字典來描述。
4、其他庫
除以上核心庫外,還有一些其他數(shù)據(jù)。包括:用于內(nèi)外數(shù)據(jù)交換的交換數(shù)據(jù),用于空間定位和空間分析的空間數(shù)據(jù),以及各種文檔材料、電子檔案等非結(jié)構(gòu)化數(shù)據(jù)等。
全局性數(shù)據(jù)邏輯架構(gòu)的最大價值在于:從全局上搞清楚有哪些數(shù)據(jù)?數(shù)據(jù)和系統(tǒng)之間、不同類型的數(shù)據(jù)之間,存在什么關(guān)系?各種不同數(shù)據(jù)是怎么存儲管理的?除此之外,數(shù)據(jù)架構(gòu)還包括:數(shù)據(jù)模型,它從靜態(tài)視角,描述數(shù)據(jù)之間的具體關(guān)系,指導(dǎo)后續(xù)數(shù)據(jù)庫的邏輯設(shè)計、物理設(shè)計;數(shù)據(jù)分布,它從動態(tài)視角,描述數(shù)據(jù)在業(yè)務(wù)應(yīng)用系統(tǒng)上的分布、數(shù)據(jù)流動的全景視圖等。由于篇幅所限,在此不一一列舉。