CDC 與 DataStage完美結(jié)合,加速業(yè)務(wù)實時數(shù)據(jù)分析
隨著計算機技術(shù)和信息技術(shù)的不斷發(fā)展,海量數(shù)據(jù)的不斷涌現(xiàn),企業(yè)迫切需要對數(shù)據(jù)進行高效、準確、及時地分析。傳統(tǒng) BI分析系統(tǒng)(例如:數(shù)據(jù)倉庫)一般是按天、周或者月作為數(shù)據(jù)的更新周期,可以提供對歷史數(shù)據(jù)的分析與查詢,能夠幫助決策者制定企業(yè)運營戰(zhàn)略,但卻不能實時地反映企業(yè)商業(yè)信息的變化。然而當前在電子商務(wù)、金融證券等領(lǐng)域中,需要及時的將數(shù)據(jù)發(fā)送到?jīng)Q策者手中,為企業(yè)提供更有價值的戰(zhàn)術(shù)型決策支持,因此實時BI分析系統(tǒng)需求和建設(shè)應(yīng)運而生。
數(shù)據(jù)的實時性和查詢的頻繁性是實時BI分析系統(tǒng)的兩個重要特性,它成為了實時BI分析系統(tǒng)設(shè)計中的難點。 而對于實時數(shù)據(jù)倉庫領(lǐng)域的研究,最具有代表性的是以下兩個方面:
- 如何實時的對源系統(tǒng)中的變更數(shù)據(jù)進行抽取、轉(zhuǎn)換、清洗并加載到數(shù)據(jù)倉庫中。
- 如何解決好變更數(shù)據(jù)不間斷持續(xù)的更新集成和大規(guī)模頻繁的并發(fā)查詢之間的沖突。
大家所熟悉的IBM InfoSphere Change DataCapture (CDC)是一種準確而高效的數(shù)據(jù)復(fù)制工具,可以幫助我們輕松地獲取業(yè)務(wù)生產(chǎn)系統(tǒng)的增量數(shù)據(jù);而IBM InfoSphere DataStage 則是企業(yè)數(shù)據(jù)集成領(lǐng)域另一個專業(yè)而強大的ETL工具,可以高效批量處理海量數(shù)據(jù)。將CDC與DataStage進行集成,就能實現(xiàn)快速地把業(yè)務(wù)增量數(shù)據(jù),實時地按業(yè)務(wù)規(guī)則進行數(shù)據(jù)轉(zhuǎn)換和集成處理,把最終處理結(jié)果更新到目標的分析系統(tǒng)中。IBM CDC 與 DataStage 集成的方式有四種可選項,具體描述如下:
1、數(shù)據(jù)庫中轉(zhuǎn)
CDC從源數(shù)據(jù)庫系統(tǒng)捕獲增量交易數(shù)據(jù),復(fù)制到目標的數(shù)據(jù)庫表。然后,通過DataStage 抽取這些數(shù)據(jù)表數(shù)據(jù),進行轉(zhuǎn)換處理并加載到目標數(shù)據(jù)庫。
2、IBM MQ集成
CDC從源數(shù)據(jù)庫系統(tǒng)捕獲交易數(shù)據(jù)增量,并交送到 IBM MQ消息隊列中;MQ傳送這些數(shù)據(jù)到 DataStage作為它的數(shù)據(jù)輸入,然后進行轉(zhuǎn)換處理,最后把數(shù)據(jù)處理結(jié)果加載到目標數(shù)據(jù)庫。
3、基于文件
CDC從源數(shù)據(jù)庫系統(tǒng)捕獲交易數(shù)據(jù)增量,生成數(shù)據(jù)文件。DataStage讀取這些數(shù)據(jù)文件,然后進行數(shù)據(jù)轉(zhuǎn)換處理,并加載到目標數(shù)據(jù)庫。
4、直接連接
CDC從源數(shù)據(jù)庫系統(tǒng)捕獲交易數(shù)據(jù)增量,并傳送到目標端的DataStage服務(wù)器內(nèi)存,DataStage直接讀取這些數(shù)據(jù)文件,然后進行數(shù)據(jù)轉(zhuǎn)換處理,并加載到目標數(shù)據(jù)庫。
在上述的四種集成選項中,第3和第4種是被客戶使用得最多和最廣泛的選項,特別是針對需要對大量數(shù)據(jù)進行復(fù)雜邏輯轉(zhuǎn)換處理的系統(tǒng)實施(例如:實時數(shù)據(jù)倉庫系統(tǒng))。下面,我們給關(guān)心技術(shù)實施細節(jié)的朋友們作些說明。
在上圖中, CDC從源系統(tǒng)捕獲到增量數(shù)據(jù)后,經(jīng)過TCP/IP網(wǎng)絡(luò)傳送到目標 CDC for DataStage Agent,并產(chǎn)生數(shù)據(jù)文本文件(FlatFile);DataStage ETL工具抽取這些數(shù)據(jù)文件,進行 ETL處理,并加載到 ETL信息集成平臺系統(tǒng)的目標端。這種技術(shù)架構(gòu)的優(yōu)勢很明顯:
- 實現(xiàn)了源系統(tǒng)增量數(shù)據(jù)實時捕獲,并自動地產(chǎn)生數(shù)據(jù)文件,不受到DataStage ETL處理過程中出現(xiàn)的問題及故障干擾,及時地實現(xiàn)增量數(shù)據(jù)捕獲;
- 對應(yīng)產(chǎn)生的數(shù)據(jù)文件,用戶可靈活的處理,按需要發(fā)送到不同系統(tǒng)使用;
- 哪怕是ETL系統(tǒng)出現(xiàn)故障,也不用擔心源系統(tǒng)的增量數(shù)據(jù)來不及捕獲,后續(xù)要進行“馬拉松”式把漏掉的增量數(shù)據(jù)追回來。
上圖采用的 CDC 與 DataStage 連接方式,是把來源于 CDC捕獲的增量數(shù)據(jù),在DataStage ETL 服務(wù)器內(nèi)存中直接交付給DataStage進行后續(xù)的數(shù)據(jù)轉(zhuǎn)換處理,其特點是:
- 縮短了數(shù)據(jù)從源系統(tǒng)到達最終目標系統(tǒng)的時間,滿足用戶對高實時性業(yè)務(wù)開展的要求;
- 數(shù)據(jù)處理全過程中,避免數(shù)據(jù)中途“落地”所帶來I/O開銷;
- 處理的數(shù)據(jù)量是適中,原因是:如果太大的數(shù)據(jù)量,由于需要處理時間較長,出現(xiàn)故障機率高,會導(dǎo)致在故障排除其間,不能及時地捕獲源系統(tǒng)的增量數(shù)據(jù)。
CDC 與 DataStage 集成的安裝和配置如下:
1、CDC 與 DataStage 基于文件方式集成
產(chǎn)生的數(shù)據(jù)文件格式有兩種,如果選擇“Single Record”,那么對于 Update 交易操作,每一筆交易只產(chǎn)生一條記錄,把BeforeImage和AfterImage 信息合在一條記錄顯示;如果選擇“MultipleRecords”,那么對于Update 交易操作,每一筆交易會產(chǎn)生兩條記錄,分別記錄BeforeImage和AfterImage信息。
產(chǎn)生的數(shù)據(jù)文件大小,可在配置 CDC預(yù)訂過程中,指定合適的“Numberof Rows”和“Time(seconds)”。當記錄數(shù)達到“Numberof Rows”時,生成一個新的數(shù)據(jù)文件,如果記錄數(shù)沒達到指定數(shù)值,時間超過了指定數(shù)值,同樣也會觸發(fā)一個新的數(shù)據(jù)文件生成。這就實現(xiàn)了對數(shù)據(jù)文件大小的控制。
2、CDC 與 DataStage 基于直連方式集成
對于 CDC與 DataStage直接連接,DataStage ETL作業(yè)由 CDC預(yù)訂配置完成后自動生成,無需額外開發(fā),該作業(yè)配置上需要注意CDC_Transaction 和目標數(shù)據(jù)庫Stage的配置,涉及部分如下圖所描述:
總結(jié):
1、與傳統(tǒng)的 ETL、批量裝載、查詢或基于消息的系統(tǒng)不同,InfoSphereCDC 最初的設(shè)計目的就是提供可伸縮的高性能實時數(shù)據(jù)集成,盡可能降低延遲。InfoSphere CDC 獨特的變化數(shù)據(jù)捕捉技術(shù)能夠大大降低對運營性應(yīng)用程序性能的影響,這確保源系統(tǒng)上運行的重要應(yīng)用程序的性能不會受到嚴重影響。通過使用基于日志的CDC,就不需要修改數(shù)據(jù)庫、應(yīng)用程序、中間件、硬件或操作系統(tǒng)。
2、CDC 與 DataStage ETL工具無縫集成,可以輕松地處理大量企業(yè)數(shù)據(jù),同時保持事務(wù)的完整性和一致性。
3、IBM 有國內(nèi)有大型商業(yè)銀行、電信公司和龍頭制造業(yè)等客戶已使用該方案和技術(shù),并取得成功經(jīng)驗。
更多大數(shù)據(jù)與分析相關(guān)行業(yè)資訊、解決方案、案例、教程等請點擊查看>>>
詳情請咨詢在線客服!
客服熱線:023-66090381