基于可復用構件思想的ETL架構設計
(1)元數據管理構件。元數據是關于數據的數據,元數據管理構件主要完成ETL子系統中元數據管理模塊的功能,具體分成三小類,分別是負責維護數據倉庫架構的維護類構件、負責維護業務規則的維護類構件和調度類構件。
(2)層間接口構件。為了在各個數據倉庫項目之間平穩的移植ETL,在此設計了層間接口構件。從抽象層面上為各數據倉庫項目提供一個相同的ETL處理框架,為ETL處理過程各層次的各種功能構件提供接口,實現構件具體處理過程對架構的透明化,為系統功能擴展留下了余地。
(3)KPI(關鍵績效指標)自動測試構件。測試無疑是保證系統質量的一個重要方法,ETL也不例外,但是,ETL過程測試和一般的軟件測試在測試過程、測試方法、評價標準等方面都有比較大的不同,它是一個非常繁瑣、工作量巨大、有一定規律的過程。
從抽象層面上看,一類相似或相近的數據倉庫項目每個KPI(關鍵績效指標)的維度組合是相對固定的,測試標準和過程是一致的,所以,在ETL架構中,專門提供了KPI自動測試類構件,為每類KPI提供一個自動測試構件,其基本處理邏輯如圖2所示。

該類構件能夠快速發現ETL架構中集成層和轉換層中相關構件數據處理過程中隱藏的問題,從而降低ETL過程測試的難度和工作量,大幅度提高ETL架構的效率和質量。
2銀聯統計分析系統ETL構件識別與架構設計
為了說明基于可重用構建思想的ETL架構的有效性,下面介紹該架構在多家銀聯統計分析系統中的實際應用。
2.1 銀聯統計分析系統的介紹
銀聯統計分析系統是建立在數據倉庫基礎上的,為銀聯各分公司領導提供決策輔助信息的系統。其目的是為了更深入應用銀聯積累的大量跨行交易數據,是為了促進分公司、銀行、金融監管機構和行業客戶對業務進行全面、及時、準確的分析和定位,及時了解業務發展動態和預測,及時解決業務發展中存在的問題。
銀聯在全國有37家省級分公司。各分公司所關心的數據內容,關注的KPI體系,KPI的評價標準都是一致的。但是,各分公司由于當地經濟發展水平不同,銀行卡應用深度不同,導致各分公司業務種類差異很大,即使是同一種業務,其成熟程度、規范程度差異也很大,體現在數據上就是數據源的種類不一致,即使是相同的業務數據源,在數據結構、業務判斷規則、數據表現形式方面也有很大差異性。
這種共性大差異性也大的多個數據倉庫系統,設計上選用可重用性構件的思想來指導ETL的架構設計,實現上采用自己開發的擁有自動知識產權決策支持系統產品:數據挖掘商業應用平臺(Compass)。該平臺包括智能流程管理子系統、報表專家子系統、多維分析子系統、數據挖掘子系統四個部分。其中智能流程子系統是一個獨立的ETL開發工具,能夠支持基于可復用構件思想ETL過程的實現。
2.2 銀聯統計分析系統ETL構件分層識別
在銀聯統計分析系統ETL設計階段,依據圖1所示的ETL架構和設計思想來設計和組織ETL各處理階段可重用構件以及構件之間的接口規則:
(1)抽取層。銀聯統計分析系統抽取層處理的數據主要三類:業務數據、維度數據、輔助數據。業務數據主要包括全流水、二次清分數據、公共支付、固網支付、網上支付等業務交易數據;維度數據主要包括商戶信息、機構信息、終端信息、地區信息等;輔助數據主要是卡bin信息、發卡信息等。
銀聯統計分析系統這個層面的數據除了全流水數據外,其他的內容在各個分公司表現形式、處理規則差異很大,封裝成構件的價值不大,所以這個層面可以識別的構件只有全流水抽取。
(2)集成轉換層。鑒于各分公司統計分析系統所關心的數據內容,關注的KPI體系,關注的維度數據(商戶、機構、終端)信息相似度很高,所以這個層面可以識別的構件比較多,主要有兩大類:流水數據集成轉換構件;維度類數據集成轉換構件,具體包括商戶、機構、終端、商戶類別、地區信息的集成轉換構件。
輔助數據因為類型多樣,差異比較大,可重用價值不高,所以不對其識別構件。
(3)特殊處理層。銀聯統計分析系統的特殊處理層的構件不再按照數據類別識別,而是根據每個指標的使用頻率、涉及數據記錄數的多少識別三類構件:交易指標類構件、調賬指標類構件、維度統計指標類構件,分別負責交易類指標、調賬類指標、商戶和終端發展情況的統計。
(4)基礎服務層。各分公司銀聯統計分析系統對元數據管理要求基本一致且沒有特殊要求,銀聯統計分析系統將其識別為元數據管理構件。
考慮到銀聯統計分析系統處理的數據對象基本一致,差異主要體現在數據的表現形式和處理規則上,加上ETL過程構件之間傳遞數據量很大,這里選用數據池的形式而不采用函數調用的形式來定義構件接口。例如,所有分公司對商戶關注的信息都是一樣的,但是每個分公司提供的商戶信息的表現形式卻各不相同,抽取層接口數據池通過約定抽取層商戶信息抽取過程生成內容和格式,為集成轉換層商戶信息集成轉換構件提供一個穩定的數據源,使其不必關心用戶提供的數據源是什么形式。
考慮到銀聯統計分析系統關注的指標繁多,一次性全部識別成控件難度和工作量都很大。所以,首先識別并封裝最重要的、最常用的交易類指標的自動測試構建;然后是調帳指標和維度統計指標的自動測試構件的識別和封裝。
評論