資源描述:
《etl系統(tǒng)的研究與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、ETL系統(tǒng)的研究與實(shí)現(xiàn) (1.XX交通大學(xué)電子與信息學(xué)院,XX100044;2.河北工業(yè)大學(xué),天津300130)
摘要:文章介紹了ETL(Extract-Transform-Load)的實(shí)現(xiàn),其主要作用在于對(duì)各類業(yè)務(wù)數(shù)據(jù)進(jìn)行清理、標(biāo)準(zhǔn)化和匯總,為基于數(shù)據(jù)倉庫的決策分析應(yīng)用提供高質(zhì)量的數(shù)據(jù)。
關(guān)鍵詞:ETL;元數(shù)據(jù)管理;數(shù)據(jù)倉庫
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007—6921(XX)20—0082—01
隨著全球信息一體化建設(shè)步伐的不斷加快,越來越多的企業(yè)開始構(gòu)建自己的數(shù)據(jù)倉庫系統(tǒng),希望能對(duì)歷史數(shù)據(jù)進(jìn)行具體而又有針對(duì)性的
2、分析與挖掘,以期從中發(fā)現(xiàn)客戶新的需求和新客戶。同時(shí),很多企業(yè)開始提供整套的數(shù)據(jù)倉庫解決方案,包括ETL工具。
1ETL系統(tǒng)分析
本文所設(shè)計(jì)的ETL工具對(duì)存在于不同平臺(tái)上的異構(gòu)數(shù)據(jù)源進(jìn)行抽取,然后把數(shù)據(jù)緩沖到內(nèi)存中按照用戶定義的規(guī)則進(jìn)行轉(zhuǎn)換,最后把轉(zhuǎn)換好的數(shù)據(jù)加載到目標(biāo)數(shù)據(jù)庫中,主要從以下幾個(gè)方面進(jìn)行考慮:
1.1對(duì)多種數(shù)據(jù)源的支持
目前,市場(chǎng)上存在著各種各樣的數(shù)據(jù)源,主要包括以下幾種:SqlServer等數(shù)據(jù)庫,XML文件,Excel文件等。所以在設(shè)計(jì)ETL工具時(shí),要考慮讓它盡可能的支持多種數(shù)據(jù)源。
1.2可擴(kuò)展性和可集成性
可擴(kuò)展
3、性主要是考慮到該軟件的應(yīng)用擴(kuò)展,這要求對(duì)整個(gè)系統(tǒng)進(jìn)行模塊化設(shè)計(jì),可以根據(jù)需求動(dòng)態(tài)擴(kuò)展新的應(yīng)用模塊,并且新增模塊不影響原來模塊的使用,盡量減少系統(tǒng)的耦合??杉尚灾饕紤]很多應(yīng)用需要把ETL工具嵌入到各自的應(yīng)用系統(tǒng)中,所以在設(shè)計(jì)ETL的時(shí)候,應(yīng)對(duì)整個(gè)系統(tǒng)的各個(gè)模塊接口進(jìn)行充分考慮,盡可能讓各個(gè)接口進(jìn)行參數(shù)化調(diào)用。
2ETL系統(tǒng)設(shè)計(jì)
2.1軟件系統(tǒng)架構(gòu)設(shè)計(jì)
軟件系統(tǒng)架構(gòu)如圖1所示:
740)this.width=740"border=undefined>
圖1中,ETL工具把源數(shù)據(jù)和目標(biāo)數(shù)據(jù)庫分開,工具從左邊的數(shù)據(jù)源抽取數(shù)據(jù),然后清洗、轉(zhuǎn)換、加載到右邊
4、的目標(biāo)數(shù)據(jù)庫。首先,ETL工具掃描數(shù)據(jù)源和目標(biāo)數(shù)據(jù)庫的體系結(jié)構(gòu)信息,并存儲(chǔ)在元數(shù)據(jù)庫中;用戶在定義ETL規(guī)則時(shí),系統(tǒng)從元數(shù)據(jù)庫中取得數(shù)據(jù)源和目標(biāo)數(shù)據(jù)庫的體系結(jié)構(gòu)信息,用戶在規(guī)則定義界面中進(jìn)行簡單拖放操作建立從源到目的的字段映像,再定義流程中的清洗、轉(zhuǎn)換規(guī)則和加載規(guī)則,定義完成后把規(guī)則保存在元數(shù)據(jù)庫中;當(dāng)用戶選擇一個(gè)已經(jīng)定義好的ETL工作,并執(zhí)行時(shí),系統(tǒng)從元數(shù)據(jù)庫中取得該ETL工作的抽取、清洗、轉(zhuǎn)換、加載規(guī)則,并進(jìn)行解析、分配到不同的線程中;當(dāng)數(shù)據(jù)處理完畢后,把本次的作業(yè)執(zhí)行統(tǒng)計(jì)信息保存到元數(shù)據(jù)庫中。
系統(tǒng)分為三大模塊,分別為:元數(shù)據(jù)管理、用戶接口、執(zhí)行服
5、務(wù)器。元數(shù)據(jù)管理的主要作用就是掃描數(shù)據(jù)源和目標(biāo)數(shù)據(jù)庫的體系結(jié)構(gòu)信息以及存儲(chǔ)用戶定義的ETL規(guī)則,管理元數(shù)據(jù)庫中的元數(shù)據(jù)。用戶接口和執(zhí)行服務(wù)器相互獨(dú)立,它們之間的邏輯關(guān)系通過元數(shù)據(jù)庫進(jìn)行關(guān)聯(lián),所以用戶接口和執(zhí)行服務(wù)器可以分開設(shè)計(jì)和實(shí)現(xiàn)。
2.2網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
網(wǎng)絡(luò)架構(gòu)如圖2所示:
740)this.width=740"border=undefined>
從圖2中,我們可以看出系統(tǒng)的三大模塊可以分布于不同的機(jī)器上,甚至可以分布在不同的網(wǎng)絡(luò)中,而且可以有多個(gè)客戶端用戶。在數(shù)據(jù)抽取、加載方面,由于ADO.NET具有穿透防火墻的能力,
6、所以,源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫可以分布在不同的網(wǎng)絡(luò)中。
3總結(jié)
ETL在數(shù)據(jù)倉庫構(gòu)建過程中的角色,決定了它在商業(yè)領(lǐng)域有非常大的市場(chǎng)空間。在技術(shù)領(lǐng)域,ETL必須能夠適應(yīng)各種復(fù)雜的應(yīng)用環(huán)境,具有全面的功能和高的工作效率,并方便用戶使用。今天,越來越多的企業(yè)正在構(gòu)建數(shù)據(jù)倉庫來滿足其戰(zhàn)略決策需要,而采用ETL工具進(jìn)行數(shù)據(jù)集成,也已成為企業(yè)實(shí)施數(shù)據(jù)倉庫項(xiàng)目的首選方案。
[參考文獻(xiàn)]
?。?]樓偉進(jìn)等數(shù)據(jù)倉庫與知識(shí)發(fā)現(xiàn)[J]計(jì)算機(jī)工程與應(yīng)用,2000,(10).
?。?]柳鶯,等數(shù)據(jù)倉庫技術(shù)研究和應(yīng)用探討[J]計(jì)算機(jī)應(yīng)用,2001,(2).
?。?/p>
7、3](美)貝爾松(Berson,A),等數(shù)據(jù)倉庫、數(shù)據(jù)發(fā)掘和聯(lián)機(jī)分析處理[M]世界圖書出版公司.