基于可復用構件思想的ETL架構設計
基于此,這里研究了基于構件的思想,設計并實現了可重用的ETL架構,經北京銀聯、江蘇銀聯、浙江銀聯籌10家銀聯省級分公司的數據倉庫項目實際應用,表明該架構是有效的。
1 基于可復用構件思想的ETL架構設計
1.1 設計思想
基于構件技術的軟件復用提倡以已有的工作為基礎,充分利用過去工作中積累的知識和經驗,將已經辨識的具有相對獨立功能的構件應用于新系統的開發,保證新系統開發的過程中,能夠將重點集中于辨識和實現應用系統特有的構成成分,最終縮短系統開發周期,提高系統的質量。
基于構件技術的軟件復用的核心思想包括如下幾個方面:
(1)構件化設計。通過系統地分析一類相似或相近的數據倉庫項目,識別出其共同特征和可變特征,并對這些特征進行抽象,形成領域分析模型,并據此進一步識別出可復用的構件。
(2)層次化設計。層次化設計可以提高系統的可擴展性和可維護性。通過層次化設計可以將所有識別的構件按一定的規則(如抽象級別、處理對象和處理的功能)分類管理,然后以分層的形式來組織,進而確定不同層構件之間的交互方式,保證每個構件的變化只涉及它的鄰近兩層的相關構件,實現系統一定程度上的開放性。
(3)接口化設計。不同層次的構件之間需要溝通,溝通需要規范,通過規范的接口可實現構件之間溝通的規范化。接口只制定規范,具體實現交由構件內部完成。接口化設計將構件的差異放到實現階段,而不是在設計階段,使得設計階段可以致力于軟件架構設計的完整性和復用性,使得不同系統之間處理的差異通過替換構件而無需變動架構就可得到解決。
1.2 ETL架構模型設計
基于可復用構件思想的ELT架構(如圖1所示)主要分成基礎服務層、抽取層、集成轉換層、特殊處理層四個層次,每個層次的功能如下所述。

1.2.1 抽取層
抽取層構件位于ETL架構的最底層,直接面對數據源,完成數據抽取階段的工作。鑒于數據倉庫數據源差異性大的特點,這個層的ETL構件在不同數據倉庫間差異很大,可重用程度總體上比較低。
1.2.2集成轉換層
集成轉換層構件主要將抽取層抽取的數據轉換成格式規范、含義統一、質量良好的數據,并集成到數據倉庫中。由于是在兩個層接口構件之間,所以集成轉換層構件的輸入和輸出都要滿足層間接口構件的約定,在相似數據倉庫項目之間的差異主要體現在業務處理規則上。集成轉換層為每類數據對象提供一類ETL處理構件,同層構件之間相對獨立,通過抽象各個相似數據倉庫項目業務規則,將其封裝在構件內,保證ETL架構在相似數據倉庫之間移植時,只要通過配置業務規則,ETL構件即可投入使用。
1.2.3特殊處理層
為了保證后續功能開發者可以將注意力放在功能關注的指標上,而不要關心指標的具體口徑,更不要擔心指標口徑變化和指標口徑在相似數據倉庫項目之間的差異對功能移植造成不利影響,在集成轉換層構件處理的基礎上,專門增加了特殊處理層,負責將數據倉庫中按流水交易形式組織的數據換算成按KPI組織的形式。
1.2.4 基礎服務層
為了給ETL提供一個相對穩定和靈活的架構,在元數據管理的構件識別的基礎上引入了基礎服務層,擴展了傳統意義上的元數據管理的功能,包含元數據管理構件、層間接口構件、KPI自動測試構件三大類:這些構件構成了ETL基礎和骨架,為系統的穩定性和適應性奠定了基礎。
評論