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