新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于可復(fù)用構(gòu)件思想的ETL架構(gòu)設(shè)計

基于可復(fù)用構(gòu)件思想的ETL架構(gòu)設(shè)計

作者: 時間:2010-05-08 來源:網(wǎng)絡(luò) 收藏
數(shù)據(jù)倉庫的數(shù)據(jù)來源常包含著噪聲數(shù)據(jù)、不完整數(shù)據(jù)、甚至是不一致的數(shù)據(jù)。為了得到高質(zhì)量的數(shù)據(jù),必須對抽取(Extract)出來的原始數(shù)據(jù)做一系列復(fù)雜轉(zhuǎn)換(Transform)處理,最后裝載(Load)到數(shù)據(jù)倉庫中。這種從原始數(shù)據(jù)到數(shù)據(jù)倉庫之間,對數(shù)據(jù)進行的操作稱為過程,其工作量大約占系統(tǒng)的60%,實現(xiàn)過程的效率和質(zhì)量很大程度上決定了數(shù)據(jù)倉庫系統(tǒng)的構(gòu)建效率和質(zhì)量。目前研究過程都是集中于個案的研究,強調(diào)ETL系統(tǒng)的可擴展性和靈活性,對于如何在類相似或相近的數(shù)據(jù)倉庫項目中共享ETL過程的研究則很少,很大程度上阻礙了數(shù)據(jù)倉庫項目建設(shè)效率的進一步提高。如何在一類相似或相近的數(shù)據(jù)倉庫項目中發(fā)現(xiàn)其共同特征、知識和需求,使得ETL過程可以在這些數(shù)據(jù)倉庫項目中被反復(fù)使用,大幅度提高實現(xiàn)ETL過程的效率,從而提高數(shù)據(jù)倉庫構(gòu)建的效率,研究該問題具有一定理論意義及實用價值。

基于此,這里研究了基于的思想,設(shè)計并實現(xiàn)了可重用的ETL架構(gòu),經(jīng)北京銀聯(lián)、江蘇銀聯(lián)、浙江銀聯(lián)籌10家銀聯(lián)省級分公司的數(shù)據(jù)倉庫項目實際應(yīng)用,表明該架構(gòu)是有效的。

1 基于思想的ETL

1.1 設(shè)計思想

基于技術(shù)的軟件復(fù)用提倡以已有的工作為基礎(chǔ),充分利用過去工作中積累的知識和經(jīng)驗,將已經(jīng)辨識的具有相對獨立功能的構(gòu)件應(yīng)用于新系統(tǒng)的開發(fā),保證新系統(tǒng)開發(fā)的過程中,能夠?qū)⒅攸c集中于辨識和實現(xiàn)應(yīng)用系統(tǒng)特有的構(gòu)成成分,最終縮短系統(tǒng)開發(fā)周期,提高系統(tǒng)的質(zhì)量。

基于構(gòu)件技術(shù)的軟件復(fù)用的核心思想包括如下幾個方面:

(1)構(gòu)件化設(shè)計。通過系統(tǒng)地分析一類相似或相近的數(shù)據(jù)倉庫項目,識別出其共同特征和可變特征,并對這些特征進行抽象,形成領(lǐng)域分析模型,并據(jù)此進一步識別出的構(gòu)件。

(2)層次化設(shè)計。層次化設(shè)計可以提高系統(tǒng)的可擴展性和可維護性。通過層次化設(shè)計可以將所有識別的構(gòu)件按一定的規(guī)則(如抽象級別、處理對象和處理的功能)分類管理,然后以分層的形式來組織,進而確定不同層構(gòu)件之間的交互方式,保證每個構(gòu)件的變化只涉及它的鄰近兩層的相關(guān)構(gòu)件,實現(xiàn)系統(tǒng)一定程度上的開放性。

(3)接口化設(shè)計。不同層次的構(gòu)件之間需要溝通,溝通需要規(guī)范,通過規(guī)范的接口可實現(xiàn)構(gòu)件之間溝通的規(guī)范化。接口只制定規(guī)范,具體實現(xiàn)交由構(gòu)件內(nèi)部完成。接口化設(shè)計將構(gòu)件的差異放到實現(xiàn)階段,而不是在設(shè)計階段,使得設(shè)計階段可以致力于軟件的完整性和復(fù)用性,使得不同系統(tǒng)之間處理的差異通過替換構(gòu)件而無需變動架構(gòu)就可得到解決。

1.2 ETL架構(gòu)模型設(shè)計

基于構(gòu)件思想的ELT架構(gòu)(如圖1所示)主要分成基礎(chǔ)服務(wù)層、抽取層、集成轉(zhuǎn)換層、特殊處理層四個層次,每個層次的功能如下所述。



1.2.1 抽取層

抽取層構(gòu)件位于ETL架構(gòu)的最底層,直接面對數(shù)據(jù)源,完成數(shù)據(jù)抽取階段的工作。鑒于數(shù)據(jù)倉庫數(shù)據(jù)源差異性大的特點,這個層的ETL構(gòu)件在不同數(shù)據(jù)倉庫間差異很大,可重用程度總體上比較低。

1.2.2集成轉(zhuǎn)換層

集成轉(zhuǎn)換層構(gòu)件主要將抽取層抽取的數(shù)據(jù)轉(zhuǎn)換成格式規(guī)范、含義統(tǒng)一、質(zhì)量良好的數(shù)據(jù),并集成到數(shù)據(jù)倉庫中。由于是在兩個層接口構(gòu)件之間,所以集成轉(zhuǎn)換層構(gòu)件的輸入和輸出都要滿足層間接口構(gòu)件的約定,在相似數(shù)據(jù)倉庫項目之間的差異主要體現(xiàn)在業(yè)務(wù)處理規(guī)則上。集成轉(zhuǎn)換層為每類數(shù)據(jù)對象提供一類ETL處理構(gòu)件,同層構(gòu)件之間相對獨立,通過抽象各個相似數(shù)據(jù)倉庫項目業(yè)務(wù)規(guī)則,將其封裝在構(gòu)件內(nèi),保證ETL架構(gòu)在相似數(shù)據(jù)倉庫之間移植時,只要通過配置業(yè)務(wù)規(guī)則,ETL構(gòu)件即可投入使用。

1.2.3特殊處理層

為了保證后續(xù)功能開發(fā)者可以將注意力放在功能關(guān)注的指標(biāo)上,而不要關(guān)心指標(biāo)的具體口徑,更不要擔(dān)心指標(biāo)口徑變化和指標(biāo)口徑在相似數(shù)據(jù)倉庫項目之間的差異對功能移植造成不利影響,在集成轉(zhuǎn)換層構(gòu)件處理的基礎(chǔ)上,專門增加了特殊處理層,負(fù)責(zé)將數(shù)據(jù)倉庫中按流水交易形式組織的數(shù)據(jù)換算成按KPI組織的形式。

1.2.4 基礎(chǔ)服務(wù)層

為了給ETL提供一個相對穩(wěn)定和靈活的架構(gòu),在元數(shù)據(jù)管理的構(gòu)件識別的基礎(chǔ)上引入了基礎(chǔ)服務(wù)層,擴展了傳統(tǒng)意義上的元數(shù)據(jù)管理的功能,包含元數(shù)據(jù)管理構(gòu)件、層間接口構(gòu)件、KPI自動測試構(gòu)件三大類:這些構(gòu)件構(gòu)成了ETL基礎(chǔ)和骨架,為系統(tǒng)的穩(wěn)定性和適應(yīng)性奠定了基礎(chǔ)。

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉