先來說說ODS和數(shù)據(jù)倉庫的定義。ODS(Operate Data Store)是一個面向主題的、近實時的、可變的、當前的細節(jié)數(shù)據(jù)集合。數(shù)據(jù)倉庫(DW)是面向主題的、集成的、穩(wěn)定的、隨時間變化的。從定義可以看出數(shù)據(jù)倉庫和ODS的異同。ODS和DW數(shù)據(jù)模型都是面向主題的,或者說兩者的數(shù)據(jù)模型是趨于一致,DW有輕度性匯總數(shù)據(jù),當然也有提出DW是不存儲細節(jié)性數(shù)據(jù)的,這個不能一概而論,具體情況具體分析,在初期階段傾向于數(shù)據(jù)結(jié)構(gòu)的一致。DW的數(shù)據(jù)是穩(wěn)定的,歷史的(隨時間變化的),ODS的數(shù)據(jù)是近實時的,變化的(肯定的呀,越是實時的數(shù)據(jù)變化的可能性越大)。以前ODS陪太子讀書的地位正在發(fā)生變化,越來越傾向于建立ODS,而不是作為數(shù)據(jù)倉庫的可選部件。
從下面可以看出ODS的重要性,由于ODS從功能上提供了數(shù)據(jù)緩沖區(qū)和企業(yè)數(shù)據(jù)統(tǒng)一視圖。
1、數(shù)據(jù)緩沖區(qū):緩沖區(qū)是為了降低從業(yè)務(wù)系統(tǒng)ETL數(shù)據(jù)的復(fù)雜度,比如當ODS某張表需要從多個業(yè)務(wù)系統(tǒng)抽取數(shù)據(jù),可能需要現(xiàn)將數(shù)據(jù)抽取出來放在緩沖區(qū)里,在進行清洗、轉(zhuǎn)換等操作。緩沖區(qū)是個概念區(qū)域,由于ETL過程的復(fù)雜性可能一步到位不需要緩沖區(qū)也可能需要多個緩沖區(qū)。所以緩沖區(qū)是必須的。
2、企業(yè)統(tǒng)一視圖區(qū):在ODS里的數(shù)據(jù)除了為數(shù)據(jù)中心服務(wù)外,也為企業(yè)業(yè)務(wù)系統(tǒng)提供了數(shù)據(jù)共享接口(或者說為業(yè)務(wù)系統(tǒng)提供了共享的數(shù)據(jù)交換接口)。沒有數(shù)據(jù)中心的情況下如果獲取其他系統(tǒng)數(shù)據(jù),我們需要專門做接口。有了數(shù)據(jù)中心就可以從數(shù)據(jù)中心的統(tǒng)一視圖區(qū)中獲取數(shù)據(jù),相當對數(shù)據(jù)倉庫做了隔離。當然隔離或者緩沖不僅是從業(yè)務(wù)系統(tǒng)ETL的過程,還包括多級數(shù)據(jù)倉庫交換的視圖和隔離,為BI展現(xiàn)提供的數(shù)據(jù)庫的共享和隔離。
3、其他功能:由于ODS提供的數(shù)據(jù)是近實時的,數(shù)據(jù)倉庫的數(shù)據(jù)是歷史的,ODS為數(shù)據(jù)分析提供了近實時的分析接口。數(shù)據(jù)倉庫的數(shù)據(jù)是相對滯后的可能是一個月以前的或者一年以前的。
從ODS建設(shè)看,主要是兩個部分的建設(shè)
1、統(tǒng)一編碼標準:各業(yè)務(wù)系統(tǒng)數(shù)據(jù)字典的編碼都各不相同,例如對于電壓等級,A系統(tǒng)是01,02,B系統(tǒng)是220,110,C系統(tǒng)是220kV,110kV等。顯然統(tǒng)一的編碼才是各個業(yè)務(wù)系統(tǒng)能夠共享數(shù)據(jù)的前提,也是數(shù)據(jù)倉庫能夠集成數(shù)據(jù)的前提,對于統(tǒng)一編碼的管理,是數(shù)據(jù)倉庫的核心,最好能有一個編碼系統(tǒng),將編碼系統(tǒng)作為業(yè)務(wù)系統(tǒng)進行抽取是一個可行的方式。
2、統(tǒng)一企業(yè)模型:這幾乎是數(shù)據(jù)倉庫或者ODS最為復(fù)雜的一塊,也是評價實施廠商成熟的關(guān)鍵指標。只有對行業(yè)業(yè)務(wù)有很深的積累才能提供成熟的、穩(wěn)定的模型,ods模型的穩(wěn)定也就是數(shù)據(jù)倉庫的穩(wěn)定。顯然數(shù)據(jù)模型的建設(shè)不是一步到位的,是不斷積累的過程,成熟的數(shù)據(jù)模型能夠減少迭代的時間。