新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于可復用構件思想的ETL架構設計

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

        作者: 時間:2010-05-08 來源:網絡 收藏
        數據倉庫的數據來源常包含著噪聲數據、不完整數據、甚至是不一致的數據。為了得到高質量的數據,必須對抽取(Extract)出來的原始數據做一系列復雜轉換(Transform)處理,最后裝載(Load)到數據倉庫中。這種從原始數據到數據倉庫之間,對數據進行的操作稱為過程,其工作量大約占系統的60%,實現過程的效率和質量很大程度上決定了數據倉庫系統的構建效率和質量。目前研究過程都是集中于個案的研究,強調ETL系統的可擴展性和靈活性,對于如何在類相似或相近的數據倉庫項目中共享ETL過程的研究則很少,很大程度上阻礙了數據倉庫項目建設效率的進一步提高。如何在一類相似或相近的數據倉庫項目中發現其共同特征、知識和需求,使得ETL過程可以在這些數據倉庫項目中被反復使用,大幅度提高實現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基礎和骨架,為系統的穩定性和適應性奠定了基礎。

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 许昌市| 重庆市| 石首市| 远安县| 探索| 荣昌县| 周至县| 安徽省| 阳东县| 大理市| 雷山县| 轮台县| 两当县| 三江| 扎赉特旗| 大田县| 香河县| 新宾| 河池市| 宜春市| 常熟市| 维西| 邵东县| 平定县| 蕉岭县| 商都县| 枣阳市| 如东县| 大渡口区| 洛宁县| 洪洞县| 柘城县| 普安县| 库车县| 中超| 临西县| 呼伦贝尔市| 鄂托克前旗| 武宣县| 大关县| 常德市|