數(shù)據(jù)倉庫和管理信息系統(tǒng)中ETL的設(shè)計(jì)與建設(shè)_第1頁
數(shù)據(jù)倉庫和管理信息系統(tǒng)中ETL的設(shè)計(jì)與建設(shè)_第2頁
數(shù)據(jù)倉庫和管理信息系統(tǒng)中ETL的設(shè)計(jì)與建設(shè)_第3頁
數(shù)據(jù)倉庫和管理信息系統(tǒng)中ETL的設(shè)計(jì)與建設(shè)_第4頁
數(shù)據(jù)倉庫和管理信息系統(tǒng)中ETL的設(shè)計(jì)與建設(shè)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《數(shù)據(jù)倉庫和管理信息系統(tǒng)中ETL的設(shè)計(jì)與建設(shè)》軟件工程課程設(shè)計(jì)目錄TOC\o"1-5"\h\z\o"CurrentDocument"第一章引言3\o"CurrentDocument"1.1編寫目的3\o"CurrentDocument"1.2項(xiàng)目背景3\o"CurrentDocument"1.3項(xiàng)目主要目標(biāo)3\o"CurrentDocument"第二章項(xiàng)目總體描述5\o"CurrentDocument"2.1基本設(shè)計(jì)思想5\o"CurrentDocument"ETL概念和數(shù)據(jù)倉庫關(guān)系5\o"CurrentDocument"ETL的工作過程以及實(shí)施步驟6\o"CurrentDocument"結(jié)合單一主題實(shí)踐選擇的ETL工具7\o"CurrentDocument"2.5數(shù)據(jù)源的確認(rèn)以及數(shù)據(jù)標(biāo)準(zhǔn)的制定7\o"CurrentDocument"2.6數(shù)據(jù)的抽取7\o"CurrentDocument"2.7數(shù)據(jù)的轉(zhuǎn)換9\o"CurrentDocument"2.8數(shù)據(jù)的裝載10\o"CurrentDocument"2.9數(shù)據(jù)的更新11\o"CurrentDocument"ETL方案的選擇應(yīng)考慮的問題11\o"CurrentDocument"ETL實(shí)施案例(信貸管理單一主題)12\o"CurrentDocument"第三章系統(tǒng)架構(gòu)183.1系統(tǒng)整體邏輯結(jié)構(gòu)18DW&MIS整體架構(gòu)18ETL體系結(jié)構(gòu)19\o"CurrentDocument"ETL模塊邏輯結(jié)構(gòu)20\o"CurrentDocument"ETL模塊處理流程20\o"CurrentDocument"ETL功能模塊實(shí)施22\o"CurrentDocument"3.4.1源數(shù)據(jù)抽取22\o"CurrentDocument"數(shù)據(jù)傳輸23\o"CurrentDocument"數(shù)據(jù)轉(zhuǎn)換23\o"CurrentDocument"3.4.4目標(biāo)數(shù)據(jù)表的刷新25\o"CurrentDocument"ETL實(shí)施建議26\o"CurrentDocument"第四章運(yùn)行環(huán)境28\o"CurrentDocument"4.1軟件環(huán)境28\o"CurrentDocument"第五章ETL實(shí)施中的關(guān)鍵因素32\o"CurrentDocument"5.1數(shù)據(jù)質(zhì)量的控制32\o"CurrentDocument"5.2元數(shù)據(jù)的管理33\o"CurrentDocument"流程的統(tǒng)一調(diào)度33\o"CurrentDocument"監(jiān)控預(yù)警34\o"CurrentDocument"第六章數(shù)據(jù)安全性36\o"CurrentDocument"數(shù)據(jù)傳輸安全36\o"CurrentDocument"數(shù)據(jù)存儲安全36\o"CurrentDocument"6.3數(shù)據(jù)訪問安全36\o"CurrentDocument"第七章結(jié)束語與感想37致謝語錯(cuò)誤!未定義書簽。第一章引言1.1編寫目的此論文編寫的目的是對本學(xué)期在中國建設(shè)銀行廈門開發(fā)中心所做的畢業(yè)設(shè)計(jì)進(jìn)行總結(jié),并向?qū)W院做一個(gè)匯報(bào)。1.2項(xiàng)目背景系統(tǒng)名稱:中國建設(shè)銀行數(shù)據(jù)倉庫和管理信息系統(tǒng),簡稱為DW&MIS項(xiàng)目提出部門:中國建設(shè)銀行總行信息中心項(xiàng)目開發(fā)部門(單位):中國建設(shè)銀行總行廈門開發(fā)中心系統(tǒng)運(yùn)行部門:中國建設(shè)銀行總行運(yùn)行中心系統(tǒng)直接用戶:中國建設(shè)銀行總行各主要業(yè)務(wù)部門、一級分行的管理者與信息提供者系統(tǒng)間接用戶:使用該系統(tǒng)數(shù)據(jù)的其他系統(tǒng)用戶建設(shè)銀行要成為國際一流的商業(yè)銀行,必須借助信息技術(shù)形成后發(fā)優(yōu)勢,而數(shù)據(jù)倉庫和管理信息系統(tǒng)(DW&MIS)對其生存和發(fā)展具有戰(zhàn)略意義及現(xiàn)實(shí)意義。數(shù)據(jù)倉庫(DW)的建設(shè)能夠?yàn)殂y行提供規(guī)模龐大且規(guī)范統(tǒng)一的數(shù)據(jù),并支持更先進(jìn)和更復(fù)雜的管理分析與運(yùn)算工作;基于數(shù)據(jù)倉庫的管理信息系統(tǒng)(MIS)建設(shè)是在數(shù)據(jù)倉庫和各相關(guān)應(yīng)用軟件(包括數(shù)據(jù)加工架構(gòu)下的應(yīng)用軟件等)的支援下,為管理者提供各類信息管理和分析工作的執(zhí)行平臺。DW&MIS項(xiàng)目所建設(shè)的內(nèi)容將涵蓋資產(chǎn)負(fù)債管理(ALM)、客戶關(guān)系管理(CRM)、財(cái)務(wù)/績效管理(F/PM)、風(fēng)險(xiǎn)管理(RM)等四大管理主題的業(yè)務(wù)架構(gòu)建設(shè)、跨管理主題以及特定主題的數(shù)據(jù)架構(gòu)建設(shè)和技術(shù)架構(gòu)建設(shè)三大方面。其作為解決全行信息共享、數(shù)據(jù)一致性、數(shù)據(jù)質(zhì)量和管理信息系統(tǒng)集成等問題的重要支持,為建設(shè)銀行實(shí)現(xiàn)信息資源的統(tǒng)一管理和高效運(yùn)用,實(shí)現(xiàn)集約化、科學(xué)化管理奠定基礎(chǔ)。1.3項(xiàng)目主要目標(biāo)建設(shè)銀行《數(shù)據(jù)倉庫和管理信息系統(tǒng)項(xiàng)目》整體目標(biāo)如下:建立企業(yè)級的數(shù)據(jù)倉庫基礎(chǔ)設(shè)施,開發(fā)基于數(shù)據(jù)倉庫的管理信息系統(tǒng)解決跨部門、跨業(yè)務(wù)、跨時(shí)間和跨信息平臺的復(fù)雜的信息整合問題,支持復(fù)雜的信息檢索及在線訪問并可處理海量數(shù)據(jù),建立全行范圍綜合信息資源的集中管理與運(yùn)用支持平臺。?為建設(shè)銀行的管理科學(xué)化提供基礎(chǔ)信息以規(guī)范的形式整合全行的信息資源,建立全行范圍的單一的管理數(shù)據(jù)視圖,全面反映建行的風(fēng)險(xiǎn)管理、財(cái)務(wù)與績效管理、資產(chǎn)負(fù)債管理和客戶關(guān)系管理的狀況,強(qiáng)化數(shù)據(jù)視圖在全行范圍的一致有效和充分共享,為上述四大主題的管理科學(xué)化提供基礎(chǔ)信息,并支持管理能力的不斷提升。?遵循統(tǒng)一協(xié)調(diào)的項(xiàng)目實(shí)施原則“統(tǒng)一規(guī)劃、統(tǒng)一數(shù)據(jù)標(biāo)準(zhǔn)、統(tǒng)一數(shù)據(jù)模型、統(tǒng)一技術(shù)標(biāo)準(zhǔn),分步實(shí)施開發(fā)”。第二章項(xiàng)目總體描述2.1基本設(shè)計(jì)思想在軟件工程中,提倡低耦合和高內(nèi)聚,就是要強(qiáng)調(diào)模塊化,將單一的功能放在單一的模塊中,通過接口來通訊。在ETL設(shè)計(jì)中,同樣也需要這樣。如果能夠?qū)⒋髷?shù)據(jù)切分成若干適度小數(shù)據(jù),例如按照營業(yè)機(jī)構(gòu)切分。那么,每次ETL處理都能保證在相對不長的時(shí)間內(nèi),相對不容易出現(xiàn)異常中斷的情況下,運(yùn)行完畢,這對于流程測試、數(shù)據(jù)檢驗(yàn)都有很大的幫助。另外如果要降低ETL任務(wù)間的耦合,提高一個(gè)任務(wù)的內(nèi)聚,還必須讓單個(gè)任務(wù)只處理單一數(shù)據(jù),否則,如果在一個(gè)任務(wù)中去裝載兩個(gè)不甚相干的表,這就引起一個(gè)問題,當(dāng)重裝其中一個(gè)表時(shí),另一個(gè)表也會重裝,這無疑是一種浪費(fèi)。可能存在的另一個(gè)問題是,如果任務(wù)設(shè)計(jì)為裝載多個(gè)表,而且他們的依賴關(guān)系非常強(qiáng),在裝載過程中,一旦有個(gè)表數(shù)據(jù)裝載出現(xiàn)錯(cuò)誤,就往往會導(dǎo)致需要重新裝載所有的相關(guān)表,因?yàn)樗鼈兌际窃谕粋€(gè)任務(wù)中處理的。當(dāng)然,分任務(wù)單獨(dú)裝載表的話,如果某個(gè)表被其它多個(gè)表所關(guān)聯(lián),那么在裝載其它表時(shí),該表就會被多次讀入數(shù)據(jù),還就需要做一次性能的評估,如果這不是性能瓶頸的話,還是應(yīng)該采用低耦合的設(shè)計(jì)。另外,如果ETLX具支持這種“熱”數(shù)據(jù),可以將數(shù)據(jù)預(yù)先讀入內(nèi)存,以供多個(gè)任務(wù)使用,這會是解決此問題的一個(gè)辦法。對于ETL低耦合和高內(nèi)聚的設(shè)計(jì),有兩點(diǎn)基本原則:1、對于ETL的性能,不是求最好的性能,而是求可以接受的性能。2、對于ETL任務(wù),只要考慮單一裝載的原子功能,不去過多考慮裝載調(diào)度功能,讓流程控制去調(diào)度。ETL概念和數(shù)據(jù)倉庫關(guān)系ETL分別代表數(shù)據(jù)的獲取、數(shù)據(jù)傳遞和數(shù)據(jù)存儲的三個(gè)過程。具體內(nèi)容是從源系統(tǒng)抽取數(shù)據(jù),.轉(zhuǎn)換成特定格式和結(jié)構(gòu),以提供數(shù)據(jù)倉庫存儲需要的所有功能和過程,最后將轉(zhuǎn)換后的數(shù)據(jù)遷移到數(shù)據(jù)倉庫中E即抽取extractive;T即傳輸、轉(zhuǎn)換、清洗transmission;L即加載、調(diào)度load;由于各個(gè)源系統(tǒng)的差異性,ETL功能改造了源系統(tǒng)中的相關(guān)數(shù)據(jù),將他們變成有用的信息存儲在數(shù)據(jù)倉庫中,沒有這些功能,就沒有數(shù)據(jù)倉庫中的戰(zhàn)略信息。如果沒有對源數(shù)據(jù)進(jìn)行正確的抽取,清洗和整合,作為數(shù)據(jù)倉庫中樞功能的查詢處理就不能進(jìn)行。ETL功能是提供數(shù)據(jù)倉庫信息內(nèi)容的前期工作,一般在一個(gè)數(shù)據(jù)倉庫系統(tǒng)中,要占據(jù)60%左右的工作量。由于建行是由大量操作型系統(tǒng)支持的,運(yùn)行在不同的計(jì)算機(jī)平臺上,所以數(shù)據(jù)抽取是個(gè)很大的挑戰(zhàn),數(shù)據(jù)轉(zhuǎn)換和裝載也會同等困難。ETL在整個(gè)數(shù)據(jù)倉庫流程中的位置,如圖2-1。圖2-1ETL在整個(gè)數(shù)據(jù)倉庫流程中的位置ETL的工作過程以及實(shí)施步驟1、首先討論客戶需求,確定分析系統(tǒng)范圍和主題;2、根據(jù)需求建立業(yè)務(wù)概念模型;3、根據(jù)業(yè)務(wù)概念模型建立業(yè)務(wù)邏輯模型;4、制定統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)和映射抽取關(guān)系5、根據(jù)業(yè)務(wù)邏輯模型建立數(shù)據(jù)模型;6、進(jìn)行ETL抽取、轉(zhuǎn)換;7、加載進(jìn)目標(biāo)存儲區(qū);圖2-2是一個(gè)完整的ETL過程圖|事實(shí)表的ETL|維度表的ETL|為所有的數(shù)據(jù)裝載編寫規(guī)程|組織數(shù)據(jù)緩存區(qū)域和檢測工具|為聚集表制定計(jì)劃\|決定數(shù)據(jù)轉(zhuǎn)換和清洗規(guī)則|建立全面的數(shù)據(jù)抽取規(guī)則|準(zhǔn)備從源到目標(biāo)數(shù)據(jù)元素的數(shù)據(jù)映像關(guān)系|決定所有的數(shù)據(jù)源,包括內(nèi)部和外部決定數(shù)據(jù)倉庫中需要的所有的目標(biāo)數(shù)據(jù)圖2-2數(shù)據(jù)倉庫ETL過程參考2.4結(jié)合單一主題實(shí)踐選擇的ETLX具ETL設(shè)計(jì)工具:SagentDesignStudio,用于設(shè)計(jì)實(shí)施數(shù)據(jù)抽取計(jì)劃。ETL調(diào)度工具:SagentAutomation,根據(jù)特定條件設(shè)定管理數(shù)據(jù)抽取計(jì)劃實(shí)施。ETL管理工具:SagentAdmin,實(shí)現(xiàn)包括ETL全過程在內(nèi)的元數(shù)據(jù)管理ETL實(shí)現(xiàn):SagentDataMovementServer,提供ETL服務(wù)。元數(shù)據(jù)管理工具:SagentAdmin,管理用戶對元數(shù)據(jù)的訪問權(quán)限、對數(shù)據(jù)流中各個(gè)組成部分的訪問和管理權(quán)限等。通過對數(shù)據(jù)流訪問權(quán)限的控制,可以方便地對報(bào)表和OLAP的訪問進(jìn)行控制,從而滿足所有對OLAP訪問控制的功能。元數(shù)據(jù)存儲:SQLServer2000。2.5數(shù)據(jù)源的確認(rèn)以及數(shù)據(jù)標(biāo)準(zhǔn)的制定單一主題所需的數(shù)據(jù)雖然只存在于一個(gè)數(shù)據(jù)源系統(tǒng)DCC中,但是存在于多個(gè)表中。因此必須要將這些表關(guān)聯(lián)起來才能得到所需的信息。數(shù)據(jù)映射規(guī)則以及數(shù)據(jù)標(biāo)準(zhǔn)需要總行的速贏項(xiàng)目完成;數(shù)據(jù)倉庫第一期主要實(shí)現(xiàn)資產(chǎn)負(fù)債主題,數(shù)據(jù)盡可能從已經(jīng)集中的DCC里面取。2.6數(shù)據(jù)的抽取1、數(shù)據(jù)抽取方法方法一:在數(shù)據(jù)倉庫服務(wù)器上建一個(gè)臨時(shí)表,將所需的字段值先抽取到該表中,然后進(jìn)行標(biāo)準(zhǔn)化和匯總裝載到數(shù)據(jù)倉庫中。方法二:用復(fù)雜的SQL語句將多表關(guān)聯(lián)選取相應(yīng)的字段轉(zhuǎn)載到數(shù)據(jù)倉庫中。2、抽取方法的分析對于方法一,可以提高數(shù)據(jù)抽取的效率,抽取方法和語句也比較簡單。但是需要在數(shù)據(jù)倉庫服務(wù)器上開辟另外的存儲空間,如果數(shù)據(jù)量大,需要的存儲空間也大。同時(shí)在數(shù)據(jù)倉庫服務(wù)器上進(jìn)行標(biāo)準(zhǔn)化和匯總,增加數(shù)據(jù)倉庫服務(wù)器的負(fù)擔(dān),可能會影響到它的效率。對于方法二,在抽取過程中進(jìn)行了一些轉(zhuǎn)換,可以直接裝載數(shù)據(jù)到數(shù)據(jù)倉庫中,數(shù)據(jù)倉庫服務(wù)器不需要額外的空間來存儲臨時(shí)表和對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。但是數(shù)據(jù)抽取過程很復(fù)雜,SQL會很繁瑣,而且涉及到多表關(guān)聯(lián),效率會比較低。對于數(shù)據(jù)源分布在多個(gè)系統(tǒng)中這種方法是行不通的。3、抽取方法的比較綜合考慮各種方法,方法一可實(shí)施程度高。初始裝載時(shí),按照所涉及到的源系統(tǒng)的表結(jié)構(gòu)選取需要的字段建立新的表。第一次裝載時(shí),采用靜態(tài)數(shù)據(jù)捕獲,將源數(shù)據(jù)表的數(shù)據(jù)全部抽取到臨時(shí)表中。通過編程或工具對臨時(shí)表中的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,并且進(jìn)行對數(shù)據(jù)按照數(shù)據(jù)倉庫的要求進(jìn)行標(biāo)準(zhǔn)化處理,設(shè)置默認(rèn)值。然后裝載到數(shù)據(jù)倉庫中。4、日常數(shù)據(jù)抽取方法(1)通過對交易日志中對哪些記錄進(jìn)行了update、insert、delete操作,將這些記錄抽取到數(shù)據(jù)倉庫中,但是這種方法需要源系統(tǒng)的數(shù)據(jù)庫系統(tǒng)有交易日志可查,另外對交易日志的格式需要編寫專門的程序來進(jìn)行處理。源系統(tǒng)是Informix數(shù)據(jù)庫;(2)通過在源系統(tǒng)的數(shù)據(jù)庫中設(shè)置觸發(fā)器,每當(dāng)有update、insert、delete操作時(shí)時(shí)觸發(fā)一個(gè)事件將發(fā)生改變的記錄抽取到臨時(shí)存儲區(qū)中,但是這樣對源系統(tǒng)有一些影響;(3)將今天的抽取和昨天的抽取進(jìn)行比較,找出它們之間的變化,將有update、insert、delete操作的記錄抽取到臨時(shí)表中,這種方法不太適合有大量數(shù)據(jù)的系統(tǒng),因?yàn)槲募?,不容易進(jìn)行比較找出變化的記錄;(4)通過時(shí)間戳來進(jìn)行數(shù)據(jù)的抽取,這種方法要求源系統(tǒng)中的數(shù)據(jù)表中含有日期和時(shí)間標(biāo)記的字段。每次源系統(tǒng)進(jìn)行update、insert、delete操作時(shí)都有時(shí)間和日期記錄。在每次抽取后在這次抽取的時(shí)間和日期作一個(gè)時(shí)間標(biāo)記,下次抽取時(shí)只需抽取在時(shí)間標(biāo)記后進(jìn)行update、insert、delete操作的記錄。這種方法適合改動(dòng)比較少的數(shù)據(jù)表;(5)通過在源程序?qū)懭胨衭pdate、insert、delete操作,抽取程序捕獲源數(shù)據(jù)變化的文件。這種方法需要修改源程序,需要對它進(jìn)行維護(hù)。一般而言,不會采取這種方法;各種數(shù)據(jù)抽取方式的適合情況(X表示不允許),如表2-1。數(shù)據(jù)量大沒有修改源數(shù)據(jù)表的權(quán)限沒有時(shí)間戳沒有有交易日志不允許修改源系統(tǒng)的應(yīng)用程序靜態(tài)數(shù)據(jù)捕獲交易日志捕獲X數(shù)據(jù)庫觸發(fā)器捕獲X在源程序中捕獲X時(shí)間戳捕獲X文件比較捕獲X表2-1各種數(shù)據(jù)抽取方式的適合情況針對單一主題而言,源系統(tǒng)的特點(diǎn):數(shù)據(jù)量小,涉及的數(shù)據(jù)表少,有操作數(shù)據(jù)庫進(jìn)行的權(quán)限。因此采用在源系統(tǒng)的數(shù)據(jù)表中建立觸發(fā)器的方式,如果該表中有更新(insert、update、delete)操作,將有變化的記錄抽取到臨時(shí)存儲區(qū)。2.7數(shù)據(jù)的轉(zhuǎn)換對于數(shù)據(jù)轉(zhuǎn)換主要從以下方面進(jìn)行轉(zhuǎn)換:格式修正。包括數(shù)據(jù)類型和單個(gè)字段的變化。例如,類型在各種源系統(tǒng)中定義不一致,需要對它們進(jìn)行標(biāo)準(zhǔn)化;字段的解碼。一些用1和2來表示男性和女性,另一個(gè)系統(tǒng)用M和F來表示。一些難以理解的表示方法如BJ、SH等。數(shù)據(jù)倉庫需要用戶可以理解的值,因此需要對這些值進(jìn)行解碼;計(jì)算值和導(dǎo)出值。一些字段在導(dǎo)入數(shù)據(jù)倉庫時(shí)需要進(jìn)行計(jì)算。主要是事實(shí)表的數(shù)據(jù);單個(gè)字段的分離。例如有些系統(tǒng)中將地址和名稱寫在一個(gè)字段里,在數(shù)據(jù)倉庫中為了分析的方便需要將這些信息分離成地址和名稱二個(gè)字段;信息的合并。例如信貸的發(fā)生額在DCC中,而客戶信息在CMIS中,如果要得到完整的信息,就必須將二個(gè)系統(tǒng)的數(shù)據(jù)進(jìn)行合并;特征集合轉(zhuǎn)化。例如源系統(tǒng)使用大型機(jī),它的文本格式采用EBCDIC格式,而數(shù)據(jù)倉庫基于微機(jī)系統(tǒng),采用ASCII格式,這樣需要進(jìn)行特征集合轉(zhuǎn)化;(7)度量單位的轉(zhuǎn)化。例如國內(nèi)的貸款使用人民幣,而涉外的貸款會使用到美元,裝入到數(shù)據(jù)倉庫是必須要統(tǒng)一貨幣類型;(8)日期/時(shí)間轉(zhuǎn)化。這與操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)設(shè)置有關(guān),如在Informix中11/10/2004表示2004年10月11日,而在SQLServer中可能表示2004年11月10日;(9)匯總。例如由于粒度需要,在轉(zhuǎn)入數(shù)據(jù)倉庫時(shí)一天的發(fā)放貸款數(shù)據(jù)匯總,這樣需要對一天的貸款發(fā)生額進(jìn)行匯總;(10)鍵的重新構(gòu)造。例如在源系統(tǒng)中是以機(jī)構(gòu)編號作為主鍵,如果在機(jī)構(gòu)維度表中繼續(xù)采用機(jī)構(gòu)編號作為主鍵,在一個(gè)機(jī)構(gòu)的機(jī)構(gòu)編號發(fā)生變化時(shí),就沒有辦法判斷這二個(gè)機(jī)構(gòu)編號是屬于同一個(gè)機(jī)構(gòu)。因此我們采用機(jī)構(gòu)維度表自己生成的鍵作為主鍵,機(jī)構(gòu)編號變化時(shí)只要加上一個(gè)指向新編號的指針即可;以上是數(shù)據(jù)轉(zhuǎn)換要考慮的方面,針對單一主題,在數(shù)據(jù)倉庫服務(wù)器上編寫相應(yīng)的SQL語句或者編寫相應(yīng)的程序進(jìn)行轉(zhuǎn)換。2.8數(shù)據(jù)的裝載1、數(shù)據(jù)裝載有四種方式:裝載、追加、破壞性合并、建設(shè)性合并。(1)裝載:將數(shù)據(jù)準(zhǔn)備區(qū)的數(shù)據(jù)裝載到數(shù)據(jù)倉庫中,如果數(shù)據(jù)倉庫中原來有數(shù)據(jù),則先全部清除后,在進(jìn)行裝載。(2)追加:將數(shù)據(jù)準(zhǔn)備區(qū)的數(shù)據(jù)追加到數(shù)據(jù)倉庫中,當(dāng)已輸入記錄與已存在記錄重復(fù)時(shí),要定義如何處理這條記錄的副本,可以作為副本增加進(jìn)去,也可以將其丟棄。(3)破壞性合并:如果數(shù)據(jù)倉庫中不存在數(shù)據(jù)準(zhǔn)備區(qū)的數(shù)據(jù)相同的鍵值,就將數(shù)據(jù)準(zhǔn)備區(qū)的數(shù)據(jù)加入到數(shù)據(jù)倉庫中。如果已存在某個(gè)某個(gè)鍵值,則將該鍵值的內(nèi)容進(jìn)行更新。(4)建設(shè)性合并:將數(shù)據(jù)準(zhǔn)備區(qū)的數(shù)據(jù)加入到數(shù)據(jù)倉庫中。如果已存在某個(gè)某個(gè)鍵值,則將新加入的記錄作一個(gè)標(biāo)記,表示是對舊記錄的替代。2、初始裝載一次對整個(gè)數(shù)據(jù)倉庫進(jìn)行裝載,可以將數(shù)據(jù)裝載分為幾個(gè)在裝載,每個(gè)子裝載可以采用上述四種方式的任何一種。對一個(gè)表的初始裝載的第一次允許,可以采用裝載的方法,以后的過程可以采用追加。3、增量裝載一般采用建設(shè)性合并。對于任何歷史性觀察不重要的目標(biāo)表,如一個(gè)維度表的一條記錄變化意味著糾正自己的錯(cuò)誤,舊記錄被新紀(jì)錄代替,采用破壞性合并。4、完全刷新這種類型應(yīng)用于周期性地重寫整體數(shù)據(jù)倉庫。與初始裝載不同的是在裝入數(shù)據(jù)時(shí)必須將原來的數(shù)據(jù)刪除??梢圆捎醚b載和追加的方法。2.9數(shù)據(jù)的更新如果當(dāng)更新的記錄數(shù)達(dá)到15%—25%時(shí),更新的所需的成本會高于刷新,否則,刷新的成本高于刷新。1、維度表的更新對維度表的修改有三種類型:改正錯(cuò)誤、保存歷史數(shù)據(jù)、暫時(shí)的修改改正錯(cuò)誤:如客戶維度表中姓名輸錯(cuò)了,輸入正確姓名后,舊的姓名沒有必要保留,用新的姓名進(jìn)行替代。保存歷史數(shù)據(jù):如客戶的婚姻狀態(tài)發(fā)生改變,需要重新一個(gè)分配鍵值,記錄該客戶新的信息,并將原來的記錄指向這條新的記錄。暫時(shí)的修改:對于保存歷史數(shù)據(jù)的修改中,如果要對跨時(shí)期進(jìn)行分析。如客戶2004年10月1日搬遷了地址,要對客戶在2004年9月1日至2004年11月1日之間的貸款進(jìn)行分析,這樣需要在鍵值不變的情況下,增加客戶新的地址,并修改它的有效日期。對單一主題的每一個(gè)維度進(jìn)行分析,采用哪種方式進(jìn)行修改。對時(shí)間維屬性的描述與源系統(tǒng)沒有關(guān)系。對其它維度表,如果是屬于輸入錯(cuò)誤,可以進(jìn)行改正錯(cuò)誤。如果是屬于像客戶地址搬遷,信用等級的改變需要保存歷史數(shù)據(jù)。如果有特殊的分析要求,如進(jìn)行客戶在多個(gè)信用等級的階段的貸款總額,則需要進(jìn)行暫時(shí)的修改。2、事實(shí)表的更新事實(shí)表的增量抽取是通過捕獲數(shù)據(jù)庫的交易日志,事實(shí)表的數(shù)據(jù)裝載應(yīng)用并行處理技術(shù)。2.10ETL方案的選擇應(yīng)考慮的問題ETL解決方案包括數(shù)據(jù)抽取(E)、數(shù)據(jù)傳輸、轉(zhuǎn)換與清洗(T)、數(shù)據(jù)加載、調(diào)度(L),毋庸置言,ETL系統(tǒng)將貫穿整個(gè)數(shù)據(jù)倉庫系統(tǒng)的全過程。ETL方案的選擇應(yīng)考慮以下方面:1、數(shù)據(jù)操作效率;

(1)是否支持復(fù)雜的數(shù)據(jù)操作;(2)是否支持多任務(wù)并行操作;(3)是否符合系統(tǒng)對數(shù)據(jù)處理時(shí)間窗口的要求。2、數(shù)據(jù)操作時(shí)間周期;(1)是否支持各種數(shù)據(jù)處理時(shí)間周期的混合操作;(2)是否支持?jǐn)?shù)據(jù)的小批量持續(xù)加載;(3)是否支持?jǐn)?shù)據(jù)的大批量定時(shí)加載。3、定制的靈活性;(1)是否支持?jǐn)?shù)據(jù)依賴的建立;(2)是否支持?jǐn)?shù)據(jù)流的建立;(3)是否支持操作定時(shí)啟動(dòng);(4)是否可擴(kuò)展;(5)開發(fā)環(huán)境是什么,開發(fā)是否簡單、靈活。2.111、ETL實(shí)施案例(信貸管理單一主題)系統(tǒng)架構(gòu)2.111、K中國逸設(shè)國行源數(shù)據(jù)服務(wù)器DesignStudioERWINiiiiniiiHiiiiifnrmiT信貸管理數(shù)據(jù)集市服務(wù)器WEB瀏覽源數(shù)據(jù)服務(wù)器DesignStudioERWINiiiiniiiHiiiiifnrmiT信貸管理數(shù)據(jù)集市服務(wù)器WEB瀏覽圖2-3系統(tǒng)架構(gòu)圖元數(shù)據(jù)服務(wù)器主要實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)抽取管理工作,并且保存應(yīng)用系統(tǒng)中所使用的元數(shù)據(jù)。涉及的軟件:ERWIN、SagentDesignStudio、INFORMIX-OnLineVersion7.23.UC6、SqlServer2000數(shù)據(jù)集市(DataMart)服務(wù)器采用ROLAP技術(shù),在關(guān)系型數(shù)據(jù)庫上建立、多模型保存多維數(shù)據(jù)數(shù)據(jù)。涉及的軟件:INFORMIX-OnLineVersion7.23.UC6、SqlServer2000WEB服務(wù)器為整個(gè)系統(tǒng)中的WEB應(yīng)用提供WWW服務(wù)。涉及的軟件:WindowsXPServerPCClient-數(shù)據(jù)集市的設(shè)計(jì)、管理和調(diào)度可在一臺機(jī)器上實(shí)現(xiàn)多個(gè)功能。也可以將不同的功能分布到不同的機(jī)器。涉及的軟件:ERWIN、SagentDesignStudioPCClient-即席查詢通過Client/Server方式對數(shù)據(jù)倉庫中的數(shù)據(jù)進(jìn)行OLAP分析,綜合統(tǒng)計(jì)。涉及的軟件:BO2、目標(biāo)定位信貸業(yè)務(wù)分析目前信貸資產(chǎn)在商業(yè)銀行總資產(chǎn)中占據(jù)主要地位,商業(yè)銀行的盈利很大一部分來自于利差收入,通過在現(xiàn)有信貸業(yè)務(wù)系統(tǒng)數(shù)據(jù)的基礎(chǔ)上,構(gòu)造信貸信息數(shù)據(jù)倉庫,建立信貸決策支持系統(tǒng),可以輔助銀行中高級經(jīng)營管理者進(jìn)行經(jīng)營決策,提高銀行經(jīng)營、運(yùn)作的科學(xué)性及預(yù)見性,降低銀行信貸風(fēng)險(xiǎn),提高信貸獲利能力,建立輔助信貸決策模型。以效益為核心,從行業(yè)、客戶、產(chǎn)品、機(jī)構(gòu)等多個(gè)口徑對轄內(nèi)信貸資產(chǎn)的歷史數(shù)據(jù)進(jìn)行流動(dòng)性分析、安全性分析、盈利性分析,并能預(yù)測其將來的發(fā)展趨勢。信貸客戶分析以客戶為中心,分別對客戶自身的經(jīng)營狀況以及與商業(yè)銀行的信貸關(guān)系從各種角度進(jìn)行分析。分析客戶對銀行的貢獻(xiàn)程度,分析客戶與銀行間的關(guān)系,使銀行能更有效的做出決策。信貸品種分析主要對商業(yè)銀行貸款的不同種類進(jìn)行利潤的貢獻(xiàn)度分析,并結(jié)合客戶信息,針對不同的客戶群設(shè)計(jì)和推銷不同的金融服務(wù)和金融產(chǎn)品,使產(chǎn)品的設(shè)計(jì)和開發(fā)真正做到”以市場為導(dǎo)向,以客戶為中心”。

機(jī)構(gòu)分析對各發(fā)放貸款機(jī)構(gòu)進(jìn)行評測,分析各機(jī)構(gòu)的工作情況及工作效率。各機(jī)構(gòu)間進(jìn)行比較分析,分析成功與失敗的原因,幫助決策著更好的制定策略。3、功能結(jié)構(gòu)信貸管理政策限額組合集中性限額信貸審批限額客戶授信額度貸款定價(jià)資產(chǎn)質(zhì)量分析組合集中度分析違約歷史分析貸款及回收歷史風(fēng)險(xiǎn)/收益平衡分析政策限額組合集中性限額信貸審批限額客戶授信額度貸款定價(jià)資產(chǎn)質(zhì)量分析組合集中度分析違約歷史分析貸款及回收歷史風(fēng)險(xiǎn)/收益平衡分析決策支持系統(tǒng)分支行風(fēng)險(xiǎn)監(jiān)控聯(lián)機(jī)分析及查詢/報(bào)表系統(tǒng)圖2-4功能結(jié)構(gòu)4、E-R模型

帳戶貸種客戶信息客戶信息主鍵注田魂金幣別就客戶編號信用卡額度編號容戶漏號-草位名稱注冊城市注珊省注明國家單母中女簡稱法人客廣編號稅務(wù)暨記墟號納說人規(guī)模菅業(yè)執(zhí)照號經(jīng)營種類代業(yè)別所屬系統(tǒng)上綴主管部門貸款證號注潮澆金實(shí)眼淡津企業(yè)規(guī)模財(cái)帳戶貸種客戶信息客戶信息主鍵注田魂金幣別就客戶編號信用卡額度編號容戶漏號-草位名稱注冊城市注珊省注明國家單母中女簡稱法人客廣編號稅務(wù)暨記墟號納說人規(guī)模菅業(yè)執(zhí)照號經(jīng)營種類代業(yè)別所屬系統(tǒng)上綴主管部門貸款證號注潮澆金實(shí)眼淡津企業(yè)規(guī)模財(cái)務(wù)嘗系人企如宮用等緩企業(yè)魂屆等級外幣余額限.制經(jīng)濟(jì)*質(zhì)批淮黃款畿度批德年度:比推文號黃金主管部門主典產(chǎn)品營業(yè)執(zhí)殖有效期開戶許可證號貸款額度最大堀號貸種主鎏貸暢色稱.將目編碼I■目綴別_?奇洛稀位款大美蝙碼貸款大類名稱機(jī)構(gòu)主健機(jī)】機(jī)i機(jī)彳機(jī)1所..附號嘴種類博二爰行屋地區(qū)機(jī)構(gòu)時(shí)間一頑至礦英文簡稱季度季度編瑪半年半年編碼年份幣別英文編號國綠洲國家性質(zhì)5、事實(shí)表、維表設(shè)計(jì)(1)信貸管理事實(shí)表信貸情況表(主鍵LONG,時(shí)間外鍵LONG,帳戶外鍵LONG,客戶外鍵LONG,幣別外鍵INTEGER,機(jī)構(gòu)外鍵INTEGER,貸種外鍵INTEGER,額度DECIMAL(16,2),貸款總額DECIMAL(16,2),己還本金DECIMAL(16,2),貸款余額DECIMAL(16,2),應(yīng)收利息DECIMAL(16,2),催收利息DECIMAL(16,2),逾期金額DECIMAL(16,2),本月發(fā)放金額DECIMAL(16,2),本月回收本金DECIMAL(16,2),呆賬金額DECIMAL(16,2),呆滯金額DECIMAL(16,2))(2)信貸管理維度表時(shí)間維度表(主鍵LONG,月份idINTEGER,月份中文名CHAR8,月份英文簡稱CHAR8,季度CHAR10,季度編碼CHAR4,半年CHAR8,半年編碼CHAR4,年份CHAR6)客戶信息維度表(主鍵LONG,客戶編號CHAR22,單位名稱CHAR50,注冊城市CHAR50,注冊省CHAR30,注冊國家CHAR30,單位中文簡稱CHAR20,法人客戶編號CHAR20,稅務(wù)登記編號CHAR20,納稅人規(guī)模CHAR1,營業(yè)執(zhí)照號CHAR30,經(jīng)營種類CHAR30,行業(yè)別CHAR10,所屬系統(tǒng)CHAR10,經(jīng)濟(jì)性質(zhì)CHAR20,上級主管部門CHAR20,貸款證號CHAR21,注冊資金DECIMAL(16,2),實(shí)收資本DECIMAL(16,2),企業(yè)規(guī)模CHAR14,財(cái)務(wù)聯(lián)系人CHAR20,企業(yè)信用等級CHAR10,企業(yè)資質(zhì)等級CHAR4,外幣余額限制DECIMAL(16,2),批準(zhǔn)貸款額度INTEGER,批準(zhǔn)年度CHAR6,批準(zhǔn)文號CHAR14,資金主管部門CHAR30,主導(dǎo)產(chǎn)品CHAR50,營業(yè)執(zhí)照有效期CHAR12,開戶許可證號CHAR15,貸款額度最大編號CHAR6,注冊資金幣別CHAR20,CC客戶編號CHAR12,信用卡額度編號CHAR6)幣別維度表(主鍵INTEGER,幣別編碼CHAR4,幣名CHAR30,英文編號CHAR10,國家CHAR20,洲CHAR10,國家性質(zhì)CHAR20)機(jī)構(gòu)維度表(主鍵INTEGER,機(jī)構(gòu)號CHAR12,機(jī)構(gòu)名稱CHAR40,機(jī)構(gòu)級別編碼CHAR4,機(jī)構(gòu)級別CHAR12,所屬二級分行CHAR30,所屬地區(qū)CHAR20)賬戶維度表(主鍵INTEGER,賬號CHAR40,開戶日期CHAR20,開戶行編碼CHAR12,開戶行名稱CHAR40,帳戶類型編碼CHAR8,帳戶類型名稱CHAR10,單位名稱CHAR40,擔(dān)保人CHAR20,帳戶狀態(tài)CHAR8,起貸日期CHAR20,到期日期CHAR20)貸種維度表(主鍵INTEGER,貸種編碼CHAR10,貸種名稱CHAR20,科目編碼CHAR8,科目級別CHAR8,科目名稱CHAR20,貸款大類編碼CHAR8,貸款大類名稱CHAR20)

6、源數(shù)據(jù)表表名中文說明更新規(guī)則相關(guān)的維CICIFCI1單位客戶信息檔覆蓋客戶維CMMSCNTC國籍檔覆蓋客戶維CMMSCBTP行業(yè)別檔覆蓋客戶維CMMSCBLS所屬系統(tǒng)檔覆蓋客戶維CMMSCCNC經(jīng)濟(jì)性質(zhì)檔覆蓋客戶維CMMSCMND上級主管部門檔覆蓋客戶維CMMSCCRG信用等級檔覆蓋客戶維CMMSCQLC資質(zhì)等級檔覆蓋客戶維CMMSCFPD資金主管部門檔覆蓋客戶維CMMSCCUD幣別檔覆蓋客戶維、幣別維CMMSCCRC幣別名稱檔覆蓋幣別維CMBCTBCT營業(yè)單位主檔覆蓋客戶維、機(jī)構(gòu)維、賬戶維DKZLGXB貸款種類關(guān)系表覆蓋賬戶維、貸種維LNLNSLNS放款主檔覆蓋賬戶維LNLNSUPY放款利息明細(xì)檔新增事實(shí)維LNLNSPLN分期放款計(jì)劃檔新增事實(shí)維LNLNSDUE分期還款計(jì)劃檔新增事實(shí)維LNLNSPMT貸款本金變動(dòng)異動(dòng)檔新增事實(shí)維LNLNSJR1放款帳卡檔<本金資料>覆蓋事實(shí)維LNLNSJR2放款帳卡檔<利息資料>覆蓋事實(shí)維第三章系統(tǒng)架構(gòu)3.1系統(tǒng)整體邏輯結(jié)構(gòu)3.1.1DW&MIS整體架構(gòu)①國商設(shè)銀行QvuiGurik基礎(chǔ)業(yè)務(wù)系統(tǒng)fDCC系統(tǒng)-個(gè)貸管理系統(tǒng)■信貸管理系統(tǒng)■外匯資金系統(tǒng)■國內(nèi)信用證■委托住房系統(tǒng),證券業(yè)務(wù)系統(tǒng)■人力資源系統(tǒng)■國際卡系統(tǒng)■個(gè)人理財(cái)系統(tǒng)CallCente系統(tǒng),重客服務(wù)系統(tǒng)■網(wǎng)絡(luò)銀行系統(tǒng)-抵債資產(chǎn)系統(tǒng)■費(fèi)用分解系統(tǒng)■總賬信息系統(tǒng),固定資產(chǎn)系統(tǒng)、外部數(shù)據(jù)圖3-1DW&MIS整體架構(gòu)Databases&FilesTransformExtractDatabasesLegacy&ApplicationFilesSeperationsMetaDatabases&FilesTransformExtractDatabasesLegacy&ApplicationFilesSeperationsMetaDataImport/ExportTransport

ServicesETL體系架構(gòu)圖3-2ETL體系結(jié)構(gòu)Designmanager提供一個(gè)圖形化的映射環(huán)境,讓開發(fā)者定義從源到目標(biāo)的映射關(guān)系、轉(zhuǎn)換、處理流程。設(shè)計(jì)過程的各對象的邏輯定義存儲在一個(gè)元數(shù)據(jù)資料庫中。Metadatamanagement提供一個(gè)關(guān)于ETL設(shè)計(jì)和運(yùn)行處理等相關(guān)定義、管理信息的元數(shù)據(jù)資料庫°ETL引擎在運(yùn)行時(shí)和其它應(yīng)用都可參考此資料庫中的元數(shù)據(jù)。Extract通過接口提取源數(shù)據(jù),例如ODBC、專用數(shù)據(jù)庫接口和平面文件提取器,并參照元數(shù)據(jù)來決定數(shù)據(jù)的提取及其提取方式。Transform開發(fā)者將提取的數(shù)據(jù),按照業(yè)務(wù)需要轉(zhuǎn)換為目標(biāo)數(shù)據(jù)結(jié)構(gòu),并實(shí)現(xiàn)匯總。Load加載經(jīng)轉(zhuǎn)換和匯總的數(shù)據(jù)到目標(biāo)數(shù)據(jù)倉庫中,可實(shí)現(xiàn)SQL或批量加載。Transportservices利用網(wǎng)絡(luò)協(xié)議或文件協(xié)議,在源和目標(biāo)系統(tǒng)之間移動(dòng)數(shù)據(jù),利用內(nèi)存在ETL處理的各組件中移動(dòng)數(shù)據(jù)。Administrationandoperation可讓管理員基于事件和時(shí)間進(jìn)行調(diào)度、運(yùn)行、監(jiān)測ETL作業(yè)、管理錯(cuò)誤信息、從失敗中恢復(fù)和調(diào)節(jié)從源系統(tǒng)的輸出。3.2ETL模塊邏輯結(jié)構(gòu)圖3-3ETL模塊邏輯結(jié)構(gòu)3.3ETL模塊處理流程數(shù)據(jù)數(shù)據(jù)文件.傳文件-清洗轉(zhuǎn)換數(shù)據(jù)源數(shù)據(jù)中間件ETL工具目標(biāo)數(shù)據(jù)圖3-4ETL模塊處理流程(一)調(diào)用源數(shù)據(jù)端程序檢索、抽取并生成臨時(shí)數(shù)據(jù)文件啟動(dòng)中間件,傳遞發(fā)送請求"中間件是否運(yùn)行正常連接ETL工具■■■■■-連接是否成功■■■■■-'中間件關(guān)閉,源數(shù)據(jù)端進(jìn)行文件刪除等操作結(jié)束圖3-5ETL模塊處理流程(二)ETL功能模塊實(shí)施3.4.1源數(shù)據(jù)抽取源數(shù)據(jù)主要來自于如下多個(gè)異構(gòu)數(shù)據(jù)源:DCC系統(tǒng)、個(gè)貸管理系統(tǒng)、信貸管理系統(tǒng)、外匯資金系統(tǒng)、國內(nèi)信用證系統(tǒng)、委托住房金融系統(tǒng)、證券業(yè)務(wù)系統(tǒng)、人力資源系統(tǒng)、國際卡系統(tǒng)、個(gè)人理財(cái)系統(tǒng)、CallCenter系統(tǒng)、重客服務(wù)系統(tǒng)、網(wǎng)絡(luò)銀行系統(tǒng)、抵債資產(chǎn)系統(tǒng)、費(fèi)用分解系統(tǒng)、總賬信息管理系統(tǒng)、固定資產(chǎn)系統(tǒng)。運(yùn)行平臺主要有:SUNSolaris、HP-UX、IBMAIX、ScoUnix、Windows等。數(shù)據(jù)庫環(huán)境主要有:DB2、Informix、Oracle、Sybase、SQLServer等。生成文件時(shí),可對大數(shù)據(jù)量表,先生成多個(gè)文件,以某項(xiàng)分組的功能去實(shí)現(xiàn)(例:主鍵的鍵值作值域分組;hash分組;平均分組等),這樣就.為以后的ETL處理作了一定基礎(chǔ)工作。對數(shù)據(jù)的匯總處理不管是在數(shù)據(jù)庫上作,還是在ETLX具上做,內(nèi)部都是要先排序,再匯總的。生成文件的數(shù)據(jù)盡可能做到是經(jīng)過排序的有序數(shù)據(jù),因?yàn)榕胚^序的數(shù)據(jù),作匯總時(shí)無論在數(shù)據(jù)庫或ETLX具上處理都會加快。而數(shù)據(jù)庫本身的索引、存儲空間等技術(shù)使查找、排序、匯總的操作優(yōu)化,是任何etl工具都不可能達(dá)到的高效,所以,盡可能在數(shù)據(jù)庫端就利用高效的排序算法完成卸出數(shù)據(jù)的有序化工作??煽紤]如下實(shí)施步驟:1)建立系統(tǒng)的連接;2)讀取數(shù)據(jù)提取規(guī)則參數(shù)表,確定提取的源表;3)根據(jù)源表、提取規(guī)則、最后一次提取的時(shí)間戳或流水號生成提取動(dòng)態(tài)SQL語句;4)查詢出的數(shù)據(jù)根據(jù)輸出文件拆分規(guī)則生成相應(yīng)的文件(包含匯總記錄),如果當(dāng)天數(shù)據(jù)已全部生成,生成匯總記錄文件;5)將生成的文件轉(zhuǎn)移到公共文件夾中(ETL工具獲取數(shù)據(jù)文件的目錄),同時(shí)復(fù)制一份到備份數(shù)據(jù)目錄。3.4.2數(shù)據(jù)傳輸數(shù)據(jù)傳輸是通過網(wǎng)絡(luò)負(fù)責(zé)把各遠(yuǎn)程源系統(tǒng)的數(shù)據(jù)文件FTP到ETL工具的文件接收區(qū)中,可考慮通過傳輸中間件實(shí)現(xiàn)??煽紤]如下實(shí)施步驟:1)初始化參數(shù)表,如間隔時(shí)間、遠(yuǎn)程源系統(tǒng)數(shù)據(jù)文件的存放位置、ETLH具端數(shù)據(jù)文件存放路徑,并連接到遠(yuǎn)程源系統(tǒng)主機(jī)上;2)取遠(yuǎn)程源系統(tǒng)數(shù)據(jù)文件列表,將其取至本地;3)根據(jù)遠(yuǎn)程源系統(tǒng)數(shù)據(jù)文件列表,生成取數(shù)據(jù)文件的腳本,運(yùn)行此腳本;4)完成取數(shù)據(jù)操作后,生成取回?cái)?shù)據(jù)的列表,根據(jù)此列表生產(chǎn)刪除遠(yuǎn)程源系統(tǒng)數(shù)據(jù)文件的腳本,運(yùn)行此腳本;5)將取回的數(shù)據(jù)文件移到ETL工具的指定文件接收區(qū)中;6)繼續(xù)監(jiān)控。3.4.3數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換是將源數(shù)據(jù)變?yōu)槟繕?biāo)數(shù)據(jù)的關(guān)鍵環(huán)節(jié),通常會遇到的轉(zhuǎn)換要求有:字段映射;映射的自動(dòng)匹配;字段的拆分;多字段的混合運(yùn)算;跨異構(gòu)數(shù)據(jù)庫的關(guān)聯(lián);自定義函數(shù);多數(shù)據(jù)類型支持;復(fù)雜條件過濾;支持臟讀;數(shù)據(jù)的批量裝載;時(shí)間類型的轉(zhuǎn)換;對各種碼表的支持;環(huán)境變量是否可以動(dòng)態(tài)修改;去重復(fù)記錄;抽取斷點(diǎn);記錄間合并或計(jì)算;記錄拆分;抽取的字段是否可以動(dòng)態(tài)修改;行、列變換;排序;統(tǒng)計(jì);度量衡等常用的轉(zhuǎn)換函數(shù);代理主鍵的生成;調(diào)試功能;抽取遠(yuǎn)程數(shù)據(jù);增量抽取的處理;制造樣品數(shù)據(jù);在轉(zhuǎn)換過程中是否支持?jǐn)?shù)據(jù)比較的功能;數(shù)據(jù)預(yù)覽;性能監(jiān)控;數(shù)據(jù)清洗及標(biāo)準(zhǔn)化;按行,按列的分組聚合等。考慮到降低源數(shù)據(jù)系統(tǒng)的負(fù)荷以及ETL工具的運(yùn)行機(jī)制,數(shù)據(jù)轉(zhuǎn)換工作建議在數(shù)據(jù)加載時(shí)進(jìn)行。清洗主要是針對系統(tǒng)的各個(gè)環(huán)節(jié)可能出現(xiàn)的數(shù)據(jù)二義性、重復(fù)、不完整、違反業(yè)務(wù)規(guī)則等問題,可以考慮通過試抽取,將有問題的紀(jì)錄先剔除出來,根據(jù)實(shí)際情況調(diào)整相應(yīng)的清洗操作。對數(shù)據(jù)文件進(jìn)行處理,讀入一個(gè)文件可能會被分配到三個(gè)文件當(dāng)中,即合法數(shù)據(jù)文件、異常數(shù)據(jù)文件、初次匯總文件。合法數(shù)據(jù)文件是沒有違反規(guī)則的數(shù)據(jù),異常數(shù)據(jù)文件是在清洗過程中發(fā)現(xiàn)不合乎規(guī)則的記錄。異常數(shù)據(jù)文件跟合法數(shù)據(jù)文件的和應(yīng)該是輸入文件。初次匯總文件是經(jīng)過初步匯總的文件,該匯總過程只依賴于輸入文件內(nèi)部,不跟外部其它文件關(guān)聯(lián)。數(shù)據(jù)轉(zhuǎn)換可考慮如下實(shí)施步驟:1)初始化參數(shù)表,如間隔時(shí)間、本地文件路徑等,程序啟動(dòng)時(shí)或配置參數(shù)更改時(shí)(定時(shí)判斷配置參數(shù)更改標(biāo)志位)加載各類參數(shù)配置表;2)實(shí)時(shí)掃描ETL工具的文件接收區(qū),如有新文件出現(xiàn),根據(jù)文件名,調(diào)用該文件的相應(yīng)處理模塊;3)根據(jù)對應(yīng)文件的清洗規(guī)則對數(shù)據(jù)文件進(jìn)行行掃描,異常數(shù)據(jù)[未知參數(shù)、文件格式錯(cuò)誤(包含整個(gè)文件、行記錄)]生成異常數(shù)據(jù)文件,合法數(shù)據(jù)生成合法數(shù)據(jù)文件;4)在進(jìn)行數(shù)據(jù)的行掃描時(shí),同時(shí)調(diào)用轉(zhuǎn)換、匯總模塊,生成文件各自對應(yīng)的匯總數(shù)據(jù);5)程序根據(jù)生成的不同數(shù)據(jù)文件,生成最后匯總數(shù)據(jù),同源數(shù)據(jù)文件各自的匯總數(shù)據(jù)累計(jì)和進(jìn)行對比,如出現(xiàn)不一致,提供系統(tǒng)預(yù)警。對于數(shù)據(jù)清洗的過程,可考慮如下實(shí)施步驟:1)元素化:將非標(biāo)準(zhǔn)的數(shù)據(jù),統(tǒng)一格式化成結(jié)構(gòu)數(shù)據(jù)。2)標(biāo)準(zhǔn)化:將數(shù)據(jù)標(biāo)準(zhǔn)化,根據(jù)字典消除不一致的縮寫等等。3)校驗(yàn):對標(biāo)準(zhǔn)化的數(shù)據(jù)進(jìn)行一致性校驗(yàn),即在內(nèi)容上修改錯(cuò)誤。4)匹配:在其它記錄中尋找相似的記錄,發(fā)現(xiàn)重復(fù)異常。5)消除重復(fù)記錄:根據(jù)匹配結(jié)果進(jìn)行處理,可以刪除部分記錄或者多個(gè)記錄合并為一個(gè)更完整信息的記錄。6)檔案化:將前5個(gè)步驟的結(jié)果寫入元數(shù)據(jù)存儲中心。這樣可以更好地進(jìn)行后續(xù)的清理過程,使得用戶容易理解數(shù)據(jù)庫以及更好地進(jìn)行切片、切塊等操作。另外,還可以通過范圍檢驗(yàn)、枚舉清單和相關(guān)業(yè)務(wù)邏輯檢驗(yàn)三種方法來進(jìn)行檢驗(yàn)和處理:范圍檢驗(yàn):檢驗(yàn)一個(gè)字段中的數(shù)據(jù)是否落在預(yù)期范圍之內(nèi),一般如日期范圍、年齡范圍或地區(qū)范圍等。枚舉清單:對照數(shù)據(jù)字段可接受值的清單,以確定檢驗(yàn)字段是否需要處理。相關(guān)業(yè)務(wù)邏輯檢驗(yàn):讓有業(yè)務(wù)經(jīng)驗(yàn)的人員結(jié)合實(shí)際的業(yè)務(wù)邏輯,在保證數(shù)據(jù)有效性的前提下,決定對無法清洗的數(shù)據(jù)的取舍。3.4.4目標(biāo)數(shù)據(jù)表的刷新目標(biāo)表的加載策略決定了加載數(shù)據(jù)的頻度。一些目標(biāo)表是不需要更新的,而一些目標(biāo)表在每日夜晚加載,一些可能每周、每月加載。制定目標(biāo)表的刷新策略需要ETL工具的支持,工具對于更新的時(shí)間點(diǎn)或周期必須能夠靈活處理。在以下三種策略中,所有的數(shù)據(jù)都依據(jù)時(shí)間戳等要素與現(xiàn)存數(shù)據(jù)進(jìn)行比較。維表加載可考慮如下實(shí)施步驟:根據(jù)目標(biāo)表的格式和自然鍵將輸入的數(shù)據(jù)組織成記錄;確定目標(biāo)表的數(shù)據(jù)與源數(shù)據(jù)表之間的記錄映射規(guī)則;抽取有效記錄中的代理鍵、自然健和重要的改變列;使用輸入的記錄,對抽取的維表做一個(gè)查找操作,如果找不到與輸入記錄相同的記錄,那么建立一條新記錄并指派一個(gè)新的代理鍵,并將記錄插入目標(biāo)表中。若找到,則對重要的改變列進(jìn)行更新;加載和更新維表記錄。事實(shí)表加載事實(shí)表的加載是后續(xù)數(shù)據(jù)分析的基礎(chǔ)。所有的事實(shí)表都應(yīng)該始終增加數(shù)據(jù)。事實(shí)表的粒度決定了數(shù)據(jù)加載的復(fù)雜程度,它不是簡單的數(shù)據(jù)拷貝,必須首先將每個(gè)事實(shí)表與各自的維表鍵結(jié)合。每個(gè)與事實(shí)表相關(guān)的源數(shù)據(jù)表必須有足夠的信息來查找維表中自然鍵,驗(yàn)證事實(shí)記錄的完整性。3)聚集表加載加載聚集表則不用擔(dān)心數(shù)據(jù)的完整性、一致性,因?yàn)槭聦?shí)表包含的所有必須的數(shù)據(jù)可以形成聚集表??梢钥紤]如下實(shí)施步驟:(1)完全替換聚集表中的變化的數(shù)據(jù)記錄;(詳細(xì)級)(2)插入一條匯總數(shù)據(jù)。(概括級)ETL實(shí)施建議根據(jù)業(yè)界的經(jīng)驗(yàn)和教訓(xùn),在ETL實(shí)施過程中,還有以下要點(diǎn)值得引起注意:?盡可能利用數(shù)據(jù)中轉(zhuǎn)區(qū)對生產(chǎn)數(shù)據(jù)進(jìn)行預(yù)處理。保證了集成與加載的高效性。ETL的過程應(yīng)該是主動(dòng)“拉取”,而不是從內(nèi)部“推送”,其可控性將大為增強(qiáng)。ETL實(shí)施之前,應(yīng)制定流程化的配置管理和標(biāo)準(zhǔn)協(xié)議。?關(guān)鍵數(shù)據(jù)標(biāo)準(zhǔn)至關(guān)重要。DW&MIS面臨的最大挑戰(zhàn)是當(dāng)接收數(shù)據(jù)時(shí)各源系統(tǒng)數(shù)據(jù)的異構(gòu)性和低質(zhì)量,例如:DCC系統(tǒng)按照客戶編號和賬號管理數(shù)據(jù),總賬信息管理系統(tǒng)按照指標(biāo)號進(jìn)行帳目數(shù)字管理,國內(nèi)信用證系統(tǒng)則按照信用證編號管理。而ETL需要對這三個(gè)系統(tǒng)進(jìn)行集成以獲得對客戶的全面視角。這一過程需要復(fù)雜的匹配規(guī)則、客戶編號、名稱/地址等字段的正常化與標(biāo)準(zhǔn)化。所以ETL在處理過程,必須定義一個(gè)關(guān)鍵數(shù)據(jù)標(biāo)準(zhǔn),在此基礎(chǔ)上,制定相應(yīng)的數(shù)據(jù)接口標(biāo)準(zhǔn)。?在ETL實(shí)施中,必然是ETL工具和手工編碼相結(jié)合,這兩種方式各有優(yōu)劣,可從以下幾個(gè)方面進(jìn)行比較:ETL工具手工編碼靈活性比較靈活最靈活難易程度相對容易要求一定技術(shù)水平管理和維護(hù)容易較難性能和效率較高取決于編寫者水平

開發(fā)周期較短較長工作量中等較重價(jià)格較高相對較低第四章運(yùn)行環(huán)境4.1軟件環(huán)境主要ETL工具的架構(gòu)和原理Oracle公司的Oracle9iWarehouseBuilder(3.0)工作原理:OracleWarehouseBuilder(OWB)基礎(chǔ)架構(gòu)分為兩部分設(shè)計(jì)環(huán)境和運(yùn)行環(huán)境。設(shè)計(jì)環(huán)境處理元數(shù)據(jù),運(yùn)行環(huán)境處理物理數(shù)據(jù)。元數(shù)據(jù)環(huán)境的核心是元數(shù)據(jù)知識庫(Repository)和設(shè)計(jì)工具,數(shù)據(jù)處理部分的核心是運(yùn)行環(huán)境(RuntimeEnvironment)和數(shù)據(jù)庫。OWB的元數(shù)據(jù)存儲在Oracle數(shù)據(jù)庫中,通過OWB客戶端可以設(shè)計(jì)關(guān)系數(shù)據(jù)庫模型、多維模型、ETL過程和最終用戶工具環(huán)境,并提供對元數(shù)據(jù)的生命周期管理。一旦用戶完成ETL過程的邏輯設(shè)計(jì),OWB能夠自動(dòng)生成對應(yīng)數(shù)據(jù)庫對象的SQL代碼,該代碼可以被發(fā)布到文件系統(tǒng)或數(shù)據(jù)庫中。ETL通過OEM(OracleEnterpriseManager)執(zhí)行發(fā)布到數(shù)據(jù)庫中的代碼來實(shí)現(xiàn),如果涉及到數(shù)據(jù)庫外的調(diào)用則分別運(yùn)行在各自的環(huán)境中,如SAP的抽取代碼在SAP環(huán)境中運(yùn)行。OWB的任務(wù)計(jì)劃和流程控制是通過與其集成的OEM和OWF(OracleWorkflow)來實(shí)現(xiàn)。?Ascential公司的DataStage(XE)Ete^igiErDrnrtorA±nini而torKaragtrServer一UNIX(Al*Sotaris.TRU64,HP-UX;Linux);Windows(c&mirgsoon)ClientMieras?Ascential公司的DataStage(XE)Ete^igiErDrnrtorA±nini而torKaragtrServer一UNIX(Al*Sotaris.TRU64,HP-UX;Linux);Windows(c&mirgsoon)ClientMierasof?WindowsN172000/XPDesigner:用來建立和編輯DataStage作業(yè)和表的定義。Designer中的“JobSequencer"控制作業(yè)的執(zhí)行,作業(yè)成功完成(或失敗)的條件;Administrator:用來執(zhí)行管理任務(wù),如建立DataStage用戶、建立和刪除工程并且建立清洗標(biāo)準(zhǔn);Manager:用來編輯管理用戶工程的DataStage資料庫;Director:用來驗(yàn)證、調(diào)度、運(yùn)行和監(jiān)測企業(yè)版作業(yè)。企業(yè)版設(shè)計(jì)是基于數(shù)據(jù)流的概念。用戶在一個(gè)圖形化調(diào)色板上通過一些列的功能組件(Stage)標(biāo)示數(shù)據(jù)集合的流程來構(gòu)建一個(gè)數(shù)據(jù)整合應(yīng)用。?Informatica公司的Informatica(6.0)

RepositorylA&kfLoTFDesignerRdEj?sUnryManaparNMShjgn;ClkntODBCCo-imeciioDs圖4-3Informatica公司的Informatica(6.0)工作原理:所有的元數(shù)據(jù)存放在Repository中,通過RepositoryManager創(chuàng)建和管理Repository,Designer來設(shè)計(jì)抽取規(guī)則,WorkflowManager來設(shè)計(jì)和控制工作流,WorkflowMonitor來監(jiān)控工作流的運(yùn)行,RepositoryServer管理多個(gè)Repository,RepositorylA&kfLoTFDesignerRdEj?sUnryManaparNMShjgn;ClkntODBCCo-imeciioDs圖4-3Informatica公司的Informatica(6.0)Sagent公司的SagentSolution(4.5i)

^rehouseSagentDesktopMainframDataCleanstngShouseholdrnGDataFlowServer圖4-4Sagent公司的Sagent^rehouseSagentDesktopMainframDataCleanstngShouseholdrnG工作原理:SagentETL解決方案采用了組件式的設(shè)計(jì),不但符合了OMG的元數(shù)據(jù)對象管理機(jī)制,而且在更高的層次上,對元數(shù)據(jù)進(jìn)行了封裝。SagentDesignStudio用來設(shè)計(jì)元數(shù)據(jù)和ETL過程;SagentAdmin用來對元數(shù)據(jù)進(jìn)行管理;SagentAutomation用來自動(dòng)化ETL過程;SagentDataLoad(是SagentDataFlowServer的一種功能)用來執(zhí)行ETL過程。這個(gè)四個(gè)組成部分構(gòu)成了一個(gè)完整地ETL解決方案。通過這個(gè)解決方案,用戶將數(shù)據(jù)從數(shù)據(jù)源、經(jīng)過各種轉(zhuǎn)換、存放到數(shù)據(jù)倉庫中。2)數(shù)據(jù)庫數(shù)據(jù)倉庫中的數(shù)據(jù)庫可以選擇以下一種或幾種:DB2/UDB;Oracle;Sybase;Informix;SQLServer等。第五章ETL實(shí)施中的關(guān)鍵因素5.1數(shù)據(jù)質(zhì)量的控制質(zhì)量問題具體表現(xiàn):1)正確性(Accuracy):數(shù)據(jù)是否正確體現(xiàn)在現(xiàn)實(shí)或可證實(shí)的來源2)完整性(Integrity):數(shù)據(jù)之間的參照完整性是否存在或一致3)一致性(Consistency):數(shù)據(jù)是否被一致的定義或理解4)完備性(Completeness):所有需要的數(shù)據(jù)是否都存在5)有效性(Validity):數(shù)據(jù)是否在企業(yè)定義的可接受的范圍之內(nèi)6)時(shí)效性(Timeliness):數(shù)據(jù)在需要的時(shí)間是否有效7)可獲取性(Accessibility):數(shù)據(jù)是否易于獲取、易于理解和易于使用造成質(zhì)量問題的原因有很多,由系統(tǒng)集成和歷史數(shù)據(jù)造成的原因主要有以下一些:1)業(yè)務(wù)系統(tǒng)不同時(shí)期系統(tǒng)之間數(shù)據(jù)模型不一致2)業(yè)務(wù)系統(tǒng)不同時(shí)期業(yè)務(wù)過程有變化3)舊系統(tǒng)模塊在各系統(tǒng)相關(guān)信息的不一致4)遺留系統(tǒng)和新業(yè)務(wù)、管理系統(tǒng)數(shù)據(jù)集成不完備帶來的不一致性其他原因:1)源系統(tǒng)缺少輸入驗(yàn)證過程,不能阻止非法格式的數(shù)據(jù)進(jìn)入系統(tǒng)。2)可驗(yàn)證但不能改正數(shù)據(jù),驗(yàn)證程序不能發(fā)現(xiàn)格式正確但內(nèi)容不正確的錯(cuò)誤。3)源系統(tǒng)不受控制的更改,而這種更改不能及時(shí)的傳播到受影響的系統(tǒng)。4)數(shù)據(jù)有多個(gè)交叉的訪問界面,難以統(tǒng)一管理數(shù)據(jù)質(zhì)量問題。5)缺少參照完整性檢查。6)低劣的源系統(tǒng)設(shè)計(jì)。7)數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤,比如ETL過程錯(cuò)誤或數(shù)據(jù)遷移過程的錯(cuò)誤。數(shù)據(jù)倉庫本身不能夠修復(fù)數(shù)據(jù)以提高數(shù)據(jù)質(zhì)量,但能發(fā)現(xiàn)存在的部分問題從而提醒用戶哪些數(shù)據(jù)是有質(zhì)量問題的,在分析和決策時(shí)應(yīng)降低對這些數(shù)據(jù)的依賴程度。但是數(shù)據(jù)倉庫可以可以提供輔助的方法跟蹤數(shù)據(jù)質(zhì)量和其改進(jìn)程度,例如加強(qiáng)審計(jì),在整個(gè)數(shù)據(jù)流的處理過程加入不同的審計(jì),對幾個(gè)關(guān)鍵指標(biāo)進(jìn)行控制。使得對數(shù)據(jù)質(zhì)量的分析貫穿整個(gè)數(shù)據(jù)倉庫建設(shè)的過程。5.2元數(shù)據(jù)的管理元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),ETL中大量的數(shù)據(jù)源定義、映射規(guī)則、轉(zhuǎn)換規(guī)則、裝載策略等都屬于元數(shù)據(jù)范疇,如何妥善的存儲這些信息不僅關(guān)系到ETL過程能否順利完成而且影響到后期的使用和維護(hù)。因?yàn)槿魏螛I(yè)務(wù)邏輯的微小改變最終都落實(shí)為相應(yīng)元數(shù)據(jù)的調(diào)整,所以初期沒有一個(gè)完善的元數(shù)據(jù)管理功能而后期作類似調(diào)整是無法順利實(shí)施的。針對ETL的元數(shù)據(jù)管理主要包括:元數(shù)據(jù)存儲的開放性;元數(shù)據(jù)存儲的可移植性;提供多種方式訪問元數(shù)據(jù);元數(shù)據(jù)的版本控制;支持開放的元數(shù)據(jù)標(biāo)準(zhǔn);支持XML進(jìn)行元數(shù)據(jù)交換;支持分布式的元數(shù)據(jù)訪問和管理;生成元數(shù)據(jù)報(bào)表;對于ETL過程的沖突分析;基于元數(shù)據(jù)的查詢功能;元數(shù)據(jù)的廣播和重用;對于ETL過程的流程分析等。DW&MIS面對的是各個(gè)異構(gòu)數(shù)據(jù)源復(fù)雜的數(shù)據(jù)結(jié)構(gòu),要建立數(shù)據(jù)倉庫,就要清楚了解每個(gè)元數(shù)據(jù)的含義,并且需

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論