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