商場數據倉庫ETL系統架構設計
基於CWM的商場數據倉庫ETL系統架構的編碼實現擬採用Java語言。之所以選擇Java語言,不僅因爲它是一種簡單的、面向對象的、分佈式的語言,並且具有平臺無關性和安全性等優點,下面一起就和小編來了解了解!
一、ETL 概述
ETL是數據抽取(Extract)、轉換(Transform)、加載(Load)的簡寫,它是指:將各種異構數據源中的數據抽取出來,並將不同數據源的數據進行轉換和整合,得出一致性的數據,然後加載到數據倉庫中。ETL工具,是數據倉庫系統的重要組成部分;是影響數據倉庫系統成敗的關鍵。
獲取ETL工具有兩個途徑:利用現有商品化ETL工具,雖然能縮短系統的開發週期,但存在投資成本大,軟件的針對性、通用性、兼容性差的問題。自行設計開發一個標準通用的ETL工具,提高ETL的實用價值,降低項目實施的成本和風險,具有重要的意義。
由於數據倉庫和數據源系統在數據格式、數據模型等方面存在很大差異,客觀上形成數據倉庫ETL實現過程很大的難度。在ETL的工作過程中,每步都和數據倉庫元數據密切相關。
按照傳統的定義,元數據(Metadata)是關於數據的數據。元數據支撐了數據倉庫開發應用的全過程,成爲數據從數據源到數據倉庫的橋樑。
數據抽取階段,沒有相應的映射規則,就無法知道需要抽取什麼樣的數據;在將源數據存儲格式轉換爲目標數據存儲格式時,需要知道源存儲格式和目標存儲格式的信息,以及相應的存儲格式之間的轉換規則;在數據加載階段,需要知道目標數據倉庫的數據結構和相關信息。所有這些信息,都需要元數據提供。
由此可見,ETL過程自始至終都需要元數據的支持和控制。正因爲如此,要解決ETL開發中的問題,應當從相關的元數據着手。
二、關於CWM 及其提供的工作機制
CWM(Common Warehouse Metamodel 公共倉庫元模型)是 國際對象管理集團OMG推出的數據倉庫元數據管理規範。CWM的主要目的是在分佈異構環境下,使數據倉庫工具、工作平臺和元數據存儲庫之間易於進行數據倉庫元數據的交換。
CWM基於以下三個工業標準制定:
(Unified Modeling Language統一建模語言)
作爲目前最爲風行的建模語言,UML用於描述一般數據倉庫架構的元模型。
(Meta Object Facility 元對象工具)
MOF是OMG元模型和元數據的存儲標準,用以定義存儲庫的結構、對外接口和交換格式的映射規則。
(XML Metadata Interchange,XML元數據交換)
XMI是基於XML的元數據交換。定義如何用XML表示基於MOF的元數據,使元數據以XML文件流的方式進行交換。
基於上列三個標準,CWM爲數據倉庫工具之間共享元數據,制定了一整套關於模式、語法和語義的規範。主要包括:
(1)CWM元模型(Metamodel):描述數據倉庫系統共享的元模型。它由一系列子元模型構成。
(2)CWM XML:CWM元模型的XML表示。
(3)CWM DTD:DW/BI共享元數據的交換格式。
(4)CWM IDL:DW/BI共享元數據的應用程序訪問接口。
基於CWM的數據倉庫元數據轉換和管理模型可用圖1表示。從圖1不難理解,元數據庫也是基於CWM標準,通過CWM元模型映射構建。CWM 以UML 的元模型爲基礎,針對數據倉庫領域的應用,使用特定的元類、元關係,將來自各異構數據源和數據倉庫各個組件中的元數據,通過CWM XML、CWM DTD、CWM IDL 三個規範,轉化爲XML 文檔。爲數據倉庫元數據管理提供了滿足元數據交換所需的語法和語義規範的、方便元數據交換和元數據存儲的文件。
三、基於CWM的數據倉庫ETL系統架構
1.基於CWM的ETL系統架構
在研究ETL和CWM的基礎上,設計出基於CWM的數據倉庫ETL過程的系統架構。
2.系統架構的結構分析
(1)ETL子系統結構
ETL子系統結構由五個模塊組成。即:系統調度模塊、元數據管理模塊、數據抽取模塊、數據轉換模塊和數據裝載模塊。其中,數據抽取模塊負責將超市業務系統的原始數據進行抽取並保存到臨時數據庫中;數據轉換模塊負責對抽取出來的數據進行清洗、轉換和計算彙總;數據裝載模塊負責將經過清洗、轉換的、符合目標數據模型的數據裝載到目標數據庫中。以上三個模塊的活動被系統調度模塊統一調度,結合元數據管理模塊對整個ETL過程進行統一控制,用以實現ETL各步驟的定時觸發、正常執行和異常控制等過程。
(2)CWM對系統元數據的規範
整個架構以CWM元模型庫爲基礎,通過CWM工作機制,把各個層次的元數據規範化後,存儲在元數據庫中,再由元數據管理模塊支撐並控制整個架構的運行。
(3)建立集中式元數據庫
爲了便於對數據倉庫的元數據進行有效管理,按照通用的元數據管理標準建立一個集中式的元數據庫。在所建元數據庫中,通過建立“信息模型”的方法對元數據進行分類,並建立分類存儲的、通用的信息目錄。把技術元數據和商業元數據存儲在不同的信息目錄中。便於適應不同的服務目標、不同的元數據結構的存儲和管理。元數據信息目錄面向數據倉庫的應用程序。應用程序可以通過訪問該目錄,使用、存儲、管理元數據;用戶也可以通過該目錄,對元數據進行瀏覽、查詢和使用。整個架構,都集中在元數據的統一控制之下。
四、CWM對ETL提供的技術支持分析
元模型結構
由於系統架構建立在CWM元模型基礎之上,CWM通過對元數據的統一規範和管理,實現了對整個架構的支持。
爲了便於分析CWM對ETL子系統中各個模塊的支持,圖3給出了CWM元模型結構示意圖。在CWM的總體結構中,可分爲5個層次,由若干互不相同但又緊密相關的子元模型包構成。圖中灰色部分是CWM對ETL子系統有着直接聯繫和支撐CWM元模型包。
2.對數據抽取模塊的支持
在CWM的資源層中,五個元模型分別對五種不同的數據源進行了建模。五種數據源格式分別是:面向對象的數據格式、關係型數據格式、記錄型數據格式、多維數據格式和XML數據格式。這五個元模型所描述的數據格式相當齊全,利用它們,可以把商場常用的、歷史遺留的數據源都描述出來。從而得到各種不同格式的數據源的元數據,爲ETL對數據源的抽取過程提供了支持。
3.對數據轉換模塊的支持
ETL的核心還是在於“T”這個過程,也就是轉換過程。而抽取和裝載一般可以作爲轉換的輸入和輸出,因此,我們重點研究了CWM對數據轉換過程的支持。
在CWM分析層中,轉換包對ETL過程進行了詳細的描述。轉換包的主要作用是:將一次轉換活動的數據源和目標準數據關聯起來,同時支持“黑盒”和“白盒”轉換,可將一組轉換組成一個邏輯單元。一次轉換可以將一組源對象轉換成一組目標對象。數據對象集合可以是任何模型元素,但通常是表、字段或者內存對象。
CWM管理層中的數據倉庫操作包,記錄了數據倉庫的三個重要事件。其中的轉換執行事件定義了記錄轉換活動結果的類。在轉換完成之後,轉換活動的結果可被活動執行類和步驟執行類記錄。這個記錄行爲是對發生在數據倉庫操作包中的一個內部事件、或者其他類似方式的迴應,爲每個轉換執行記錄開始、結束時間,各種進展和結果的指標。便於需要時查詢。
4.對數據調度模塊的支持
系統調度模塊負責對ETL過程進行統一調度和異常控制,保證ETL正常運行。在CWM的管理層中,數據倉庫處理包描述了數據倉庫處理(實際上就是轉換過程)的調度方面的信息。在數據倉庫處理包中,定義了能夠觸發轉換活動執行的一系列事件。這些事件控制了數據轉換過程的調度。
5.對數據裝載模塊的支持
數據裝載模塊負責將經過清洗、轉換的、符合目標數據模型的數據裝載到目標數據庫中。在CWM的支持下,完成了對源數據的抽取和轉換,在系統元數據的控制下,把正確的數據加載到數據倉庫中,就是一件極其簡單的事了。
總之,CWM爲ETL 提供的技術支持,爲ETL各個功能模塊的實現奠定了基礎。爲系統架構的實施提供了條件。同時,也保證了ETL子系統的通用性和可擴展性。
相關文章
-
RESTful圖書管理系統架構設計
無論是門戶平臺、目錄平臺還是柔性架構的改造均應基於RESTful架構,着眼於滿足圖書館統一技術架構和現有業務應用集成的要求,只有這樣有效提升提升門戶目錄架構的標準化、實用化水平,全面實現圖書館管理系統升級改造。1 -
基於.NET的B/S架構管理系統設計
歷史上三英戰呂布誰贏了“三英戰呂布”是羅貫中所著的《三國演義》中著名的一個情節。講述了劉備、關羽、張飛三人大戰呂布的故事,雖然三英戰勝了呂布,但是突出了呂布“三國第一猛將”的形象。當時,董卓和關東諸侯聯軍在 -
雲計算醫療大數據系統架構研究
南瓜笑,心情妙,幫你去煩解憂心情妙;掃帚飛,事業翹,幫你掃去挫折失敗成功跳;面具俊,生活美,爲你生活建築幸福的堡壘。萬聖節,願快樂與你相伴,成功與你相纏,幸福與你相隨。祝萬聖節快樂!希望以下文章對您有所幫助萬聖節作文一Hal -
J2EE架構環境監控系統設計
下面是小編整理的從環境監控實際出發設計採用了基於J2EE開發平臺、B/S模式的環境監控系統設計方案。並進行了系統的數據結構設計、三層結構的系統設計以及系統功能設計的文章。 一、系統主要模塊本系統的功能爲能 -
MES系統安全架構設計
你曾問過我朋友是什麼?現在我就回答你,這些話你當作是讓人輕蔑的哲理也好,認爲是真心說給你聽了罷。總之,我之所以寫出來是發自內心的呼喊!朋友是生活當中不可缺少的精神支柱,真正的朋友是希望你在她快樂之上,真正的朋友是在 -
web系統分層架構設計
企業中許多WEB信息管理系統同屬於針對關係型數據庫的,並且有相當一部分功能需求是重複的。比如組織結構管理、通知公告發布,甚至是訪問權限控制等。出於對軟件複用原則和開發效率等方面的考慮,可以採用相同的系統框架,再 -
關於Lotus Notes替換數據庫的設計
IBM 蓮花軟件定位於電子商務軟件的協作基礎平臺,在優秀的協作平臺Domino/Notes之上,Lotus軟件提供了實時協作、團隊協作、無線協作的企業電子協作計算環境和實現文檔流程管理、企業網絡培訓、知識發現、知識門戶的知識 -
三層架構的商務智能系統設計
建立基於數據倉庫的商務智能系統對於急切需要信息化和商務智能的中小企業有普遍的適用性和實用性。 小編下面爲大家整理關於三層架構的商務智能系統設計的文章,歡迎閱讀參考! 一、商務智能商務智能(Business Intelli -
數據庫系統的內部結構體系簡介
計算機安全是計算機技術的一個分支,其目標包括保護信息免受未經授權的訪問、中斷和修改,同時爲系統的預期用戶保持系統的可訪問性和可用性。下面是小編收集的數據庫系統的內部結構體系,希望大家認真閱讀!數據庫系統的內部 -
基於Web的MES系統安全架構設計及分析
MES系統的信息安全直接關係到企業的正常生產和管理。下面對基於Web環境的MES系統的安全體系進行了分析,設計了系統的安全架構,基於該架構開發的SciMES產品,已經成功應用到了多個工業企業,持續爲企業提供着安全、穩定、可