數(shù)據(jù)集成是信息系統(tǒng)集成的基礎(chǔ),它是把不同來源、格式和質(zhì)量的數(shù)據(jù)通過邏輯或物理的方法集中到同質(zhì)數(shù)據(jù)環(huán)境中,實現(xiàn)企業(yè)級數(shù)據(jù)的全面共享。通常采用數(shù)據(jù)聯(lián)邦、基于ETL和數(shù)據(jù)倉庫以及基于SOA(面向服務(wù)架構(gòu))等方法來實現(xiàn)數(shù)據(jù)集成。
數(shù)據(jù)聯(lián)邦
數(shù)據(jù)聯(lián)邦是把不同分布的數(shù)據(jù)源整合產(chǎn)生出虛擬數(shù)據(jù)源或者數(shù)據(jù)服務(wù)(Data Service)的過程。整合后的數(shù)據(jù)可以被看作一個單一數(shù)據(jù)源,提供統(tǒng)一的訪問方法(包括JDBC,ODBC,NFS,SOAP)。數(shù)據(jù)聯(lián)邦具有很大的靈活性,能整合異構(gòu)數(shù)據(jù)庫,并可集成來自非關(guān)系型數(shù)據(jù)源(如電子郵件和文本文件)的數(shù)據(jù)。此外,數(shù)據(jù)的聯(lián)邦式視圖構(gòu)建起來比數(shù)據(jù)倉庫更快,更易于修改。但其缺點在于不適合大批量數(shù)據(jù)。
基于ETL和數(shù)據(jù)倉庫
ETL通過數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)裝載的連續(xù)操作,將不同來源、不同格式的數(shù)據(jù)抽取到數(shù)據(jù)倉庫的ODS ( Operational Data Store)層,經(jīng)過轉(zhuǎn)換,加載存儲到星型結(jié)構(gòu)的DW (Data Warehouse)層,再向關(guān)系型數(shù)據(jù)庫或多維數(shù)據(jù)庫進(jìn)一步匯總加載,以滿足不同主題的展現(xiàn)應(yīng)用。這種方法實現(xiàn)了對跨平臺、多系統(tǒng)數(shù)據(jù)的高效集成。但其缺點在于傳統(tǒng)ETL和數(shù)據(jù)倉庫基本上不具備實時處理能力,其數(shù)據(jù)抽取操作以定時方式從業(yè)務(wù)系統(tǒng)中抽取。
基于SOA
SOA是指為了解決在Internet環(huán)境下系統(tǒng)集成的需要,通過連接能完成特定任務(wù)的獨立功能實體實現(xiàn)的一種軟件系統(tǒng)架構(gòu)。SOA是一個組件模型,它將企業(yè)中各個系統(tǒng)應(yīng)用程序的不同功能單元抽象為服務(wù),通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。典型的SOA實現(xiàn)(如圖1所示)包含多個層次,限于篇幅,詳細(xì)介紹見相關(guān)參考文獻(xiàn)。
基于SOA的集成方法采用基于元數(shù)據(jù)和開放標(biāo)準(zhǔn)的共享服務(wù)方式,通過可重用設(shè)計和統(tǒng)一的方法實現(xiàn)數(shù)據(jù)的訪問、集成和提交。其具備廣泛的連接性,支持多種類型、結(jié)構(gòu)和來源的企業(yè)數(shù)據(jù)集成,并且具備面向異構(gòu)IT環(huán)境變化的應(yīng)變能力。