摘要:基於DB和DW的中介層ODS的資料存放區技術,從應用的角度分析設計了一個商業系統的即時OLAP系統。通過使用ODS克服了利用DW進行決策過於臃腫且不適合企業即時的中層決策的問題。
關鍵詞:資料倉儲(DW),操作資料儲存(ODS),即時線上分析處理(OLAP)
1.問題提出
面向主題的資料倉儲(DW)概念的提出,不但為有效地支援企業經營管理決策提供了一個全域一致的資料環境,也為曆史
資料,綜合資料的處理提出了一種行之有效解決方案。資料倉儲概念的提出也清楚的把資料處理劃分為了操作型處理和分析型處理兩種不同類型,從而建立起了
DB-DW的兩層體繫結構。但是有很多情況,DB-DW的兩層體繫結構並不能涵蓋企業所有的資料處理要求,因為企業的資料處理雖然可以較為粗略的劃分成操
作型和分析型兩部分,但這兩種類型也不是涇渭分明的,它們之間也有交叉的情況,譬如,有些是操作型的,但不適合在操作型DB中進行,而又有一些是分析型處
理,但不適合在DW中進行。
比如我們開發的一個醫藥銷售公司的決策系統,按要求公司經理要解決什麼商品該進貨了,各種商品近來的贏利情況,客戶
的信任情況等等。要回答這些問題,他必須首先要弄清楚藥品的存貨是否充裕,還要瞭解該藥品近期的銷售情況,另外還要和別的藥品的庫存和銷售情況進行比較
等。如果我們把這個決策分析過程放在原有的面嚮應用的分散DB系統中去完成的話,不一定得到每個部門的準確一致的資訊,而要進行各部門間的協調配合,工作
量勢必會很大,但如果把其放在DW中去進行分析的話,不但費時,而且會有很多的不必要的資料檢索存在。
對於上述問題可以藉助於DB-DW的中介層ODS(操作資料儲存)來解決。它象DW一樣是一種面向主題,整合的資料
環境,又象操作型DB一樣包含著全域一致的,細節的當前的資料。建立基於ODS的即時OLAP應用是應中層決策分析之需要的一種解決方案,它能很好的適應
企業日常頻繁的中低層次的決策分析應用。
2.ODS技術和即時OLAP
2.1 操作資料儲存(ODS)
是用於支援企業日常的全域應用的資料集合,ODS的資料具有面向主題、整合的、可變的和資料是當前的或是接近當前的
4個基本特徵。ODS是介於DB和DW之間的一種資料存放區技術,和原來面嚮應用的分散的DB相比,ODS中的資料群組織方式和資料倉儲(DW)一樣也是面向
主題的和整合的,所以對進入ODS的資料也象進入資料倉儲的資料一樣進行轉化和整合處理。另外ODS只是存放當前或接近當前的資料,如果需要的話還可以對
ODS中的資料進行增、刪和更新等操作,雖然DW中的資料也是面向主題和整合的,但這些資料一般不進行修改,所以ODS和DW的區別主要體現資料的可變性
和當前性上。
2.2 即時OLAP
ODS主要是適應企業級的全域應用的需要而產生的,對它的應用主要是在即時"OLAP"的資料處理上。
我們在DW上實現OLAP主要是為了進行長期趨勢分析,DW中是資料量很大,所以OLAP應用的已耗用時間都比較長。
在企業日常經營中,常常要進行一些非戰略的中層決策以實現企業的日常管理和控制,譬如,醫藥銷售公司經理要每周查看藥品的銷售情況,各地區的藥品銷售情
況,業務員的業績情況等等,並且這種決策過程並不需要參考太多的曆史資料,主要是參考當前的或比較當前的資料,還需要比較快的執行速度,可以把這種分析決
策稱為"即時OLAP"。顯然利用DW不但啟動並執行效率是無法讓人忍受而且也很難準確的反映近期的真實情況,ODS的建立克服了DW系統過於臃腫,處理時間
過長和不適應即時OLAP的情況,提供給中層決策者以快捷準確的分析資訊。
2.3 從DB向ODS轉化的實現機制
在DB-ODS的體繫結構中,ODS的實現機製表現在其記錄系統定義的資料傳送關係上,1所示。操作型環境中各
分散的DB記錄經過過濾後形成了ODS系統的記錄系統,向ODS系統中提供資料。記錄系統定義了原有分散DB中那些資料送往ODS,並指明與ODS資料相
應的資料表。通過ODS的定義可以把分散於應用的DB中的資料複製到ODS中去,這樣原來的分散DB中的記錄就形成了ODS中的面向主題的記錄。ODS維
護著一個分析型的環境,資料處理簡單得多,實際需要的支援技術也很少。
圖1 從DB向ODS轉化機制
沒有給出從ODS向DB轉化的實現機制,這種情況主要用在有關企業全域操作應用的情況,可以通過在
ODS系統中存放一些參數表,它所反應的關係是ODS全域更新時必須要反應到所有DB中的相關記錄。此時,ODS是一個操作型環境,實現ODS所要求的技
術跟原來的面嚮應用的分散的資料庫系統一樣,包括交易管理、封鎖管理、資料恢複等等技術。
3 基於ODS的藥品銷售即時OLAP應用的設計
我們知道ODS是介於DB和DW之間的一種新的資料存放區技術,它兼有DW和DB的特點,在開發即時OLAP系統時,其開發方式更接近DW的開發模式。
3.1 建立ODS
該藥品銷售公司原本的一個銷售資料庫管理系統資料庫結構2所示,是分布在
圖2 來源資料庫ER模型
ACCESS97資料庫中,分屬於財務,銷售和庫存等幾個資料庫中。
根據前面的分析,優先選擇銷售領域,客戶和藥品三個在銷售領域最關切的的主題,把交易資料庫中涉及到此領域的資料轉
入到ODS中。ODS(主要對照DW)邏輯模型的類別主要有星形模型,雪花模型和混合模型等三種,我們在開發ODS邏輯模型時用了星形模型。一個簡單的星
形模型由一個事實表和若干個維表組成,而複雜的的星形模型可能包括數百個維表。星形模型從支援商務決策的角度定義了資料實體,它能客觀在實體中反映商務運
行的規則和屬性,與後兩種模型相比,設計相對簡單,更容易被使用者所理解和接受,圖3是本系統的邏輯模型。
圖3 ODS的星形模型
定義記錄系統時,主要考慮如何將主題域的各個屬性分配到應用系統中去,這裡主要考慮把各主題中的屬性分配到藥品銷售的作業環境中的銷售和庫存等子系統中。
3.2 資料擷取
資料擷取過程跨越分散DB作業環境和ODS分析環境。本系統中資料擷取過程較為簡單,只需要按照ODS記錄系統和ODS記錄系統定義兩者之間的映射關係,將DB中的資料傳送到ODS,這裡我們採用了SQL SERVER 7.0的DTS資料轉換服務,SQL
SERVER 7.0的DTS(Data Transformation Services)提供了資料的提取,轉換和裝載的功能。利用SQL
SERVER
7。0的輸入輸出嚮導建立DTS包,在複製時使用SNAPSHOT(快照類型)對ODS中的資料進行清除和重建,由於資料量不是很大,故可以取得很好的執
行效率。
3.3 系統使用者介面的實現
終端使用者介面利用DELPHI 5.X來實現,這裡有幾個有利的地方,DELPHI提供了一組決策支援元件,用於對資料進行全方位多層次的分析。這些決策支援元件包括:
.TDecisionCube 這是以個多維資料倉儲。
.TDecisionQuery 類似於TQuery,用於與資料庫的串連。
.TDecisionSource 類似於TDatasource,可以為樞紐分析表,柵格,圖表等元件提供資料來源串連。
.TDecisionPivot 用於對柵格的形式顯示多維的資料。
.TDecisionGraph 以圖表的形式顯示資料,可以按照不同的欄位重新組織圖表。
通過把所建的ODS資料表通過串連匯入到資料倉儲元件(TDecisionCube)中,即可利用其他的決策元件來實現多維柵格和圖表的顯示,給使用者提供一個直觀,明了的分析介面。
3.4 系統的體繫結構
圖4 系統的體繫結構
4.結束語
ODS技術的引入和應用,為企業在日常經營中進行即時OLAP提供了一種解決方案使得企業無須建立一個"臃腫"的DW,就可以進行一些非戰略性的的中層決策,來實現對企業的日常管理和控制,同時也能獲得較快的響應速度。
同時,企業在構建DW時,可以考慮DB-ODS-DW的三層模式來開發DW,進而更進一步的開發具有全域應用的高層OLAP決策系統,以實現企業的總體決策和即時決策相互補充。
參考文獻
[1] 王珊等 資料倉儲技術與線上分析處理 科學出版社 1998.6
[2] W.H.Inmon /王志海等譯 Building the Data Warehouse 機械工業出版社 2000.5
[3] MichaelCorey MichaelAbbey/希望圖書創作室譯 SQL Server 7 Data Warehousing 北京希望電子出版社 2000.1