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