【正文】
SCD Type 2。提供數(shù)據(jù)存儲區(qū)的FDM層數(shù)據(jù)、ADM層數(shù)據(jù)。ETL3處理是耗時最長,邏輯處理最復(fù)雜的階段,需要非常重視。? ETL1:屬于ETL預(yù)處理。34 / 47第二章 ETL 體系建設(shè) ETL 架構(gòu)概述在商業(yè)銀行的 EDW 系統(tǒng)中,數(shù)據(jù)由數(shù)據(jù)源系統(tǒng)加載到 EDW 的各個數(shù)據(jù)層中,并通過供數(shù)接口提供給相關(guān)使用者系統(tǒng)。應(yīng)用架構(gòu)應(yīng)采用先進(jìn)的理念和技術(shù),并結(jié)合 XX 銀行科技規(guī)劃與現(xiàn)有的技術(shù)平臺。加工匯總數(shù)據(jù)層的數(shù)據(jù)模型設(shè)計在有相應(yīng)的匯總需求情況下才針對匯總需求進(jìn)行數(shù)據(jù)表和數(shù)據(jù)匯總?cè)蝿?wù)的擴(kuò)展設(shè)計,逐步積累公共匯總指標(biāo),最后形成全行可共享的面向各個主題的中間匯31 / 47總指標(biāo)。為應(yīng)用方便、查詢高效考慮,可以對源系統(tǒng)進(jìn)行適當(dāng)?shù)恼?、拆分,也可以裁減掉源系統(tǒng)中沒有必要整合的數(shù)據(jù)。因此在設(shè)計時必須考慮如何合理組織數(shù)據(jù),以減小數(shù)據(jù)冗余。特別是加工匯總層的數(shù)據(jù)架構(gòu)必須符合“匯總指標(biāo)可靈活增加”的技術(shù)要求,不會隨著指標(biāo)的增加而變更數(shù)據(jù)模型。26 / 47 性能和容量規(guī)劃性能和容量規(guī)劃組件代表了從環(huán)境中的不同系統(tǒng)元素收集利用數(shù)據(jù),并規(guī)劃硬件和軟件能力需求的工具。變更控制組件可以協(xié)助運(yùn)維團(tuán)隊、開發(fā)團(tuán)隊和業(yè)務(wù)部門之間的溝通,保障系統(tǒng)的變更平滑進(jìn)行。應(yīng)用本身包括了衡量內(nèi)部應(yīng)用響應(yīng)時間和性能的工具,應(yīng)搜集這些工具產(chǎn)生的信息(如日志、運(yùn)行報告等)用于監(jiān)控。? 運(yùn)維環(huán)境管理組件:運(yùn)維環(huán)境管理用于確保物理環(huán)境和系統(tǒng)環(huán)境的妥善管理和保護(hù),不受故障和災(zāi)難的侵害,以及不受人為因素的干擾和破壞。? 系統(tǒng)維護(hù)管理組件:系統(tǒng)維護(hù)是指系統(tǒng)在運(yùn)行過程中,為了系統(tǒng)的正常服務(wù)而進(jìn)行的配置、參數(shù)管理,以及啟/停機(jī)、清理過期數(shù)據(jù)等日常操作,以及數(shù)據(jù)、系統(tǒng)發(fā)生變更的維護(hù)等。根據(jù)目標(biāo)系統(tǒng)的不同,采用靈活的方式向外提供數(shù)據(jù),可使用 ETL 工具直接向目標(biāo)系統(tǒng)加載或者通過 FTP 方式向其他目標(biāo)傳輸。IT 人員可能已經(jīng)擁有許多有效的工具進(jìn)行數(shù)據(jù)存取。 安全管理體系安全管理體系主要包括以下四個方面:? 網(wǎng)絡(luò)安全主要包括在不同網(wǎng)絡(luò)層次設(shè)置不同級別的防火墻及 IDS 系統(tǒng),同時在每一個安全層次下通過部署不同的安全原則,這完全符合 XX 銀行的安全級別規(guī)定。除能夠執(zhí)行一般業(yè)務(wù)分析人員進(jìn)行的操作外,可以對指定的主題、指標(biāo)進(jìn)行自定義的靈活分析和比較。 用戶層由上面的邏輯架構(gòu)圖可知用戶層包括各種最終用戶。通過數(shù)據(jù)集市可以保障 EDW 的高可用性、可擴(kuò)展性和高性能。? 支持多種執(zhí)行任務(wù)。? 偵測器駐留在后臺的服務(wù),基于定義的觸發(fā)規(guī)則和調(diào)度計劃監(jiān)測是否觸發(fā)任務(wù)的執(zhí)行。 ETL 流程調(diào)度層【功能與作用】該層為 EDW 數(shù)據(jù)流向的主要環(huán)節(jié),EDW 系統(tǒng)數(shù)據(jù)流動的流程調(diào)度核心層,流程調(diào)度主要針對下面幾個方面:? EDW 系統(tǒng)將數(shù)據(jù)源的數(shù)據(jù)抽取到數(shù)據(jù)落地區(qū)? EDW 系統(tǒng)對數(shù)據(jù)執(zhí)行格式轉(zhuǎn)換、排序去重、通用數(shù)據(jù)清洗、業(yè)務(wù)轉(zhuǎn)換后等操作,最終完成數(shù)據(jù)準(zhǔn)備區(qū)加載。目前物理設(shè)備的安全性由運(yùn)行中心負(fù)責(zé)。對于未來的數(shù)據(jù)倉庫系統(tǒng)來說,應(yīng)與統(tǒng)一門戶平臺整合,實現(xiàn)整體安全性管理的策略;13 / 47數(shù)據(jù)庫層只有被授權(quán)用戶才能訪問和修改數(shù)據(jù)庫中的信息并且數(shù)據(jù)在傳輸過程中應(yīng)對敏感信息進(jìn)行加密處理來保證數(shù)據(jù)的安全。元數(shù)據(jù)是“關(guān)于數(shù)據(jù)的數(shù)據(jù)” 。11 / 47分析環(huán)境:數(shù)據(jù)分析環(huán)境為 EDW 的高端用戶提供即時的數(shù)據(jù)分析功能等。這樣就可以有效的將銀行企業(yè)的操作型數(shù)據(jù)、匯總型數(shù)據(jù)和分析型數(shù)據(jù)以清晰的架構(gòu)組織、管理起來,并相輔相成。該區(qū)有著承上啟下的作用,從數(shù)據(jù)形態(tài)來看,該區(qū)的數(shù)據(jù)定義貼近業(yè)務(wù)源系統(tǒng)。? 操作型存儲區(qū):此部分內(nèi)容描述 EDW 系統(tǒng)在建設(shè)的過程中操作型存儲區(qū)應(yīng)遵循的標(biāo)準(zhǔn)以及系統(tǒng)建設(shè)過程中應(yīng)滿足的需求;? 數(shù)據(jù)倉庫存儲區(qū):此部分內(nèi)容描述 EDW 系統(tǒng)的數(shù)據(jù)倉庫存儲區(qū)應(yīng)遵循的標(biāo)準(zhǔn)以及系統(tǒng)建設(shè)過程中應(yīng)滿足的需求;? 業(yè)務(wù)應(yīng)用:此部分內(nèi)容描述 BI 應(yīng)用系統(tǒng)建設(shè)的系統(tǒng)需求,包含對應(yīng)用環(huán)境、分析環(huán)境、靜態(tài)報表環(huán)境;? 用戶環(huán)境:此部分的內(nèi)容描述用戶在 EDW 系統(tǒng)中應(yīng)具備運(yùn)用的能力,包括:利用通用展現(xiàn)平臺進(jìn)行信息展現(xiàn)、駕駛艙應(yīng)用、報表應(yīng)用等;? 時間窗口和性能的定義:此部分描述整個 EDW 項目中關(guān)于時間窗口的定義以及相關(guān)系統(tǒng)的性能指標(biāo)要求;? 元數(shù)據(jù)管理:此部分描述在系統(tǒng)執(zhí)行架構(gòu)中元數(shù)據(jù)管理的內(nèi)容以及元數(shù)據(jù)管理系統(tǒng)的建設(shè)的標(biāo)準(zhǔn)定義;? 系統(tǒng)安全性:此部分內(nèi)容主要描述 EDW 系統(tǒng)中的安全性管理內(nèi)容,包括應(yīng)用安全、網(wǎng)絡(luò)安全、數(shù)據(jù)安全、系統(tǒng)安全等,同時描述系統(tǒng)安全在建立過程中遵循的原則;? 基礎(chǔ)設(shè)施平臺(服務(wù)器 、網(wǎng)絡(luò)、存儲):此部分內(nèi)容主要描述生產(chǎn)系統(tǒng)中的硬件資源,包括:服務(wù)器,網(wǎng)絡(luò)以及存儲的資源需求,容量規(guī)劃應(yīng)滿足的系統(tǒng)指標(biāo)等內(nèi)容;9 / 47 數(shù)據(jù)源源數(shù)據(jù)系統(tǒng)是報表、關(guān)鍵指標(biāo)、靈活查詢、主題分析等應(yīng)用系統(tǒng)的基礎(chǔ)數(shù)據(jù)來源。如:系統(tǒng)容量可以隨著 ETL 系統(tǒng)數(shù)據(jù)量的擴(kuò)展以及應(yīng)用系統(tǒng)的不斷擴(kuò)展、用戶量不斷7 / 47擴(kuò)展而進(jìn)行平滑的擴(kuò)展。? 利用企業(yè)信息集成和 Web 數(shù)據(jù)服務(wù),提高系統(tǒng)的數(shù)據(jù)支持能力和接口的一致性。? 數(shù)據(jù)架構(gòu)描述于 EDW 系統(tǒng)相關(guān)的數(shù)據(jù)流動策略,即數(shù)據(jù)在 EDW 系統(tǒng)的執(zhí)行架構(gòu)下的抽取、轉(zhuǎn)換、儲存策略以及應(yīng)采用的流程,包括數(shù)據(jù)層次和總分行之間的數(shù)據(jù)分部情況等。在基礎(chǔ)技術(shù)架構(gòu)中,包括執(zhí)行架構(gòu)、邏輯架構(gòu)、功能組件架構(gòu)和運(yùn)維架構(gòu)四個部分。邏輯架構(gòu)是建立應(yīng)用架構(gòu)、執(zhí)行架構(gòu)、運(yùn)維架構(gòu)的基礎(chǔ),也是建立執(zhí)行架構(gòu)、應(yīng)用架構(gòu)以及運(yùn)維架構(gòu)的原型系統(tǒng)。? 總體架構(gòu)設(shè)計過程中應(yīng)遵守 XX 銀行的 IT 管理規(guī)程,保證最終的系統(tǒng)可以順利的部署并移交給 XX 銀行的運(yùn)行維護(hù)部門。EDW 項目的生產(chǎn)環(huán)境的建立需要參考并遵循執(zhí)行架構(gòu)部分提出的要求。同時對于元數(shù)據(jù)管理過程應(yīng)采用元數(shù)據(jù)管理平臺來實現(xiàn)對元數(shù)據(jù)集中、自動化的管理。目前數(shù)據(jù)源包括 XX 銀行的多個業(yè)務(wù)系統(tǒng),主要有核心系統(tǒng)、個貸系統(tǒng)、對公信貸系統(tǒng)、國際業(yè)務(wù)系統(tǒng)、財務(wù)系統(tǒng)和各類渠道系統(tǒng)等。 數(shù)據(jù)貼源層可以繼續(xù)為行內(nèi)現(xiàn)有的一些報表系統(tǒng)或者分析系統(tǒng)提供數(shù)據(jù),而數(shù)據(jù)標(biāo)準(zhǔn)層為數(shù)據(jù)倉庫中的企業(yè)數(shù)據(jù)模型的落地掃清了道路。數(shù)據(jù)集市:在業(yè)務(wù)應(yīng)用層中包含了應(yīng)用系統(tǒng)中需要的應(yīng)用集市、OLAP、靜態(tài)報表等數(shù)據(jù)集市。數(shù)據(jù)分發(fā)環(huán)境:在數(shù)據(jù)分發(fā)的過程中應(yīng)提供大容量數(shù)據(jù)批量分發(fā)的能力。因此必須采用適當(dāng)?shù)陌踩呗砸员WC其系統(tǒng)和數(shù)據(jù)的安全性。對于系統(tǒng)主機(jī)應(yīng)采用服務(wù)器加固的方法,來保證整個系統(tǒng)的安全性。ocationBeanR e q u e s t B e a nJ S PP a g e B e a nJ S PP a g e B e a nJ S PR e q u e s t B e a nA J A XA J A XA J A XA J A XA J A XF i l eB e a nB e a n通 用 展 現(xiàn) 平 臺報 表 / 復(fù) 雜報 表靈 活 查 詢系 統(tǒng) 管 理儀 表 盤數(shù) 據(jù) 集 市 層D A OD A OD A OConnectionPool框架引擎B OB OB O數(shù) 據(jù) 分 發(fā)權(quán)限統(tǒng)一管理統(tǒng)一用戶門戶(支持多種中間件) 儀表盤基 礎(chǔ) 模 型 層操 作 型 存 儲其 他 集 市 應(yīng) 用供數(shù)服務(wù)應(yīng) 用 服 務(wù) 層目的系統(tǒng)J D B C數(shù) 據(jù) 源 層技 術(shù) 元 數(shù) 據(jù)操 作 元 數(shù) 據(jù) 業(yè) 務(wù) 元 數(shù) 據(jù)安 全 管 理 體 系應(yīng) 用 安 全數(shù) 據(jù) 安 全操 作 系 統(tǒng) 安 全網(wǎng) 絡(luò) 安 全數(shù) 據(jù) 消 費 傳 輸 通 道e x p o r tF i l e任務(wù)執(zhí)行代理日志管理引擎任務(wù)調(diào)度引擎任務(wù)執(zhí)行代理任務(wù)執(zhí)行代理任務(wù)執(zhí)行代理任務(wù)執(zhí)行代理偵測器E T L 調(diào) 度 管 理 和 監(jiān) 控 器依賴和觸發(fā)規(guī)則庫數(shù)據(jù)質(zhì)量規(guī)則庫E T L 流 程 調(diào) 度E T L A u t o m a t i o n 資料 庫任 務(wù)日 志單 元1單 元2單 元n單 元1單 元2單 元n導(dǎo) 出數(shù) 據(jù) 文件貼 源 層標(biāo) 準(zhǔn) 化 層如上圖所示的 XX 銀行 EDW 的邏輯體系架構(gòu),這一架構(gòu)是在聯(lián)科可擴(kuò)展的EDW 系統(tǒng)框架的基礎(chǔ)上,結(jié)合 XX 銀行信息系統(tǒng)建設(shè)的實際情況而設(shè)計出來的多層、可擴(kuò)展框架結(jié)構(gòu)。? EDW 中的數(shù)據(jù)準(zhǔn)備區(qū)和數(shù)據(jù)存儲區(qū)可以為為其它系統(tǒng)提供數(shù)據(jù)服務(wù)。? 任務(wù)封裝在 Perl 程序中,執(zhí)行數(shù)據(jù)加載、整合、立方體生成等工作的一組程序。 數(shù)據(jù)平臺層【功能與作用】作為本系統(tǒng)的數(shù)據(jù)核心部分,它負(fù)責(zé)存儲和管理來自各種源數(shù)據(jù)系統(tǒng)的數(shù)據(jù),并為訪問用戶提供數(shù)據(jù)服務(wù)。該層為用戶對中央數(shù)據(jù)的訪問提供各種方式的服務(wù)(C/S、B/S) ,從而實現(xiàn)訪問方式的多樣化和信息存取的透明化。實際上,EDW 系統(tǒng)還包括進(jìn)行系統(tǒng)建設(shè)的開發(fā)人員、系統(tǒng)運(yùn)行人員和系統(tǒng)管理人員,這里所指的用戶層主要針對業(yè)務(wù)用戶進(jìn)行描述。? 管理決策人員主要包括各部門的領(lǐng)導(dǎo)、分行領(lǐng)導(dǎo)和總行領(lǐng)導(dǎo)。? 應(yīng)用安全應(yīng)用是直接面對用戶的,雖然應(yīng)用系統(tǒng)能夠持續(xù)提供服務(wù)是涉及到系統(tǒng)20 / 47安全的問題,但是因為這些問題更多的是由系統(tǒng)的安全問題來保證的。在架構(gòu)上,元數(shù)據(jù)系統(tǒng)包括:元數(shù)據(jù)應(yīng)用、元數(shù)據(jù)報表、元數(shù)據(jù)分析、元數(shù)據(jù)集成系統(tǒng)、元數(shù)據(jù)展現(xiàn)系統(tǒng)、元數(shù)據(jù)管理系統(tǒng)、元數(shù)據(jù)維護(hù)系統(tǒng)。21 / 47 EDW 運(yùn)維架構(gòu) 運(yùn)維架構(gòu)概述下圖中給出了 EDW 的運(yùn)維架構(gòu),是在 EDW 系統(tǒng)上線后,為了保持系統(tǒng)良好的穩(wěn)定性而定義的相關(guān)的管理需求。22 / 47? 故障切換管理組件:故障切換管理提供了管理和控制應(yīng)用切換的機(jī)制。特殊操作流程不會每天發(fā)生,這一流程的啟動通常是由于系統(tǒng)軟硬件升級、數(shù)據(jù)變更、新增應(yīng)用等需求引起的。系統(tǒng)監(jiān)控管理的主要任務(wù)及工具支持如下圖所示: 系統(tǒng)維護(hù)管理系統(tǒng)維護(hù)是指系統(tǒng)在運(yùn)行過程中,為了系統(tǒng)的正常服務(wù)而進(jìn)行的配置、參數(shù)管理,以及啟/停機(jī)、清理過期數(shù)據(jù)等日常操作,以及數(shù)據(jù)、系統(tǒng)發(fā)生變更的維護(hù)等。? 盡量提高數(shù)據(jù)備份過程的效率。27 / 47安全管理是貫穿 EDW 總體架構(gòu)的。數(shù)據(jù)模型的效率包括 ETL 的加工效率和數(shù)據(jù)展現(xiàn)的查詢效率,因此數(shù)據(jù)模型的數(shù)據(jù)組織和存儲,必須是高效可用的。存放到 EDW 數(shù)據(jù)庫中的數(shù)據(jù)有以下幾類:從原業(yè)務(wù)系統(tǒng)直接采集過來的經(jīng)標(biāo)準(zhǔn)化處理的標(biāo)準(zhǔn)數(shù)據(jù),由標(biāo)準(zhǔn)數(shù)據(jù)按主題整合形成的基礎(chǔ)業(yè)務(wù)數(shù)據(jù);經(jīng)過中間加工匯總形成的匯總數(shù)據(jù);管理應(yīng)用所專用的操作型數(shù)據(jù);為滿足應(yīng)用分析需要而加工形成的多維分析數(shù)據(jù)。EDW 對各源系統(tǒng)機(jī)構(gòu)編碼進(jìn)行統(tǒng)一,提供統(tǒng)一的基線機(jī)構(gòu)。 EDW 應(yīng)用架構(gòu) 應(yīng)用架構(gòu)設(shè)計原則EDW 系統(tǒng)的應(yīng)用架構(gòu)應(yīng)考慮開放性、完整性、合理性。? EDW 能夠提供的數(shù)據(jù)會覆蓋全行所有系統(tǒng),可以滿足全行所有的數(shù)據(jù)加工對數(shù)據(jù)的需求。? 和上下游系統(tǒng)接口的松耦合設(shè)計,避免上下游系統(tǒng)的變更導(dǎo)致ETL程序本身頻繁變更。? ETL2:屬于ETL清洗。一些低粒度數(shù)據(jù)逐步向高粒度數(shù)據(jù)歸并和匯總。建立和設(shè)計這個接口,似乎只要編制一個抽取程序就可以了,事實上,在這一階段的工作中,的確對數(shù)據(jù)進(jìn)行了抽取,但抽取并不是全部的工作,這一接口還應(yīng)具有以下的功能: ? 從面向應(yīng)用和操作的環(huán)境生成完整的數(shù)據(jù); ? 數(shù)據(jù)的基于時間的轉(zhuǎn)換; ? 數(shù)據(jù)的聚合 ; ? 對現(xiàn)有記錄系統(tǒng)的有效掃描,以便以后進(jìn)行追加。4. 時間調(diào)度上的靈活性通過建立 Staging Area,把數(shù)據(jù)存儲在臨時空間,使 ETL 調(diào)度更靈活。 增量 ETL 設(shè)計策略確定增量數(shù)據(jù)測量和故障恢復(fù)策略。此方法需要有專門的工具讀取數(shù)據(jù)庫日志。? 對于大數(shù)據(jù)量的表,可以利用時間窗口功能, 如果大表某一天的數(shù)據(jù)出現(xiàn)錯誤后,可以直接進(jìn)行一天數(shù)據(jù)的恢復(fù)。 ETL 模塊設(shè)計XX 銀行的 ETL 采用數(shù)據(jù)庫的存儲過程及 Shell 腳本等技術(shù)支持,可以按照如下模塊設(shè)計:? 調(diào)度模塊:負(fù)責(zé)任務(wù)的管理、調(diào)度和分發(fā),作業(yè)依賴關(guān)系的管理;? 作業(yè)控制:負(fù)責(zé)計算資源的分配、作業(yè)的執(zhí)行,控制作業(yè)執(zhí)行的流程、跟蹤作業(yè)執(zhí)行的結(jié)果、記錄作業(yè)的日志。調(diào)度 SERVER根據(jù)各個 JOB 的運(yùn)行時間和依賴關(guān)系,按照一定的調(diào)度策略對總分行的 JOB 進(jìn)行統(tǒng)一調(diào)度。首先,ETL SERVER 接收調(diào)度 Agent 發(fā)過來的要執(zhí)行的作業(yè)的作業(yè) ID,根據(jù)該作業(yè) ID 到管理庫中獲取該作業(yè)的運(yùn)行參數(shù)并解釋所有參數(shù)。ETL Server 訪問管理庫,ETL Client 只訪問應(yīng)用庫,不允許訪問管理庫。2. ETL SERVER 得到調(diào)度的調(diào)度指令后,根據(jù) JOB ID,先到所在域中的管理類數(shù)據(jù)庫中 JOB 實例表中查找該 JOB,判斷該 JOB 的狀態(tài)是否正確,查找該 JOB 的前序 JOB 是否完成,然后在 JOB 參數(shù)表中查找該 JOB 對應(yīng)的各種參數(shù),為作業(yè)的運(yùn)行解析和準(zhǔn)備參數(shù),同時到所在域的業(yè)務(wù)類數(shù)據(jù)庫中查找各種輸入文件是否存在,如果條件都滿足,則 JOB 可以運(yùn)行。8. ETL SERVER 將作業(yè)運(yùn)行的情況通過退出碼的方式反饋給調(diào)度