ETL實時同步方案_第1頁
ETL實時同步方案_第2頁
ETL實時同步方案_第3頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、為InfoSphere Warehouse提供實時數(shù)據(jù)的高效解 決方案簡介信息是現(xiàn)代企業(yè)的重要資源,是企業(yè)運用科學(xué)管理、決策分析的基礎(chǔ),于是 企業(yè)如何通過各種技術(shù)手段,并把數(shù)據(jù)轉(zhuǎn)換為信息、知識,已經(jīng)成了提高其核心 競爭力的主要瓶頸。而ETL則是一個主要的技術(shù)手段。ETL (數(shù)據(jù)的提取、轉(zhuǎn)換和 加載)過程的設(shè)計和實現(xiàn)是數(shù)據(jù)倉庫解決方案中極其重要的一部分。由于傳統(tǒng)的 ETL過程中數(shù)據(jù)抽取是需要加載所有源數(shù)據(jù)庫中的數(shù)據(jù),這樣對于需要經(jīng)常進(jìn)行數(shù) 據(jù)集中的案例,將帶來無可忍受的低效率。例如一個有50G數(shù)據(jù)量的數(shù)據(jù)庫,如 果只有0.01% (也就是大約50M)的數(shù)據(jù)較上次加載有更新,但是為了抽取這部分 數(shù)

2、據(jù),仍然需要抽取所有50G的數(shù)據(jù),這將是非常低效的。在這篇文章中,我們 將介紹通過結(jié)合 InfoSphere Replication Server 和 InfoSphere DataStage,實 現(xiàn)數(shù)據(jù)倉庫的實時更新,并且僅僅需要抽取更新了的數(shù)據(jù)。ETL過程簡介ETL過程就是數(shù)據(jù)流動的過程,從不同的數(shù)據(jù)源流向不同的LI標(biāo)數(shù)據(jù)集中 地。它是構(gòu)建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清 洗,最終按照預(yù)先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中。它包涵三 個階段:E (Extract) , T (Transform)和 L (Load)。提取(Extract):從不同的數(shù)據(jù)

3、庫(DB2, oracle, flat file等)中讀取 源數(shù)據(jù)。通過接口提取源數(shù)據(jù),例如ODBC、專用數(shù)據(jù)庫接口和平面文件提取器, 并參照元數(shù)據(jù)來決定數(shù)據(jù)的提取及其提取方式。轉(zhuǎn)換(Transform):開發(fā)者將提取的數(shù)據(jù),按照業(yè)務(wù)需要轉(zhuǎn)換為U標(biāo)數(shù)據(jù)結(jié) 構(gòu),并實現(xiàn)匯總。裝載(Load):加載經(jīng)轉(zhuǎn)換和匯總的數(shù)據(jù)到LI標(biāo)數(shù)據(jù)倉庫中,可實現(xiàn)SQL或 批量加載。InfoSphere Replication Server 簡介IBM InfoSphere Replication Server是一個i島速移動大量數(shù)據(jù)的企業(yè)軟件 應(yīng)用程序,用于幫助企業(yè)連接分布在全球的業(yè)務(wù)、對客戶進(jìn)行快速響應(yīng)以及從影 響關(guān)

4、鍵數(shù)據(jù)庫系統(tǒng)的問題中恢復(fù)。只所以能夠高效的提取數(shù)據(jù)是因為它用可恢復(fù)日 志來記錄數(shù)據(jù)庫里數(shù)據(jù)的變化,Capture程序負(fù)責(zé)連續(xù)讀取數(shù)據(jù)庫的恢復(fù)日志并 捕獲對源數(shù)據(jù)庫更改(指對數(shù)據(jù)的插入、刪除和更新操作),Apply程序負(fù)責(zé)把這 些變化的數(shù)據(jù)寫入到LI標(biāo)數(shù)據(jù)庫中。利用Replication Server的這一功能就可從 大量的數(shù)據(jù)量中只提取出較上次更新的數(shù)據(jù)。Replica tion Server 和 Eve nt publisher 的架構(gòu)InfoSphere Replication Server中提供了兩種不同類型的復(fù)制:Q復(fù)制和 SQL復(fù)制。InfoSphere Data Event Pub

5、lisher捕獲"更改的數(shù)據(jù)"事件并以 WebSphere MQ消息的形式發(fā)布這些事件,其他應(yīng)用程序可以使用這些消息來驅(qū)動 后續(xù)處理。SQL復(fù)制Capture捕獲數(shù)據(jù)變化后存儲在一個臨時中間表(staging tables) , apply 程序把這些更新復(fù)制到相應(yīng)的LI標(biāo)表。隨著數(shù)據(jù)量的加大和客戶對實時數(shù)據(jù)復(fù)制的 要求,Q復(fù)制應(yīng)運而生。它的架構(gòu)如圖1所示:圖1. SQL復(fù)制架構(gòu)圖Q復(fù)制一個高喬吐量低延遲的方案,它不用中間表來存儲已經(jīng)提交的事務(wù)性數(shù)據(jù), 而是捕獲對源表的更改并將已提交的數(shù)據(jù)轉(zhuǎn)換為消息,即用WebShpere MQ消息隊 列在源和LI標(biāo)數(shù)據(jù)庫間傳送數(shù)據(jù)。它的架

6、構(gòu)如圖2所示:圖2Q復(fù)制架構(gòu)圖T<wget set vets查看原圖(大圖)Event publisher (EP)不同于Q復(fù)制,EP不需要啟動apply程序,捕獲對源表的更改并將已落實 的事務(wù)性數(shù)據(jù)轉(zhuǎn)換為“可擴(kuò)展標(biāo)記語言”(XML)格式或定界格式(CSV: comma- separated value)的消息,以供用戶直接從接受隊列讀取消息。在本文中,我們 將利用EP的這個特點和DataStage整合為數(shù)據(jù)倉庫提供實時高效的數(shù)據(jù)。它的 構(gòu)架如圖3所示:圖3. EP架構(gòu)圖查看原圖(大圖)IBM InfoSphere DataStage 簡介IBM InfoSphere DataStage

7、是一款強(qiáng)大的基于圖形化界面的ETL工具,它 可以從多個不同的業(yè)務(wù)系統(tǒng),多個平臺的數(shù)據(jù)源中抽取數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)、裝載數(shù)據(jù) 到各種目標(biāo)系統(tǒng)中。它有如下特點:基于圖形化的開發(fā)環(huán)境,無需手工編碼便可快速開發(fā)ETL作業(yè),實現(xiàn)復(fù)雜的 數(shù)據(jù)合并和轉(zhuǎn)換邏輯。并且可以在開發(fā)新的作業(yè)時快捷的重用已有作業(yè)中的邏輯。支持廣泛的數(shù)據(jù)源。DataStage兒乎支持所有的主流的數(shù)據(jù)庫、企業(yè)級應(yīng)用 程序、文件作為數(shù)據(jù)源進(jìn)行讀取或?qū)懭霐?shù)據(jù)。例如:DB2、Oracle、SQL Server. Un辺ata、Informix> PeopleSoft、SAP、Siebel、順序文件(如 CSV)、XML 文件 等等。它也支持以多

8、種常用的方式進(jìn)行數(shù)據(jù)讀取和寫入,例如FTP、SFTP、JMS等 等。強(qiáng)大的并行處理能力,能夠?qū)?shù)據(jù)通過分割、管道等方式進(jìn)行處理,提高硬 件的使用效率,從而提高作業(yè)的性能。支持對數(shù)據(jù)進(jìn)行批量和實時處理操作。InfoSphere Replication Server 和 InfoSphere DataStage 的整合DataStage可以讀取在不同數(shù)據(jù)庫中數(shù)據(jù),但是沒有能力通過讀取可恢復(fù)日 志只捕獲較上次更新的數(shù)據(jù):另一方面,Replication Server有能力捕獲更新的 數(shù)據(jù)卻沒有類似DataStage轉(zhuǎn)換數(shù)據(jù)的功能,并且不像DataStage,支持對如此 多的數(shù)據(jù)庫,企業(yè)級應(yīng)用程序和文

9、件進(jìn)行讀寫。所以本文將結(jié)合兩者的優(yōu)勢,為 Warehouse提供實時高效的數(shù)據(jù),整合原理首先,利用 Replication Server 的 Event Publisher (EP) , Q capture 從可恢復(fù)日志中捕獲更新的數(shù)據(jù),并且把數(shù)據(jù)變化寫到MQ隊列中;接著,MQ消 息通過MQ觸發(fā)器觸發(fā)了 DataStage作業(yè);最后,DataStage的作業(yè)從MQ隊列 里直接讀取數(shù)據(jù)進(jìn)行處理。EP支持兩種類型的MQ消息:XML和CSV, XML格式有好的移植性和靈活性 而CSV有很好的性能,在這里我們將以CSV作為樣例。DataStage可以通過使用 MQ Connector stage讀取隊

10、列中的消息,然后基于所選的消息格式來解析消息, 最后完成必要的轉(zhuǎn)換。具體的架構(gòu)圖如圖4所示:圖4.總體架構(gòu)圖下面將具體介紹其實現(xiàn)。具體實現(xiàn)所需軟件:IBM InfoSphere Replication Server 9. 7IBM InfoSphere Information Server 8. 1Event Publisher 的配置如果 source 是 Oracle, 需要通過 Replication Server Oracle capture feature來完成對變化數(shù)據(jù)的提取,請參考“參考資料”部分。在本文中,我們 source 以 DB2 為例:1. 創(chuàng)建DB2對象在本文中創(chuàng)建數(shù)

11、據(jù)庫SOURCE,和表” DEMO” CUSTOMER",并import數(shù)清單1.創(chuàng)建表及導(dǎo)入數(shù)據(jù)CREATE TABLE ”DEMO". "CUSTOMER"( "CUSTOMER_ID" INTEGER NOT NULL , "SEX" CHAR(l),"BIRTHDAY" TIMESTAMP ,"SSN" VARCHAR(30),"CITY" VARCHAR(25),"STATE" VARCHAR(25),"ZIP&qu

12、ot; VARCHAR(15),"PHONE” VARCHAR(15),"PRI_LANGUAGE” VARCHAR(15),"LAST_UPDATE" TIMESTAMP ,"FIRST_NAME” VARCHAR(20),"MIDDLE_NAME” VARCHAR(10),"LAST_NAME" VARCHAR(20);CCUSTOMER_ID);ALTER TABLE "DEMO "."CUSTOMER" ADD PRIMARY KEYDB2 import from c

13、ustomer, ixf of ixf insert into ” DEMO” . ” CUSTOMER”2. 創(chuàng)建MQ對象創(chuàng)建Q manager: crtmqm QManager啟動Q manager: strmqm QManager創(chuàng)建隊列 :runmqsc QMamanger < mq. in清單2.創(chuàng)建MQ對象define qlocal (ADMINQ)define qlocal (RESTARTQ)define qlocal (ql)define qmodel (IBMQREP. SPILL. MODELQ) DEFSOPT(shared)MAXDEPTH(500000) MSGDLVSQ(f辻o) DEFTYPE(permdyn)mcauser (' mqm,)port (2264)define channel(CHANNEL1) chitype(svrconn) trptype(tcp) define listener(listenerl) trptype(tcp) control(qmgr) start listener (listenerl)end3. setup Event Publisher3. 1 倉ij建 control tables: asnclp - f cncap in清單3.創(chuàng)建控制表asnclp session set

溫馨提示

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

評論

0/150

提交評論