(1.大連交通大學, 遼寧 大連 116028; 2.大連理工大學, 遼寧 大連116024; 3.朝陽師范高等專科學校, 遼寧 朝陽 122000)
摘 要:
為了構建支持企業決策分析的數據倉庫,分析了傳統數據倉庫模型的局限性,提出了一個基于統一視圖模型的數據倉庫體系結構。該體系結構是在傳統數據倉庫模型的數據源和數據倉庫之間增加一個統一標準層,并利用統一視圖—資源數據和數據倉庫—統一視圖的兩級映射,保證了數據的透明訪問和模型本身良好的可用性,進而支持靈活的多數據倉庫的構建。基于該體系結構,給出了統一視圖模型的建立和數據倉庫三層之間兩級映射的方法,提出了一種新的基于統一視圖模型的數據映射—抽取—裝載數據倉庫ETL建模過程,并開發了相應的數據倉庫構建系統。應用表明,該體系結構是可行且有效的。
關鍵詞:統一視圖模型; 數據倉庫; 映射—抽取—裝載; 抽取—轉換—裝載
中圖分類號:TP311文獻標志碼:A
文章編號:1001-3695(2009)04-1384-02
Data warehouses architecture based on uniform view and construction method
SONG Xu-dong1, 2, YIN Xiao-ming1,3, SONG Liang1, LIU Xiao-bing2
(1. Dalian Jiaotong University, Dalian Liaoning 116028, China; 2. Dalian University of Technology, Dalian Liaoning 116024, China; 3.Chaoyang Teachers College, Chaoyang Liaoning 122000, China)
Abstract:To construct enterprise data warehouses supporting decision, a new data warehouses architecture based on uniform view model was proposed through analyzing the limitation of the traditional data warehouse model. In order to support flexible construction of data warehouses, uniform standard layer was added between source layer and data warehouse layer of tradition data warehouses model. In order to guarantee the transparency access and the usability, two mapping methods were adopted between uniform view layer and source data layer, between data warehouses layer and uniform view layer. Based on this architecture, construction method of uniform view model and mapping methods amongst data warehouses three-layer were given, ETL processes of data warehouses construction based on uniform view were provided, and relative data warehouses construction system was developed. The architecture has been applied in practice and proved to be effective.
Key words:uniform view model; data warehouses; mapping-extraction-loading;ETL
企業在實施信息化技術的過程中積累了大量的設計、生產、庫存、銷售、采購和財務等業務數據,如何將企業海量業務數據轉換為決策信息已成為目前企業信息化的難點和熱點問題,數據倉庫被認為是最好的解決方案。數據倉庫是一個面向主題的、集成的、不可更新的且隨時間不斷變化的數據集合,用來支持管理人員決策[1]。常見的數據倉庫模型體系結構如圖1所示,數據從操作型數據源和外部數據源流出,經過數據抽取—轉換—裝載(ETL)到全局數據倉庫中。
數據倉庫系統ETL的復雜性和可用性是構建數據倉庫系統的主要問題[2],為此,提出一種新的基于統一視圖模型的數據倉庫體系結構以及一種新的基于統一視圖模型的數據映射—抽取一裝載數據倉庫ETL建模過程。這種體系結構不僅保證實施的可行性和擴展性,還可以降低數據倉庫構建的復雜性。
1 基于統一視圖的數據倉庫體系結構[3,4]
定義1 統一視圖(UView)。它是在一個全局數據環境應用中,具有統一屬性、統一度量、統一分類的查詢模式,可用四元組描述,即UView ::=〈D, M, A, class〉。其中:D是構成該視圖的所有統一維關鍵屬性的集合,D={d1, d2, …, dm},di是抽取的第i個統一維中的關鍵屬性;M是構成該視圖的所有統一度量屬性的集合,M={m1, m2, …, mk},mi是抽取的第i個統一度量屬性;A是構成該視圖的相關統一屬性的集合,A={a1, a2, …, an},ai是抽取的第i個相關統一屬性;class是該統一視圖在統一視圖模型中的分類。
基于統一視圖模型的數據倉庫體系結構如圖2所示,它由三個層次和二級映射構成,它是通過采用分層策略來降低數據抽取及轉換的復雜性。
基于統一視圖模型的企業數據倉庫體系結構的三個層次分別為資源數據層、統一標準層、數據倉庫層。其核心是統一標準層,它是建立在統一視圖模型的基礎上,即統一標準層由面向整個企業、在企業范圍內具有統一解釋的統一屬性庫、統一維庫和對問題域進行抽象所形成的統一視圖分類樹組成。這里的統一包括度量統一、名稱統一、類型統一、值域統一、語義統一。統一視圖分類樹下的統一視圖不同于企業數據全局模式,它是面向業務分析的自定義的標準數據模式。
資源數據層由兩部分數據組成:a)面向企業事務性操作的業務數據,如銷售數據、采購數據、財務數據、生產數據、庫存數據等;b)支持企業業務活動的基礎數據,如標準數據、設備數據、客戶數據、產品類別數據等。
數據倉庫層由多個面向應用主題的數據倉庫組成,數據倉庫中的數據按主題進行抽取和綜合,采用星型模型或雪花模型進行組織存儲,每個主題下可對應多個事實表。
a)統一視圖—資源數據映射,主要完成屬性名稱、屬性類型、屬性語義等方面的轉換和統一。目的是使建模過程能夠標準化或者模板化,并充分體現視圖重用的概念和方法,縮短建模周期、提高建模質量。
b)數據倉庫—統一視圖映射,主要是在統一視圖模型的框架下,完成屬性集成和數據抽取等工作。基于統一視圖模型的企業數據倉庫體系結構,通過定義統一視圖和維表統一了業務概念標準,增強了業務數據與決策倉庫數據的獨立性,真正實現了統一視圖和標準屬性數據的共享,便于多數據倉庫的開發,可以減少數據倉庫開發與維護成本。采用分層及二級映射策略,一方面數據倉庫設計人員不用關心錯綜復雜的業務系統中的數據模式及數據含義,可以更多關注數據倉庫設計,進而提高數據倉庫設計的質量,增強數據倉庫建設的可操作性。另一方面,各業務系統設計人員負責定義和維護統一分類視圖到業務數據的映射,完成對映射規則進行的動態維護,保證統一視圖數據模式一致性,增強數據倉庫系統可維護性。另外,基于統一視圖模型的企業數據倉庫體系結構具有很好的可擴展性,通過提供的統一接口便于增加新的標準屬性和統一維,定義新的統一視圖和事實表。
2 基于統一視圖的數據倉庫構建方法
基于以上企業數據倉庫體系結構,本文提出了一種新的基于統一視圖模型的數據映射—抽取—裝載數據倉庫ETL建模過程,并開發了基于統一視圖模型的數據倉庫ETL構建系統。數據倉庫ETL建模過程如圖3所示,主要分為三個階段,通過統一視圖映射管理器完成數據映射定義,建立企業統一視圖腳本,生成統一視圖;通過事實表映射管理器完成數據抽取定義,建立企業數據倉庫事實表腳本;通過事實表執行器完成數據倉庫事實表數據的裝載。
具體建模過程如下:
a)通過標準屬性管理器定義企業統一的標準屬性,將其保存到統一標準屬性數據表中。通過統一維管理器定義企業統一維表,并為維度標準屬性提供值域。
b)利用統一視圖編輯器,參照標準屬性及統一維表,根據業務管理需求,按照系統統一分類來定義統一視圖模型,并將其保存到統一視圖模型數據表中。統一視圖模型可以通過統一視圖編輯器進行編輯。
c)利用映射函數管理器把用戶需要的常用數據預處理操作開發成具有標準接口的映射函數,可以為后面的統一視圖映射管理器調用。
d)針對統一視圖模型數據表中的統一視圖,利用視圖映射管理器確定統一視圖數據源數據表及連接條件,并通過映射函數完成統一視圖中的標準屬性與數據源的映射關系,確定數據源字段值域約束條件,生成統一視圖可執行腳本并按所屬分類保存到統一視圖數據表中。
e)統一視圖執行器用于執行已更新的統一視圖腳本,生成企業統一視圖。
f)利用事實表編輯器,參考標準屬性及統一維表,根據決策用戶需求,按照決策主題定義事實表模型,并將其保存到事實表模型數據表中。事實表模型可以通過事實表編輯器進行編輯。
g)利用分析函數管理器把用戶需要的常用數據分析處理操作開發成具有標準接口的分析函數,可以為后面的事實表映射管理器調用。
h)針對事實表模型數據表中的事實表,利用事實表映射管理器確定事實表視圖數據源數據表及連接條件,參照標準屬性及統一維表,并通過分析函數完成事實表中的標準屬性與統一視圖屬性的映射關系,確定視圖屬性數據源值域提取規則及分組函數規則等約束條件,生成事實表可執行腳本并按所屬主題保存到主題事實表數據表中。
i)事實表執行器用于執行已更新的事實表腳本,生成企業數據倉庫中的物化事實表或虛擬事實表。
在開發基于統一視圖模型的數據倉庫ETL構建系統時,本文基于B/S模式、采用Java抽象類和接口技術定義系統各個功能模塊之間的數據訪問和系統調用。利用面向對象中的類組合、Java接口技術以及模式來實現系統中的各個模塊。對于系統中可變數據部分采用EJB技術實現;通過讀取有關的XML文件進行清洗轉換過程和模型配置的動態編輯和控制;利用JDBC接口技術來獲取企業信息系統中的信息模式和數據。
目前,筆者在為東北特鋼集團開發基于數據倉庫決策信息系統的項目中,已成功地應用了本文提出的方法創建集團企業數據倉庫,收到了很好的效果。圖4是數據倉庫設計人員利用統一視圖編輯器編寫的集團銷售統一排產視圖模型;圖5和6是數據倉庫設計人員利用事實表映射管理器生成該企業客戶主題下的客戶合同跟蹤事實表腳本。利用客戶合同跟蹤事實表腳本,可以生成客戶合同跟蹤事實表,進而可以為企業決策信息系統提供數據環境。
3 結束語
本文給出了一種新的基于統一視圖模型的數據倉庫體系結構及其ETL構建方法,即首先依據統一屬性給出面向企業需求的數據模式邏輯描述,建立標準化統一視圖,并針對決策用戶需求設計數據倉庫的邏輯模型,形成面向主題的事實表和維表;最后,通過定義兩級映射完成事實表和維表數據的抽取與集成。該方法降低了決策分析問題數據處理的復雜度,數據倉庫設計人員不必考慮數據來源、數據轉換等與業務數據密切相關的問題。
應用表明,本方法中提出的統一視圖模型可以幫助企業實施信息的標準化,也可以為行業間實施信息標準化起到推動作用。下一步將按照統一視圖的通用性程度將其細化,劃分為通用層、領域層和專用層三個層次,并針對不同層次給出適合本層的通用統一視圖模型(模板),即參考模型,它們可以代表不同層次的大部分實例共有的典型結構。
參考文獻:
[1]INMON W H. Building the data warehouse[M]. New York: Wiley, 1993.
[2]賈自艷,黃友平,羅平,等.面向數據質量的ETL過程建模與實現[J].系統仿真學報,2004,16(5):907-914.
[3]黃雙喜,范玉順,趙蜮.一類通用的適應性軟件體系結構風格研究[J].軟件學報, 2006,17(6):1338-1348.
[4]趙寒,張樹生,周競濤,等.面向異構數據庫集成的語義模型構建技術研究[J].計算機集成制造系統,2006,12(3):371-376.