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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論