監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關閉

基于可復用構件思想的ETL架構設計

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件

數(shù)據(jù)倉庫的數(shù)據(jù)來源常包含著噪聲數(shù)據(jù)、不完整數(shù)據(jù)、甚至是不一致的數(shù)據(jù)。為了得到高質量的數(shù)據(jù),必須對抽取(Extract)出來的原始數(shù)據(jù)做一系列復雜轉換(Transform)處理,最后裝載(Load)到數(shù)據(jù)倉庫中。這種從原始數(shù)據(jù)到數(shù)據(jù)倉庫之間,對數(shù)據(jù)進行的操作稱為ETL過程,其工作量大約占系統(tǒng)的60%,實現(xiàn)ETL過程的效率和質量很大程度上決定了數(shù)據(jù)倉庫系統(tǒng)的構建效率和質量。目前研究ETL過程都是集中于個案的研究,強調ETL系統(tǒng)的可擴展性和靈活性,對于如何在類相似或相近的數(shù)據(jù)倉庫項目中共享ETL過程的研究則很少,很大程度上阻礙了數(shù)據(jù)倉庫項目建設效率的進一步提高。如何在一類相似或相近的數(shù)據(jù)倉庫項目中發(fā)現(xiàn)其共同特征、知識和需求,使得ETL過程可以在這些數(shù)據(jù)倉庫項目中被反復使用,大幅度提高實現(xiàn)ETL過程的效率,從而提高數(shù)據(jù)倉庫構建的效率,研究該問題具有一定理論意義及實用價值。基于可復用構件思想的ETL架構設計

設計思想

基于構件技術的軟件復用提倡以已有的工作為基礎,充分利用過去工作中積累的知識和經(jīng)驗,將已經(jīng)辨識的具有相對獨立功能的構件應用于新系統(tǒng)的開發(fā),保證新系統(tǒng)開發(fā)的過程中,能夠將重點集中于辨識和實現(xiàn)應用系統(tǒng)特有的構成成分,最終縮短系統(tǒng)開發(fā)周期,提高系統(tǒng)的質量。

基于構件技術的軟件復用的核心思想包括如下幾個方面:

(1)構件化設計。通過系統(tǒng)地分析一類相似或相近的數(shù)據(jù)倉庫項目,識別出其共同特征和可變特征,并對這些特征進行抽象,形成領域分析模型,并據(jù)此進一步識別出可復用的構件。

(2)層次化設計。層次化設計可以提高系統(tǒng)的可擴展性和可維護性。通過層次化設計可以將所有識別的構件按一定的規(guī)則(如抽象級別、處理對象和處理的功能)分類管理,然后以分層的形式來組織,進而確定不同層構件之間的交互方式,保證每個構件的變化只涉及它的鄰近兩層的相關構件,實現(xiàn)系統(tǒng)一定程度上的開放性。

(3)接口化設計。不同層次的構件之間需要溝通,溝通需要規(guī)范,通過規(guī)范的接口可實現(xiàn)構件之間溝通的規(guī)范化。接口只制定規(guī)范,具體實現(xiàn)交由構件內部完成。接口化設計將構件的差異放到實現(xiàn)階段,而不是在設計階段,使得設計階段可以致力于軟件架構設計的完整性和復用性,使得不同系統(tǒng)之間處理的差異通過替換構件而無需變動架構就可得到解決。

ETL架構模型設計

基于可復用構件思想的ELT架構(如圖1所示)主要分成基礎服務層、抽取層、集成轉換層、特殊處理層四個層次,每個層次的功能如下所述。

1、抽取層

抽取層構件位于ETL架構的最底層,直接面對數(shù)據(jù)源,完成數(shù)據(jù)抽取階段的工作。鑒于數(shù)據(jù)倉庫數(shù)據(jù)源差異性大的特點,這個層的ETL構件在不同數(shù)據(jù)倉庫間差異很大,可重用程度總體上比較低。

2、集成轉換層

集成轉換層構件主要將抽取層抽取的數(shù)據(jù)轉換成格式規(guī)范、含義統(tǒng)一、質量良好的數(shù)據(jù),并集成到數(shù)據(jù)倉庫中。由于是在兩個層接口構件之間,所以集成轉換層構件的輸入和輸出都要滿足層間接口構件的約定,在相似數(shù)據(jù)倉庫項目之間的差異主要體現(xiàn)在業(yè)務處理規(guī)則上。集成轉換層為每類數(shù)據(jù)對象提供一類ETL處理構件,同層構件之間相對獨立,通過抽象各個相似數(shù)據(jù)倉庫項目業(yè)務規(guī)則,將其封裝在構件內,保證ETL架構在相似數(shù)據(jù)倉庫之間移植時,只要通過配置業(yè)務規(guī)則,ETL構件即可投入使用。

3、特殊處理層

為了保證后續(xù)功能開發(fā)者可以將注意力放在功能關注的指標上,而不要關心指標的具體口徑,更不要擔心指標口徑變化和指標口徑在相似數(shù)據(jù)倉庫項目之間的差異對功能移植造成不利影響,在集成轉換層構件處理的基礎上,專門增加了特殊處理層,負責將數(shù)據(jù)倉庫中按流水交易形式組織的數(shù)據(jù)換算成按KPI組織的形式。

4、基礎服務層

為了給ETL提供一個相對穩(wěn)定和靈活的架構,在元數(shù)據(jù)管理的構件識別的基礎上引入了基礎服務層,擴展了傳統(tǒng)意義上的元數(shù)據(jù)管理的功能,包含元數(shù)據(jù)管理構件、層間接口構件、KPI自動測試構件三大類:這些構件構成了ETL基礎和骨架,為系統(tǒng)的穩(wěn)定性和適應性奠定了基礎。

(1)元數(shù)據(jù)管理構件。元數(shù)據(jù)是關于數(shù)據(jù)的數(shù)據(jù),元數(shù)據(jù)管理構件主要完成ETL子系統(tǒng)中元數(shù)據(jù)管理模塊的功能,具體分成三小類,分別是負責維護數(shù)據(jù)倉庫架構的維護類構件、負責維護業(yè)務規(guī)則的維護類構件和調度類構件。

(2)層間接口構件。為了在各個數(shù)據(jù)倉庫項目之間平穩(wěn)的移植ETL,在此設計了層間接口構件。從抽象層面上為各數(shù)據(jù)倉庫項目提供一個相同的ETL處理框架,為ETL處理過程各層次的各種功能構件提供接口,實現(xiàn)構件具體處理過程對架構的透明化,為系統(tǒng)功能擴展留下了余地。

(3)KPI(關鍵績效指標)自動測試構件。測試無疑是保證系統(tǒng)質量的一個重要方法,ETL也不例外,但是,ETL過程測試和一般的軟件測試在測試過程、測試方法、評價標準等方面都有比較大的不同,它是一個非常繁瑣、工作量巨大、有一定規(guī)律的過程。

從抽象層面上看,一類相似或相近的數(shù)據(jù)倉庫項目每個KPI(關鍵績效指標)的維度組合是相對固定的,測試標準和過程是一致的,所以,在ETL架構中,專門提供了KPI自動測試類構件,為每類KPI提供一個自動測試構件,其基本處理邏輯如圖2所示。

該類構件能夠快速發(fā)現(xiàn)ETL架構中集成層和轉換層中相關構件數(shù)據(jù)處理過程中隱藏的問題,從而降低ETL過程測試的難度和工作量,大幅度提高ETL架構的效率和質量。

發(fā)布:2007-04-21 11:05    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
長沙OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普長沙OA軟件行業(yè)資訊其他應用

長沙OA 長沙新聞動態(tài) 長沙OA信息化 長沙OA快博 長沙OA軟件行業(yè)資訊 長沙軟件開發(fā)公司 長沙門禁系統(tǒng) 長沙物業(yè)管理軟件 長沙倉庫管理軟件 長沙餐飲管理軟件 長沙網(wǎng)站建設公司