XX銀行數(shù)據(jù)倉庫建設(shè)項目方案_第1頁
XX銀行數(shù)據(jù)倉庫建設(shè)項目方案_第2頁
XX銀行數(shù)據(jù)倉庫建設(shè)項目方案_第3頁
XX銀行數(shù)據(jù)倉庫建設(shè)項目方案_第4頁
XX銀行數(shù)據(jù)倉庫建設(shè)項目方案_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

銀行數(shù)據(jù)倉庫建設(shè)方案文件銀行數(shù)據(jù)倉庫建設(shè)方案文件)每條記錄中有數(shù)據(jù)ETL的時間戳,對小數(shù)據(jù)量的數(shù)據(jù)表,可以通過該時間戳清除掉本次加載的數(shù)據(jù)。對于大數(shù)據(jù)量的表,可以利用時間窗口功能,如果大表某一天的數(shù)據(jù)出現(xiàn)錯誤后,可以直接進行一天數(shù)據(jù)的恢復(fù)。作業(yè)調(diào)度和監(jiān)控根據(jù)作業(yè)依賴關(guān)系的元數(shù)據(jù)進行ETL作業(yè)的調(diào)度,并對執(zhí)行過程進行監(jiān)控。作業(yè)調(diào)度需要包括以下功能:靈活啟停作業(yè);根據(jù)日期規(guī)則設(shè)置作業(yè)執(zhí)行計劃;支持作業(yè)的并發(fā)執(zhí)行;允許作業(yè)網(wǎng)絡(luò)的嵌套;方便新增ETL作業(yè)。作業(yè)的監(jiān)控需要包括以下功能:監(jiān)控作業(yè)的當前執(zhí)行情況;查詢作業(yè)歷史執(zhí)行情況。元數(shù)據(jù)管理ETL過程需要通過元數(shù)據(jù)的管理來實現(xiàn)數(shù)據(jù)流程的監(jiān)控以及作業(yè)的靈活調(diào)度。需要定義:源數(shù)據(jù)結(jié)構(gòu)、目標數(shù)據(jù)結(jié)構(gòu)、源和目標的映射(包括定制映射的方案、定制映射調(diào)用的函數(shù)、定制清洗的方案)、作業(yè)處理日志以及作業(yè)依賴關(guān)系。ETL模塊設(shè)計XX銀行的ETL采用數(shù)據(jù)庫的存儲過程及Shell腳本等技術(shù)支持,可以按照如下模塊設(shè)計:調(diào)度模塊:負責(zé)任務(wù)的管理、調(diào)度和分發(fā),作業(yè)依賴關(guān)系的管理;作業(yè)控制:負責(zé)計算資源的分配、作業(yè)的執(zhí)行,控制作業(yè)執(zhí)行的流程、跟蹤作業(yè)執(zhí)行的結(jié)果、記錄作業(yè)的日志。數(shù)據(jù)庫模塊:管理類數(shù)據(jù)庫:用于調(diào)度和作業(yè)主控,保存任務(wù)和作業(yè)的相關(guān)配置信息和運行信息。應(yīng)用類數(shù)據(jù)庫:用于具體應(yīng)用的業(yè)務(wù)數(shù)據(jù)庫。ETL域:ETL架構(gòu)中基本的計算資源組合,是一個計算機群,由JCI統(tǒng)一管理和控制,一個ETL域由一個ETLServer和多個ETLClient組成。ETL應(yīng)用:應(yīng)用部署和配置管理的基本單位,一個ETL應(yīng)用包含一組相關(guān)的作業(yè)單元、作業(yè)配置參數(shù)和應(yīng)用環(huán)境參數(shù)。物理作業(yè):具體負責(zé)數(shù)據(jù)加工的程序執(zhí)行單元,各類存儲過程或者作業(yè)腳本(SHELL腳本、用C/C++/PROC等開發(fā)的可執(zhí)行程序)。ETL模塊可以劃分為任務(wù)調(diào)度、任務(wù)控制、任務(wù)執(zhí)行。任務(wù)調(diào)度模塊在EDWH+EDWB統(tǒng)一模塊中,調(diào)度是由部署在總行的調(diào)度SERVER統(tǒng)一完成調(diào)度工作,或者由部署在分行的調(diào)度Server完成本分行作業(yè)的調(diào)度。調(diào)度SERVER根據(jù)各個JOB的運行時間和依賴關(guān)系,按照一定的調(diào)度策略對總分行的JOB進行統(tǒng)一調(diào)度。在實際部署中,調(diào)度模塊可以僅部署在總行,實施統(tǒng)一調(diào)度,也可能部署在分行,實施分布調(diào)度;而在每個ETL域的ETLServer上部署調(diào)度的Agent模塊,調(diào)度Server負責(zé)任務(wù)的檢索、調(diào)度和分發(fā),調(diào)度Agent接收到調(diào)度Server的調(diào)度指令,調(diào)用作業(yè)主控模塊(JCI)執(zhí)行具體的作業(yè),并根據(jù)JCI的退出碼將作業(yè)的執(zhí)行情況反饋給調(diào)度Server。任務(wù)控制模塊統(tǒng)一架構(gòu)中的處理模塊是由一個或多個ETL域組成的??傂杏幸粋€或多個總行的ETL域,分行有本分行的ETL域。域與域在物理上是分開,但是在邏輯上是聯(lián)系在一起的。對于不同的域,它們的處理任務(wù)也是不一樣的。每個處理域由一個或多個ETLSERVER和若干個ETLCLIENT組成。ETLSERVER主要負責(zé)ETLJOB的具體執(zhí)行。首先,ETLSERVER接收調(diào)度Agent發(fā)過來的要執(zhí)行的作業(yè)的作業(yè)ID,根據(jù)該作業(yè)ID到管理庫中獲取該作業(yè)的運行參數(shù)并解釋所有參數(shù)。其次根據(jù)作業(yè)運行資源需求,獲取所屬ETLCLIENT的資源情況,選擇最優(yōu)的若干臺ETLCLIENT,分配作業(yè)給這些ETLCLIENT運行。最后收集并記錄作業(yè)運行日志信息,釋放ETLCLIENT的資源,更新作業(yè)運行狀態(tài),返回作業(yè)運行結(jié)果信息給調(diào)度Agent。ETLCLIENT主要負責(zé)ETLSERVER分配的作業(yè)模塊的具體執(zhí)行,是作業(yè)的具體執(zhí)行者。ETL統(tǒng)一架構(gòu)中的ETL域并不是一成不變的,理論上具有無限的橫向擴展能力。它可以根據(jù)本域上的作業(yè)情況增減ETLCLIENT。如果作業(yè)的數(shù)目太多,ETLSERVER承擔(dān)的任務(wù)過重,則可以增加ETLSERVER來降低原有的ETLSERVER調(diào)控任務(wù)的壓力。如果實際運行JOB的ETLCLIENT資源不足,經(jīng)常處于高負荷狀態(tài),則可以通過增加ETLCLIENT來提高運行效率。ETLServer訪問管理庫,ETLClient只訪問應(yīng)用庫,不允許訪問管理庫?!鰯?shù)據(jù)庫模塊統(tǒng)一架構(gòu)中的數(shù)據(jù)庫模塊分為兩個部分:管理類數(shù)據(jù)庫和業(yè)務(wù)類數(shù)據(jù)庫。業(yè)務(wù)類數(shù)據(jù)庫存放的是ETL作業(yè)處理的業(yè)務(wù)數(shù)據(jù)。管理類數(shù)據(jù)庫存放的是作業(yè)運行控制相關(guān)的數(shù)據(jù)信息,如系統(tǒng)配置參數(shù)或作業(yè)配置信息、狀態(tài)信息和運行日志信息等。在統(tǒng)一架構(gòu)中,數(shù)據(jù)庫模塊分為兩層,一層是總行層,另外一層是分行層。無論是總行還是分行,數(shù)據(jù)庫都是由管理類數(shù)據(jù)庫和業(yè)務(wù)類數(shù)據(jù)庫組成。在管理庫的具體部署時,可能只部署在總行,所有ETLServer都訪問這個管理庫,分行的ETLServer通過跨越廣域網(wǎng)的數(shù)據(jù)庫連接訪問管理庫。管理庫的信息分為三類:系統(tǒng)參數(shù)和作業(yè)配置信息:靜態(tài)參數(shù);狀態(tài)信息:屬于控制類的動態(tài)信息;日志信息;

ETL流程設(shè)計系統(tǒng)ETL設(shè)計流程如下圖:I 調(diào)度SERVER接收調(diào)度SEVER發(fā)

出的jobm獲取該FOB對應(yīng)的參

數(shù)廨析初始化獲取作業(yè)運行資源的

要求、作業(yè)依賴檢查ETLSERVERETLSERVERETLSERVERETT.二二⑶仃工作用山工作方苴期比祓腦詛迸誦;?蚤強誑說我量誦I 調(diào)度SERVER接收調(diào)度SEVER發(fā)

出的jobm獲取該FOB對應(yīng)的參

數(shù)廨析初始化獲取作業(yè)運行資源的

要求、作業(yè)依賴檢查ETLSERVERETLSERVERETLSERVERETT.二二⑶仃工作用山工作方苴期比祓腦詛迸誦;?蚤強誑說我量誦一獨至支W審理?強懣這支Xfl方士j:作行芻通婦注??電支陵/變差西門井技/述仃色久切百過續(xù)月送過范登過續(xù)、強,出它通比祓.;塞建K如族:以色號包:過比登過續(xù)月送過范注、ETLSERVERETLSERVERETLSERVERI Bau,f^z.JtrKhKh;誑揩落獲取ETLCLIENT資

源情況動態(tài)贊源分配,選擇若干最優(yōu)ETLCLIENT給點)■:::-::::-::K:K:3::E:M::-::::-:n?n?rsJ?ia:a-nMPJr啕常制地?fflHsjsi裝通費n.i;±*■!!一!*XUXHSSMLXHSV■一■?■)EB>rJaln,nlifl;M??::s'>?fflJ赤is:鹿盟溫narsMmTarsMnJrssLf?心昌fflHsj-c::;笈*玄;;豆~?應(yīng)用麴據(jù)庫獲取作業(yè)日志信息作業(yè)運行狀態(tài)信

息.作業(yè)運行效率信息寫入數(shù)據(jù)庫本系統(tǒng)ETL處理流程順序概要描述如下:調(diào)度程序在總行的調(diào)度服務(wù)器上面運行,當調(diào)度程序發(fā)現(xiàn)某個作業(yè)符合調(diào)度條件,就對其進行調(diào)度,將該JOB的ID發(fā)給該JOB所在域的ETLSERVER。ETLSERVER得到調(diào)度的調(diào)度指令后,根據(jù)JOBID,先到所在域中的管理類數(shù)據(jù)庫中JOB實例表中查找該JOB,判斷該JOB的狀態(tài)是否正確,查找該JOB的前序JOB是否完成,然后在JOB參數(shù)表中查找該JOB對應(yīng)的各種參數(shù),為作業(yè)的運行解析和準備參數(shù),同時到所在域的業(yè)務(wù)類數(shù)據(jù)庫中查找各種輸入文件是否存在,如果條件都滿足,則JOB可以運行。3.ETLSERVER對JOB的類型進行判斷,如果是普通的SHELLJOB或者EXECJOB,則根據(jù)JOB實例表中的NODES_LIST(該作業(yè)可使用的節(jié)點列表),計劃在本域中分配一個ETLCLIENT給JOB運行,如果是DSJOB,則根據(jù)JOB實例表中的NODES_NEED(運行該作業(yè)所需節(jié)點數(shù))和NODES_LIST(該作業(yè)可使用的節(jié)點列表)得到該JOB運行所需的結(jié)點個數(shù)以及所能夠運行該JOB的結(jié)點列表。在每個ETLCLIENT上都安裝著用于獲取結(jié)點資源情況的RESOURCEAGENT,這些AGENT每隔一定的時間間隔,就會將本臺CLIENT上的系統(tǒng)資源使用情況,如:CPU使用率,MEMORY使用率,I/O等待情況等寫入所屬域的管理類數(shù)據(jù)庫中的結(jié)點使用情況表中。ETLSERVER在得到JOB運行的結(jié)點個數(shù)和能夠運行該JOB的結(jié)點列表后,根據(jù)本域的管理類數(shù)據(jù)庫中結(jié)點的使用情況表,按照一定的策略對能夠運行該JOB的結(jié)點列表進行排序,選出最優(yōu)的若干個ETLCLIENT。然后根據(jù)結(jié)點情況,動態(tài)生成JOB運行配置文件。然后根據(jù)運行配置文件,將JOB分配給各個ETLCLIENT執(zhí)行。ETLCLIENT開始執(zhí)行JOB,無論JOB運行成功還是失敗,都將各種運行信息反饋給所屬域的ETLSERVER。ETLSERVER得到ETLCLIENT的反饋信息后,將其寫入日志,并設(shè)置JOB的狀態(tài),同時釋放結(jié)點的資源。ETLSERVER將作業(yè)運行的情況通過退出碼的方式反饋給調(diào)度程序。

動態(tài)資源分配動態(tài)資源分配的主要依據(jù)。ResourceAgent:運行于域中所有節(jié)點(包括主節(jié)點)之上的一個守護進程,負責(zé)按照一定的時間間隔采集當前節(jié)點的各種系統(tǒng)資源(CPU使用情況,內(nèi)存使用情況)使用情況,磁盤I/O使用情況,是否存在故障),并通過TCP/IP和運行于主節(jié)點上的ResourceBroker進程進行通信,將當前節(jié)點的系統(tǒng)資源使用情況匯報給ETLServer;ResourceBroker:運行于域中ETLServer之上的一個守護進程,負責(zé)j接收來自域內(nèi)節(jié)點的連接請求,記錄請求節(jié)點的系統(tǒng)資源使用情況;如果域中某個節(jié)點超過指定的時間間隔沒有發(fā)送資源報告,則將該節(jié)點置為故障,該節(jié)點將不會被分配來運行任務(wù),如果此后收到該節(jié)點的資源報告請求,則將該節(jié)點狀態(tài)置為活動??蛻舳伺c服務(wù)端采用C/S通信模式,通過TCP協(xié)議傳送信息,這樣做的好處是:避免工作節(jié)點直接訪問管理庫,訪問管理庫的工作統(tǒng)一ETLServer來完成,從而提高了應(yīng)用部署的適應(yīng)能力;ETLServer可以據(jù)此檢測所有工作節(jié)點是否存在故障;客戶端負責(zé)采集信息發(fā)送到服務(wù)端,服務(wù)端接收信息,并寫到數(shù)據(jù)庫。對于每個客戶端的連接,服務(wù)端fork出一個子進程處理。服務(wù)端與客戶端作為daemon進程,要求能夠長時間運行。應(yīng)該能接受收SIGQUIT,SIGTERM,SIGHUP信號,完成退出并清理進程資源;在EDW中,將由成千上萬的作業(yè)來完成數(shù)據(jù)整和的功能,這些作業(yè)由于復(fù)雜度不同,運行頻度不同,甚至是同一個作業(yè),由于數(shù)據(jù)來源不同(例如不同的分行),數(shù)據(jù)規(guī)模也是相差甚遠的,因此如果對所有的作業(yè)使用相同的配置文件,將對系統(tǒng)資源造成極大的浪費,例如一個非常簡單的作業(yè),事實只需要幾秒鐘的時間,卻將其部署到多個節(jié)點上運行,不僅沒必要,而且造成額外的網(wǎng)絡(luò)開銷和調(diào)度開銷。因此為了提高作業(yè)運行的性能,充分使用計算機群中所有節(jié)點的資源,必須采用一種合理的作業(yè)運行資源配置方案,在這種方案中,將根據(jù)作業(yè)的復(fù)雜度,數(shù)據(jù)規(guī)模,運行頻度、約束條件等因素,動態(tài)地生成運行資源配置配置文件,從而使系統(tǒng)中的每個作業(yè)能以最優(yōu)的方案運行,從而使整個系統(tǒng)獲得最優(yōu)的性能。數(shù)據(jù)接口設(shè)計數(shù)據(jù)倉庫平臺系統(tǒng)需要建立一個集成的ETL接口平臺,該平臺需要同時支持:打包數(shù)據(jù)文件和數(shù)據(jù)庫直連兩種ETL方式。各種ETL方式的通過ETL工具進行統(tǒng)一配置和管理,不同的接口方式由相應(yīng)的接口適配器(InputAdapter)來處理,接口適配器僅處理數(shù)據(jù)/文件物理格式的轉(zhuǎn)換,并不負責(zé)業(yè)務(wù)要素層面的轉(zhuǎn)換,接口適配器一旦調(diào)試通過后,將不隨業(yè)務(wù)元素變化(例如表字段改變)而變化。數(shù)據(jù)接口規(guī)范用來規(guī)范本系統(tǒng)和各源業(yè)務(wù)系統(tǒng)以及本系統(tǒng)內(nèi)部之間數(shù)據(jù)交換,使數(shù)據(jù)交換遵循一個統(tǒng)一的標準。由于各業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)標準不盡一致,因此在制訂與不同業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接口規(guī)范時,必須要涵蓋如下內(nèi)容:>數(shù)據(jù)內(nèi)容分析確定需要的數(shù)據(jù)表,以及表中的每個數(shù)據(jù)項,包括數(shù)據(jù)項的長度、類型等,明確數(shù)據(jù)表項之間相互的關(guān)系。>數(shù)據(jù)格式根據(jù)接口文件類型指定文件格式,如文本文件,需描述字段變長分隔符分隔,字符數(shù)據(jù)項、日期數(shù)據(jù)項格式等。>編碼格式文件內(nèi)容的編碼格式,如ASCII碼、EBCDIC碼等,確定數(shù)據(jù)交換文件的解析規(guī)范或語義。>編碼規(guī)范說明業(yè)務(wù)系統(tǒng)相關(guān)的業(yè)務(wù)編碼,和本系統(tǒng)保持統(tǒng)一的標準。如業(yè)務(wù)種類、網(wǎng)點機構(gòu)的機構(gòu)代碼等,必須遵守統(tǒng)一的命名規(guī)范。>數(shù)據(jù)來源數(shù)據(jù)表項來自的業(yè)務(wù)系統(tǒng)。數(shù)據(jù)表項和業(yè)務(wù)系統(tǒng)數(shù)據(jù)表項的對應(yīng)關(guān)系。>數(shù)據(jù)統(tǒng)計算法對于各業(yè)務(wù)指標的計算方法必須有統(tǒng)一的公式,并且其組成要素的業(yè)務(wù)涵義必須統(tǒng)一。>外部數(shù)據(jù)接口標準對于來自外部的數(shù)據(jù),須經(jīng)過系統(tǒng)預(yù)處

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論