BI主要環(huán)節(jié)ETL相關(guān)知識(shí)
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-09 16:29:54
BI主要環(huán)節(jié)ETL相關(guān)知識(shí)
BI主要環(huán)節(jié)ETL相關(guān)知識(shí):BI架構(gòu)-BI主要環(huán)節(jié)ETL相關(guān)知識(shí) 主要功能 :將源系統(tǒng)的數(shù)據(jù)加載到數(shù)據(jù)倉庫 及數(shù)據(jù)集市層中;主要問題體現(xiàn): 復(fù)雜的源數(shù)據(jù)環(huán)境,包括繁多的數(shù)據(jù)種類、巨大的加載數(shù)據(jù)量、錯(cuò)綜復(fù)雜的數(shù)據(jù)關(guān)系和參差不齊的數(shù)據(jù)質(zhì)量常見術(shù)語 ETL:數(shù)據(jù)抽 BI架構(gòu)-BI 主要環(huán)節(jié)
導(dǎo)讀BI主要環(huán)節(jié)ETL相關(guān)知識(shí):BI架構(gòu)-BI主要環(huán)節(jié)ETL相關(guān)知識(shí) 主要功能 :將源系統(tǒng)的數(shù)據(jù)加載到數(shù)據(jù)倉庫 及數(shù)據(jù)集市層中;主要問題體現(xiàn): 復(fù)雜的源數(shù)據(jù)環(huán)境,包括繁多的數(shù)據(jù)種類、巨大的加載數(shù)據(jù)量、錯(cuò)綜復(fù)雜的數(shù)據(jù)關(guān)系和參差不齊的數(shù)據(jù)質(zhì)量常見術(shù)語 ETL:數(shù)據(jù)抽 BI架構(gòu)-BI 主要環(huán)節(jié)
BI架構(gòu)-BI主要環(huán)節(jié)ETL相關(guān)知識(shí) 主要功能 :將源系統(tǒng)的數(shù)據(jù)加載到數(shù)據(jù)倉庫 及數(shù)據(jù)集市層中;主要問題體現(xiàn): 復(fù)雜的源數(shù)據(jù)環(huán)境,包括繁多的數(shù)據(jù)種類、巨大的加載數(shù)據(jù)量、錯(cuò)綜復(fù)雜的數(shù)據(jù)關(guān)系和參差不齊的數(shù)據(jù)質(zhì)量常見術(shù)語 ETL:數(shù)據(jù)抽
BI架構(gòu)-BI 主要環(huán)節(jié) ETL 相關(guān)知識(shí)
主要功能 :將源系統(tǒng)的數(shù)據(jù)加載到數(shù)據(jù)倉庫 及數(shù)據(jù)集市層中;
主要問題體現(xiàn): 復(fù)雜的源數(shù)據(jù)環(huán)境,包括繁多的數(shù)據(jù)種類、巨大的加載數(shù)據(jù)量、錯(cuò)綜復(fù)雜的數(shù)據(jù)關(guān)系和參差不齊的數(shù)據(jù)質(zhì)量
常見術(shù)語
ETL:數(shù)據(jù)抽取、轉(zhuǎn)換、加載(Extract/Transform/Load)
EXF:抽取的文件(Extract File)
CIF:共用接口文件(Common Interface File)
PLF:預(yù)加載文件(Preload File)
LDF:加載文件(Load File)
DW:數(shù)據(jù)倉庫(Data Warehouse)
DM:數(shù)據(jù)集市(Data Mart)
GC:共用接口文件組(CIF Group),將一對(duì)EX(抽取)和CV(變換)程序組合的程序
GE:實(shí)體組(Entity Group),將TR(轉(zhuǎn)換)和LD(加載)程序組合的程序
ETL 功能架構(gòu):

由上圖 可以看出 架構(gòu)可分為三個(gè)部分
1、管理調(diào)度
根據(jù)目標(biāo)數(shù)據(jù)表的更新周期和源數(shù)據(jù)就緒時(shí)間,制定日常數(shù)據(jù)的ETL的時(shí)刻表。管理員通過ETL工具的作業(yè)調(diào)度功能進(jìn)行運(yùn)行時(shí)刻設(shè)置,使得ETL工具自動(dòng)在規(guī)定條件滿足時(shí)啟動(dòng)相應(yīng)的ETL作業(yè)。每個(gè)目標(biāo)數(shù)據(jù)表ETL過程對(duì)應(yīng)一組順序執(zhí)行的實(shí)體作業(yè)(包括轉(zhuǎn)換作業(yè)和加載作業(yè))形成的一個(gè) 序列(Sequence),每個(gè)CIF(共用接口文件)的ETL過程則對(duì)應(yīng)一組順序執(zhí)行CIF作業(yè)(包括抽取作業(yè)和變換作業(yè))形成的一個(gè)序列。這些ETL作業(yè)將其中的每個(gè)步驟,即抽取、變換、轉(zhuǎn)換、加載等ETL功能模塊有機(jī)地聯(lián)系起來。而作業(yè)調(diào)度是將CIF邏輯的作業(yè)和實(shí)體邏輯的作業(yè)按照GC(CIF組)與GE(實(shí)體組)的對(duì)應(yīng)關(guān)系聯(lián)系起來,從而控制該ETL過程的運(yùn)作
2、應(yīng)用功能
ETL應(yīng)用模塊層次中包含實(shí)現(xiàn)每個(gè)ETL步驟的程序及對(duì)這些步驟進(jìn)行歸并及設(shè)定依賴性的程序,即 抽取(Extract)、變換(Convert)、轉(zhuǎn)換(Transform)、加載(Load)程序。每個(gè)模塊實(shí)現(xiàn)一個(gè)特定的功能,詳述如下:
數(shù)據(jù)抽取(Extract)
數(shù)據(jù)變換(Convert/Clean)
數(shù)據(jù)轉(zhuǎn)換(Transform)
數(shù)據(jù)加載(Load)
每個(gè)階段之間以數(shù)據(jù)文件作為接口,即數(shù)據(jù)抽取(Extract)階段讀取數(shù)據(jù)源產(chǎn)生EXF數(shù)據(jù),數(shù)據(jù)變換(Converting/Cleansing)階段讀取EXF數(shù)據(jù)產(chǎn)生CIF數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換(Transform)階段讀取CIF數(shù)據(jù)產(chǎn)生LDF數(shù)據(jù)(如果有預(yù)加載過程還可能產(chǎn)生中間PLF數(shù)據(jù)),數(shù)據(jù)加載(Load)階段讀取LDF數(shù)據(jù)加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市。
上述將數(shù)據(jù)抽取、轉(zhuǎn)換和加載分隔開,以CIF格式作為目標(biāo)表和數(shù)據(jù)源之間的橋梁,從而使每個(gè)功能相對(duì)獨(dú)立,減少各功能相互間的耦合度,同時(shí),每個(gè)模塊的功能被細(xì)分后,邏輯更加簡單,更容易控制開發(fā)錯(cuò)誤,提高開發(fā)效率。另外,也便于系統(tǒng)運(yùn)行過程中的錯(cuò)誤追蹤和異常恢復(fù)。為了驗(yàn)證ETL加載的數(shù)據(jù)的正確性,根據(jù)業(yè)務(wù)的要求,可能需要在數(shù)據(jù)倉庫或數(shù)據(jù)集市中進(jìn)行數(shù)據(jù)總計(jì)平衡檢查(Amount Balance Check),該過程必須在相關(guān)的ETL表數(shù)據(jù)加載完成以后進(jìn)行。
ETL各模塊之間無任何調(diào)用關(guān)系,它們之間可能的關(guān)系僅僅是一個(gè)模塊的輸出文件是另一個(gè)模塊需要讀取和加工的文件。一個(gè)ETL功能模塊就是一個(gè)ETL作業(yè),每個(gè)功能模塊的邏輯都只是ETL過程中一個(gè)相對(duì)獨(dú)立的部分。
3、控制環(huán)境
ETL功能模塊的運(yùn)行需要由相應(yīng)的參數(shù)進(jìn)行控制,同時(shí)在各模塊之間也存在很多控制文件及調(diào)用一些公共的功能,功能模塊在運(yùn)行過程中可能產(chǎn)生拒絕文件,針對(duì)功能模塊的運(yùn)行狀況會(huì)有產(chǎn)生一些監(jiān)控信息等等,這些對(duì)于ETL功能模塊的運(yùn)行起到控制與支撐的環(huán)境以及相應(yīng)的維護(hù)管理程序構(gòu)成ETL架構(gòu)環(huán)境
上兩層構(gòu)成ETL應(yīng)用,而ETL控制環(huán)境則為以上層次的每個(gè)應(yīng)用程序提供支持,應(yīng)用層次上獨(dú)立的功能模塊都通過更上一個(gè)層次的邏輯關(guān)系聯(lián)系起來,使每個(gè)模塊的功能更加清晰、明確
ETL模式
完全刷新(Refresh,Type 1):數(shù)據(jù)庫數(shù)據(jù)表中只包括最新的數(shù)據(jù),每次加載均刪除原有數(shù)據(jù),然后完全加載最新的源數(shù)據(jù)。如大多數(shù)參數(shù)表的加載都采用這種模式。這種模式下,數(shù)據(jù)抽取程序抽取源數(shù)據(jù)中的所有記錄,在加載前,將目標(biāo)數(shù)據(jù)表清空,然后加載所有記錄。為提高刪除數(shù)據(jù)的速度,一般是采用Truncate清空數(shù)據(jù)表而不采用SQL
Delete進(jìn)行刪除。
鏡像增量(Snapshot Append,Type 2):源數(shù)據(jù)中的記錄定期更新,但記錄中包括記錄時(shí)間字段,源數(shù)據(jù)中保存了數(shù)據(jù)歷史的記錄,ETL可以通過記錄時(shí)間將增量數(shù)據(jù)從源數(shù)據(jù)抽取出來以附加的方式加載到數(shù)據(jù)庫中,數(shù)據(jù)的歷史記錄也會(huì)被保留在數(shù)據(jù)庫中。
事件增量(Event Append,Type 3):每一個(gè)記錄是一個(gè)新的事件,相互之間沒有必然的聯(lián)系,新記錄不是對(duì)原有記錄數(shù)值的變更,記錄包括時(shí)間字段,可以通過時(shí)間字段將新增數(shù)據(jù)抽取出來加載到數(shù)據(jù)庫中
鏡像比較(Snapshot Delta,Type 4):數(shù)據(jù)倉庫數(shù)據(jù)具有生效日期字段以保存數(shù)據(jù)的歷史信息,而源數(shù)據(jù)不保留歷史并且每天都可能被更新。因此,只能將新的鏡像數(shù)據(jù)與上次加載的數(shù)據(jù)的鏡像進(jìn)行比較,找出變更部分(即Delta),更新歷史數(shù)據(jù)被更新記錄的生效終止日期,并添加變更后的數(shù)據(jù)。
------------------------------------------------------------------------------------------
數(shù)據(jù)抽取(Extract)
數(shù)據(jù)抽取是從數(shù)據(jù)源獲取所需數(shù)據(jù)的過程。數(shù)據(jù)抽取的主要工作有:
數(shù)據(jù)范圍過濾,完全抽取源表所有記錄或按指定日期進(jìn)行增量抽取
抽取字段過濾,全部抽取源表所有字段或包括過濾掉不需要的源數(shù)據(jù)字段
抽取條件過濾,如過濾到指定條件的記錄
數(shù)據(jù)排序,如按照抽取的指定字段進(jìn)行排序
數(shù)據(jù)抽取可以采用 PULL和PUSH兩種方式。PUSH就是指由源系統(tǒng)按照雙方定義的數(shù)據(jù)格式,主動(dòng)將符合要求的數(shù)據(jù)抽取出來,形成接口數(shù)據(jù)表或數(shù)據(jù)視圖供ETL系統(tǒng)使用。PULL則是由ETL程序直接訪問數(shù)據(jù)源來獲取數(shù)據(jù)的方式。
數(shù)據(jù)變換(Convert)
任務(wù)是逐條記錄的檢查數(shù)據(jù),將每個(gè)字段轉(zhuǎn)換為遵循數(shù)據(jù)倉庫標(biāo)準(zhǔn)的數(shù)據(jù)格式,即對(duì)數(shù)據(jù)類型和數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換,并對(duì)空字段賦予適當(dāng)?shù)娜笔?#20540;,形成規(guī)整的數(shù)據(jù)結(jié)構(gòu),對(duì)于不符合要求的數(shù)據(jù),寫入拒絕文件(Reject文件)中。
數(shù)據(jù)變換主要的工作有:
格式變換,如所有日期格式統(tǒng)一為yyyy-mm-dd;
賦缺省值,在數(shù)據(jù)倉庫中定義取值不為空的字段在源數(shù)據(jù)對(duì)應(yīng)的字段可能存在沒有取值的記錄,這時(shí)根據(jù)業(yè)務(wù)需要,可能有兩種處理辦法,一是將該記錄寫入到Reject文件中,由業(yè)務(wù)部門根據(jù)Reject文件檢查并修補(bǔ)源數(shù)據(jù),另一種是在Convert階段直接賦一個(gè)缺省值;
類型變換, 如將源系統(tǒng)的Number類型轉(zhuǎn)為Varchar2類型等
代碼轉(zhuǎn)換,某些字段經(jīng)過代碼升級(jí)以后,將老的代碼轉(zhuǎn)為新的代碼等。
數(shù)值轉(zhuǎn)換,如數(shù)值單位由萬元轉(zhuǎn)為元等。
去除空格,去除字符類型的數(shù)據(jù)中的前后空格
數(shù)據(jù)轉(zhuǎn)換(Transform)
按照目標(biāo)表的數(shù)據(jù)結(jié)構(gòu),對(duì)一個(gè)或多個(gè)源數(shù)據(jù)的字段進(jìn)行翻譯、匹配、聚合等操作得到目標(biāo)數(shù)據(jù)的字段。
數(shù)據(jù)轉(zhuǎn)換主要包括格式和字段合并與拆分、數(shù)據(jù)翻譯、數(shù)據(jù)匹配、數(shù)據(jù)聚合以及其它復(fù)雜計(jì)算等。
字段合并與拆分
字段合并是指源數(shù)據(jù)的多個(gè)字段合并為目標(biāo)數(shù)據(jù)的一個(gè)字段。
字段拆分是指將源數(shù)據(jù)中一個(gè)表的一個(gè)字段拆分為目標(biāo)數(shù)據(jù)的多個(gè)字段。
賦缺省值
對(duì)于數(shù)據(jù)庫中有的字段,在源系統(tǒng)中并沒有相對(duì)應(yīng)的源字段,這時(shí)根據(jù)模型的設(shè)計(jì),可能需要缺省賦一個(gè)值。與數(shù)據(jù)變換階段的賦缺省值功能相比,這里可能涉及更復(fù)雜的數(shù)據(jù)修正規(guī)則。
數(shù)據(jù)排序(Sort)
轉(zhuǎn)換程序有時(shí)需要對(duì)于兩個(gè)或多個(gè)CIF文件合并,在合并之前需要將CIF文件按所要求的鍵值排好序,這樣可以加快合并的速度,排序的過程在Transform之前進(jìn)行。
數(shù)據(jù)查找(Lookup)
將源系統(tǒng)中一些表示狀態(tài)、類型等的代碼直接翻譯為其所表達(dá)的意思,或反之。數(shù)據(jù)翻譯需要用到參考表(Reference Table),數(shù)據(jù)參考表一般是字典表或根據(jù)源數(shù)據(jù)與目標(biāo)數(shù)據(jù)的定義手工產(chǎn)生,如果數(shù)據(jù)翻譯時(shí)在參考表中找不到對(duì)應(yīng)的對(duì)照,根據(jù)業(yè)務(wù)規(guī)則,需要將對(duì)應(yīng)的記錄Reject出來或賦缺省值。
數(shù)據(jù)合并(Merge)
按一定條件(一般是key值相等)對(duì)數(shù)據(jù)進(jìn)行合并,找出描述同一對(duì)象的分布在不同數(shù)據(jù)表中的記錄,并把這些記錄聯(lián)系起來。數(shù)據(jù)合并其實(shí)是數(shù)據(jù)查找的一種特殊情況,主要用于數(shù)據(jù)量特別大的情況,數(shù)據(jù)合并在實(shí)現(xiàn)方式上一般先對(duì)要合并的兩個(gè)表分別排序(Sort),然后順序?qū)蓚€(gè)表的記錄進(jìn)行匹配合并,這樣可以大大加快處理的速度。
數(shù)據(jù)聚合(Aggregate)
對(duì)數(shù)據(jù)按照不同分組進(jìn)行匯總等統(tǒng)計(jì)計(jì)算,一般是用于匯總表的計(jì)算,主要的聚合種類有:
求和
求平均值
求記錄數(shù)
求最小值
求最大值
原則上,ETL只處理規(guī)律而重復(fù)性大的數(shù)據(jù)聚合,如匯總、取平均值、找最大、最小值等,而不用于復(fù)雜計(jì)算,以減少開發(fā)成本和系統(tǒng)負(fù)載。對(duì)于不規(guī)律而且復(fù)雜的計(jì)算,應(yīng)該由源系統(tǒng)端將數(shù)據(jù)計(jì)算好或在數(shù)據(jù)倉庫端開發(fā)專門的計(jì)算程序(如存儲(chǔ)過程)在ETL加載完成以后調(diào)用
文件比較(File Compare)
對(duì)應(yīng)于四種ETL模式,數(shù)據(jù)轉(zhuǎn)換為PLF文件后需要進(jìn)行不同的處理,在Type1、Type2和Type3模式下,生成LDF文件可以直接由數(shù)據(jù)加載過程加載到數(shù)據(jù)倉庫中,而Type4則由于存在有效日期,需要將當(dāng)日的snapshot數(shù)據(jù)(PLF文件)與歷史數(shù)據(jù)鏡像(PLF文件)進(jìn)行比較,找出需要添加和需要更新的記錄,然后產(chǎn)生真正可以向數(shù)據(jù)庫加載的LDF文件,再由數(shù)據(jù)加載過程將PLF文件加載到數(shù)據(jù)倉庫中。
代理鍵值(Surrogate Key)分配
對(duì)于數(shù)據(jù)倉庫中設(shè)計(jì)的代理鍵,代理鍵值的分配一般有兩種方法,一種是在數(shù)據(jù)庫中通過數(shù)據(jù)庫的功能將該字段設(shè)為自動(dòng)增加類型,一種是由ETL過程來分配鍵值,代理鍵值一般為數(shù)值型,并且必須保證鍵值分配不重復(fù)。在本項(xiàng)目中采取的是后者。
緩慢變化增量獲取(Slow Change Capture)
對(duì)于含有生效日期、截止日期等字段的緩慢變化維度表(拉鏈表),如果源端無法提供增量的信息(包括通過時(shí)間戳獲取),則ETL需要將當(dāng)日的快照數(shù)據(jù)生成PLF文件,再與上一日的數(shù)據(jù)鏡像(從目標(biāo)數(shù)據(jù)快照區(qū)中獲取)進(jìn)行比較,找出需要添加和需要更新的記錄,然后再產(chǎn)生真正可以向數(shù)據(jù)庫加載的LDF文件。
行列轉(zhuǎn)換(Pivot)
根據(jù)模型的一些特殊要求,需要將源系統(tǒng)的橫表轉(zhuǎn)成縱表或?qū)⒖v表轉(zhuǎn)成橫表,如源表將12個(gè)月設(shè)計(jì)為12個(gè)字段,而目標(biāo)表需要用一個(gè)月份字段替換,而需要將源表的一條記錄按月份對(duì)應(yīng)轉(zhuǎn)成12條記錄等。
RI檢查(RI Check)
對(duì)于存在RI關(guān)系的表,進(jìn)行RI的檢查,將有RI問題的數(shù)據(jù)拒絕出來。由于本項(xiàng)目中使用的Greenplum數(shù)據(jù)庫無法執(zhí)行外鍵約束,使用ETL檢查RI是確保數(shù)據(jù)質(zhì)量的關(guān)鍵點(diǎn)。
其它復(fù)雜計(jì)算
在數(shù)據(jù)庫中定義的某些字段需要按照業(yè)務(wù)規(guī)則進(jìn)行復(fù)雜計(jì)算才能得到,主要有兩類:
1.主要針對(duì)一些在數(shù)據(jù)源中找不到直接對(duì)應(yīng)的字段,需要在ETL過程中通過相關(guān)字段計(jì)算才能得出的字段;
2.原則上復(fù)雜的計(jì)算并不在ETL中完成,對(duì)于一定需要由ETL來完成的復(fù)雜計(jì)算字段,采取在ETL加載時(shí)該字段先留空,在加載完成以后調(diào)用的存儲(chǔ)過程來計(jì)算,但為了管理與調(diào)度的統(tǒng)一,可以在ETL 調(diào)度工具中調(diào)用存儲(chǔ)過程以統(tǒng)一調(diào)度。
數(shù)據(jù)加載(Load)
經(jīng)過數(shù)據(jù)轉(zhuǎn)換生成的PLF文件的結(jié)構(gòu)與數(shù)據(jù)庫數(shù)據(jù)表的結(jié)構(gòu)完全一致,可以直接通過數(shù)據(jù)加載工具,以Bulk Load的方式加載到數(shù)據(jù)倉庫中。數(shù)據(jù)加載工作將分為3步進(jìn)行。
預(yù)加載(Pre-Load)
在真正進(jìn)行數(shù)據(jù)加載之前根據(jù)實(shí)際要加載的表的情況,主要是針對(duì)明細(xì)及大事實(shí)表,基于性能考慮,還可能需要完成以下準(zhǔn)備工作:
刪除數(shù)據(jù)倉庫中數(shù)據(jù)表的索引。
刪除主鍵。
加載(Load)
Load主要完成將PLF文件的數(shù)據(jù)加載到數(shù)據(jù)庫的表中,需要用到的加載方式有三種:
Insert:只需要將PLF文件所有數(shù)據(jù)完全I(xiàn)nsert到目標(biāo)表中。
Upsert:需要對(duì)目標(biāo)表同時(shí)做Update及Insert操作,根據(jù)主鍵,對(duì)于已有的記錄進(jìn)行Update操作,對(duì)于不存在的記錄做Insert的操作,對(duì)于數(shù)據(jù)量大的表,由于此操作的效率非常低,可以采用先將PLF文件分割為Delete文件及Insert文件,然后先將Delete文件中的記錄根據(jù)主鍵對(duì)應(yīng)從數(shù)據(jù)倉庫中刪除,然后再從Insert文件中將所有記錄全部Insert到目標(biāo)表中。
Refresh:即將目標(biāo)表的數(shù)據(jù)完全更新,一般的做法是先Truncate目標(biāo)表的數(shù)據(jù),然后再完全I(xiàn)nsert要加載的記錄
后加載(Post-Load)
Post-Load階段主要完成在數(shù)據(jù)加載完成以后的相關(guān)的環(huán)境整理工作,主要包括如下一些工作:
重新生成索引:如果在Pre-Load階段做了刪除數(shù)據(jù)表索引動(dòng)作,則在Post-Load階段需要重建。
重新創(chuàng)建主鍵:如果在Pre-Load階段做了刪除主鍵動(dòng)作,則在Post-Load階段需要重建。
文件清理:刪除不需要的臨時(shí)文件,如空拒絕文件等
生成加載后數(shù)據(jù)鍵文件:數(shù)據(jù)加載完成以后,如果后續(xù)有ETL過程需要根據(jù)該表進(jìn)行RI檢查,則需要將該表的主鍵抽取出單獨(dú)的鍵文件。
后抽取數(shù)據(jù)文件:如果所加載的數(shù)據(jù)表后續(xù)被其它表加載時(shí)大量查找(Lookup),可以考慮抽取出文件。
ETL作業(yè)依賴和進(jìn)程調(diào)度
ETL作業(yè)之間存在很多依賴,關(guān)系到相關(guān)數(shù)據(jù)表的加載順序,本設(shè)計(jì)從兩個(gè)方面體現(xiàn)ETL作業(yè)的依賴關(guān)系:一是每個(gè)作業(yè)組完成以后應(yīng)產(chǎn)生與作業(yè)名稱相對(duì)應(yīng)的消息文件,對(duì)于后續(xù)需要依賴該作業(yè)完成的作業(yè)組,首先應(yīng)等待該消息文件的出現(xiàn)再繼續(xù)。二是將一組在同一時(shí)間開始運(yùn)行并具有依賴關(guān)系的作業(yè)組合在一起,開發(fā)成網(wǎng)狀關(guān)系的序列作業(yè)(Sequence Job)以供ETL的進(jìn)程調(diào)度用
ETL作業(yè)進(jìn)程調(diào)度的功能比較單純,就是在規(guī)定的時(shí)刻啟動(dòng)程序,并記錄系統(tǒng)運(yùn)行情況和運(yùn)行結(jié)果。 不同數(shù)據(jù)表的更新周期不同,因此,進(jìn)程調(diào)度需要能夠支持日周月等多種不同的啟動(dòng)周期,并通過設(shè)定啟動(dòng)時(shí)間來確定每個(gè)任務(wù)在何時(shí)啟動(dòng)運(yùn)行。
只有日常數(shù)據(jù)加載才需要考慮進(jìn)程調(diào)度的問題。而對(duì)于初始數(shù)據(jù)及歷史數(shù)據(jù)的加載,由于是一次性的工作,將采取手工啟動(dòng)加載的方式,所以無需制定對(duì)初始數(shù)據(jù)及歷史數(shù)據(jù)加載制度化的進(jìn)程調(diào)度。
在ETL程序的抽取過程運(yùn)行之前一定要保證其抽取的源數(shù)據(jù)已經(jīng)準(zhǔn)備就緒,本項(xiàng)目使用Oracle Golden Gate在數(shù)據(jù)緩存區(qū)保留一份源系統(tǒng)源表的實(shí)時(shí)副本,在指定的時(shí)間啟動(dòng)夜間批量處理窗口時(shí)統(tǒng)一抓取快照,載入快照區(qū)(在第3章詳述)。手工上傳數(shù)據(jù)在上傳當(dāng)日接受數(shù)據(jù)質(zhì)量稽查,并載入過渡表。但此類數(shù)據(jù)往下游數(shù)據(jù)集市的流轉(zhuǎn)只在夜間跑批窗口與系統(tǒng)來源數(shù)據(jù)合并進(jìn)行。即當(dāng)日上傳的手工數(shù)據(jù)原則上只在次日從前端應(yīng)用中體現(xiàn)。
邏輯部署部分

大體看來分為三層
用戶層 ---用戶接入 三種方式 移動(dòng)端、web端、系統(tǒng)用戶
應(yīng)用層 ---負(fù)載均衡器 : 支撐BI相關(guān)服務(wù)請(qǐng)求的均衡應(yīng)用負(fù)載,提高應(yīng)用的可用性。負(fù)載均衡設(shè)備安裝于兩臺(tái)或多臺(tái)Server之前 , 它將請(qǐng)求交給負(fù)載最輕的服務(wù)器
數(shù)據(jù)應(yīng)用服務(wù)器 :整個(gè)BI應(yīng)用架構(gòu)的數(shù)據(jù)組裝部分,支撐包含駕駛艙、指標(biāo)查詢、主題分析、戰(zhàn)略管理等高效的
安全的數(shù)據(jù)應(yīng)用服務(wù),應(yīng)用服務(wù)器要滿足高可用和性能平行擴(kuò)展的要求。
德邦采用集群的方式進(jìn)行部署
數(shù)據(jù)集成服務(wù)器、支撐數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)稽核,服務(wù)器要滿足高可用和性能平行擴(kuò)展的要求
系統(tǒng)管理服務(wù)器 支撐系統(tǒng)監(jiān)控,預(yù)警管理和用戶權(quán)限的管理
Web服務(wù)器 支撐Web網(wǎng)頁的訪問服務(wù)。靜態(tài)內(nèi)容,包括HTML,JavaScript,IMG和JPG圖片等,
服務(wù)器要滿足高可用的要求
數(shù)據(jù)資源層 包含緩沖區(qū)、TDR、數(shù)據(jù)倉庫與集市、文件庫、日志庫以及備份庫
系統(tǒng)整體模塊流程

模塊依賴關(guān)系
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
BI主要環(huán)節(jié)ETL相關(guān)知識(shí)
BI主要環(huán)節(jié)ETL相關(guān)知識(shí):BI架構(gòu)-BI主要環(huán)節(jié)ETL相關(guān)知識(shí) 主要功能 :將源系統(tǒng)的數(shù)據(jù)加載到數(shù)據(jù)倉庫 及數(shù)據(jù)集市層中;主要問題體現(xiàn): 復(fù)雜的源數(shù)據(jù)環(huán)境,包括繁多的數(shù)據(jù)種類、巨大的加載數(shù)據(jù)量、錯(cuò)綜復(fù)雜的數(shù)據(jù)關(guān)系和參差不齊的數(shù)據(jù)質(zhì)量常見術(shù)語 ETL:數(shù)據(jù)抽 BI架構(gòu)-BI 主要環(huán)節(jié)