登錄

數(shù)據(jù)集成

百科 > 信息管理術(shù)語 > 數(shù)據(jù)集成

1.數(shù)據(jù)集成概述[1]

大型企業(yè)和政府部門的信息化而言,信息系統(tǒng)建設(shè)通常具有階段性和分布性的特點,這就導(dǎo)致“信息孤島”現(xiàn)象的存在?!?a href="/wiki/%E4%BF%A1%E6%81%AF%E5%AD%A4%E5%B2%9B" title="信息孤島">信息孤島”是指不同軟件間,尤其是不同部門間的數(shù)據(jù)信息不能共享,造成系統(tǒng)中存在大量冗余數(shù)據(jù)、垃圾數(shù)據(jù),無法保證數(shù)據(jù)的一致性,嚴重地阻礙了企業(yè)信息化建設(shè)的整體進程。為解決這一問題,人們開始關(guān)注數(shù)據(jù)集成研究。

數(shù)據(jù)集成就是將若干個分散的數(shù)據(jù)源中的數(shù)據(jù),邏輯地或物理地集成到一個統(tǒng)一的數(shù)據(jù)集合中。數(shù)據(jù)集成的核心任務(wù)是要將互相關(guān)聯(lián)的分布式異構(gòu)數(shù)據(jù)源集成到一起,使用戶能夠以透明的方式訪問這些數(shù)據(jù)源。集成是指維護數(shù)據(jù)源整體上的數(shù)據(jù)一致性、提高信息共享利用的效率;透明的方式是指用戶無需關(guān)心如何實現(xiàn)對異構(gòu)數(shù)據(jù)源數(shù)據(jù)的訪問,只關(guān)心以何種方式訪問何種數(shù)據(jù)。實現(xiàn)數(shù)據(jù)集成的系統(tǒng)稱作數(shù)據(jù)集成系統(tǒng)(見下圖),它為用戶提供統(tǒng)一的數(shù)據(jù)源訪問接口,執(zhí)行用戶對數(shù)據(jù)源的訪問請求。

Image:數(shù)據(jù)集成系統(tǒng)模型.jpg

數(shù)據(jù)集成的數(shù)據(jù)源主要指DBMS,廣義上也包括各類XML文檔、HTML文檔、電子郵件、普通文件等結(jié)構(gòu)化、半結(jié)構(gòu)化信息。數(shù)據(jù)集成是信息系統(tǒng)集成的基礎(chǔ)和關(guān)鍵。好的數(shù)據(jù)集成系統(tǒng)要保證用戶以低代價、高效率使用異構(gòu)的數(shù)據(jù)。要實現(xiàn)這個目標(biāo),必須解決數(shù)據(jù)集成中的~些難題。

數(shù)據(jù)集成的難點可以歸納為以下主要方面:

1)異構(gòu)性。被集成的數(shù)據(jù)源通常是獨立開發(fā)的,數(shù)據(jù)模型異構(gòu),給集成帶來很大困難。這些異構(gòu)性主要表現(xiàn)在:數(shù)據(jù)語義、相同語義數(shù)據(jù)的表達形式、數(shù)據(jù)源的使用環(huán)境等。

2)分布性。數(shù)據(jù)源是異地分布的,依賴網(wǎng)絡(luò)傳輸數(shù)據(jù),這就存在網(wǎng)絡(luò)傳輸?shù)男阅芎桶踩缘葐栴}。

3)自治性。各個數(shù)據(jù)源有很強的自治性,它們可以在不通知集成系統(tǒng)的前提下改變自身的結(jié)構(gòu)和數(shù)據(jù),給數(shù)據(jù)集成系統(tǒng)的魯棒性提出挑戰(zhàn)。

數(shù)據(jù)源的異構(gòu)性一直是困擾很多數(shù)據(jù)集成系統(tǒng)的核心問題,也是人們在數(shù)據(jù)集成方面研究的熱點。異構(gòu)性的難點主要表現(xiàn)在語法異構(gòu)和語義異構(gòu)上。語法異構(gòu)一般指源數(shù)據(jù)和目的數(shù)據(jù)之間命名規(guī)則及數(shù)據(jù)類型存在不同。對數(shù)據(jù)庫而言,命名規(guī)則指表名和字段名。語法異構(gòu)相對簡單,只要實現(xiàn)字段到字段、記錄到記錄的映射,解決其中的名字沖突和數(shù)據(jù)類型沖突。這種映射都很直接,比較容易實現(xiàn)。因此,語法異構(gòu)無需關(guān)心數(shù)據(jù)的內(nèi)容和含義,只要知道數(shù)據(jù)結(jié)構(gòu)信息,完成源數(shù)據(jù)結(jié)構(gòu)到目的數(shù)據(jù)結(jié)構(gòu)之間的映射就可以了。

當(dāng)數(shù)據(jù)集成要考慮數(shù)據(jù)的內(nèi)容和含義時,就進入到語義異構(gòu)的層次上。語義異構(gòu)要比語法異構(gòu)復(fù)雜的多,它往往是需要破壞字段的原子性,即需要直接處理數(shù)據(jù)內(nèi)容。常見的語義異構(gòu)包括以下一些方式:字段拆分、字段合并、字段數(shù)據(jù)格式變換、記錄間字段轉(zhuǎn)移等。語法異構(gòu)和語義異構(gòu)的區(qū)別可以追溯到數(shù)據(jù)源建模時的差異:當(dāng)數(shù)據(jù)源的實體關(guān)系模型相同,只是命名規(guī)則不同時,造成的只是數(shù)據(jù)源之間的語法異構(gòu);當(dāng)數(shù)據(jù)源構(gòu)建實體模型時,若采用不同的粒度劃分、不同的實體間關(guān)系以及不同的字段數(shù)據(jù)語義表示,必然會造成數(shù)據(jù)源間的語義異構(gòu),給數(shù)據(jù)集成帶來很大麻煩。

事實上,現(xiàn)實中數(shù)據(jù)集成系統(tǒng)的語法異構(gòu)現(xiàn)象是普遍存在的。上面提到的幾種語法異構(gòu)屬于較為規(guī)則的語法異構(gòu),可以用特定的映射方法解決這些問題。還有一些不常見或不易被發(fā)現(xiàn)的語法異構(gòu),例如數(shù)據(jù)源在構(gòu)建時隱含了一些約束信息,在數(shù)據(jù)集成時,這些約束不易被發(fā)現(xiàn),往往會造成錯誤的產(chǎn)生。如某個數(shù)據(jù)項用來定義月份,隱含著其值只能在1~12之間,而集成時如果忽略了這一約束,很可能造成荒謬的結(jié)果。此外,復(fù)雜的關(guān)系模型也會造成很多語義異構(gòu)現(xiàn)象。

2.數(shù)據(jù)集成的分類[2]

數(shù)據(jù)集成可以分為下述4個層次。

1.基本數(shù)據(jù)集成

基本數(shù)據(jù)集成面臨的問題很多。

通用標(biāo)識符問題是數(shù)據(jù)集成時遇到的最難的問題之一。由于同一業(yè)務(wù)實體存在于多個系統(tǒng)源中,并且沒有明確的辦法確認這些實體是同一實體時,就會產(chǎn)生這類問題。處理該問題的辦法如下。

(1)隔離。保證實體的每次出現(xiàn)都指派一個唯一標(biāo)識符。

(2)調(diào)和。確認哪些實體是相同的,并且將該實體的各次出現(xiàn)合并起來。

當(dāng)目標(biāo)元素有多個來源時,指定某一系統(tǒng)在沖突時占主導(dǎo)地位。

數(shù)據(jù)丟失問題是最常見的問題之一,一般解決的辦法是為丟失的數(shù)據(jù)產(chǎn)生一個非常接近實際的估計值來進行處理。

2.多級視圖集成

多級視圖機制有助于對數(shù)據(jù)源之間的關(guān)系進行集成:底層數(shù)據(jù)表示方式為局部模型的局部格式,如關(guān)系和文件;中間數(shù)據(jù)表示為公共模式格式,如擴展關(guān)系模型或?qū)ο竽P?;高級?shù)據(jù)表示為綜合模型格式。

視圖的集成化過程為兩級映射:

(1)數(shù)據(jù)從局部數(shù)據(jù)庫中,經(jīng)過數(shù)據(jù)翻譯、轉(zhuǎn)換并集成為符合公共模型格式的中間視圖。

(2)進行語義沖突消除、數(shù)據(jù)集成和數(shù)據(jù)導(dǎo)出處理,將中間視圖集成為綜合視圖。

3.模式集成

模型合并屬于數(shù)據(jù)庫設(shè)計問題,其設(shè)計的好壞常視設(shè)計者的經(jīng)驗而定,在實際應(yīng)用中很少有成熟的理論指導(dǎo)。

實際應(yīng)用中,數(shù)據(jù)源的模式集成和數(shù)據(jù)庫設(shè)計仍有相當(dāng)?shù)牟罹啵缒J郊蓵r出現(xiàn)的命名、單位、結(jié)構(gòu)和抽象層次等沖突問題,就無法照搬模式設(shè)計的經(jīng)驗。

在眾多互操作系統(tǒng)中,模式集成的基本框架如屬性等價、關(guān)聯(lián)等價和類等價可最終歸于屬性等價。

4.多粒度數(shù)據(jù)集成

多粒度數(shù)據(jù)集成是異構(gòu)數(shù)據(jù)集成中最難處理的問題,理想的多粒度數(shù)據(jù)集成模式是自動逐步抽象。

數(shù)據(jù)綜合(或數(shù)據(jù)抽象)指由高精度數(shù)據(jù)經(jīng)過抽象形成精度較低、但是粒度較大的數(shù)據(jù)。其作用過程為從多個較高精度的局部數(shù)據(jù)中,獲得較低精度的全局數(shù)據(jù)。在這個過程中,要對各局域中的數(shù)據(jù)進行綜合,提取其主要特征。數(shù)據(jù)綜合集成的過程實際上是特征提取和歸并的過程。

數(shù)據(jù)細化指通過由一定精度的數(shù)據(jù)獲取精度較高的數(shù)據(jù),實現(xiàn)該過程的主要途徑有:時空轉(zhuǎn)換,相關(guān)分析或者由綜合中數(shù)據(jù)變動的記錄進行恢復(fù)。數(shù)據(jù)集成是最終實現(xiàn)數(shù)據(jù)共享和輔助決策的基礎(chǔ)。

3.常見數(shù)據(jù)集成方法[1]

1.聯(lián)邦數(shù)據(jù)庫

聯(lián)邦數(shù)據(jù)庫是早期人們采用的一種模式集成方法。模式集成是人們最早采用的數(shù)據(jù)集成方法。其基本思想是,在構(gòu)建集成系統(tǒng)時將各數(shù)據(jù)源的數(shù)據(jù)視圖集成為全局模式,使用戶能夠按照全局模式透明地訪問各數(shù)據(jù)源的數(shù)據(jù)。全局模式描述了數(shù)據(jù)源共享數(shù)據(jù)的結(jié)構(gòu)、語義及操作等。用戶直接在全局模式的基礎(chǔ)上提交請求,由數(shù)據(jù)集成系統(tǒng)處理這些請求,轉(zhuǎn)換成各個數(shù)據(jù)源在本地數(shù)據(jù)視圖基礎(chǔ)上能夠執(zhí)行的請求。模式集成方法的特點是直接為用戶提供透明的數(shù)據(jù)訪問方法。由于用戶使用的全局模式是虛擬的數(shù)據(jù)源視圖,一些學(xué)者也把模式集成方法稱為虛擬視圖集成方法。模式集成要解決兩個基本問題:構(gòu)建全局模式與數(shù)據(jù)源數(shù)據(jù)視圖間的映射關(guān)系;處理用戶在全局模式基礎(chǔ)上的查詢請求。

模式集成過程需要將原來異構(gòu)的數(shù)據(jù)模式作適當(dāng)?shù)霓D(zhuǎn)換,消除數(shù)據(jù)源間的異構(gòu)性,映射成全局模式。全局模式與數(shù)據(jù)源數(shù)據(jù)視圖問映射的構(gòu)建方法有兩種:全局視圖法和局部視圖法。全局視圖法中的全局模式是在數(shù)據(jù)源數(shù)據(jù)視圖基礎(chǔ)上建立的,。它由一系列元素組成,每個元素對應(yīng)一個數(shù)據(jù)源,表示相應(yīng)數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)和操作;局部視圖法先構(gòu)建全局模式,數(shù)據(jù)源的數(shù)據(jù)視圖則是在全局模式基礎(chǔ)上定義,由全局模式按一定的規(guī)則推理得到。用戶在全局模式基礎(chǔ)上查詢請求需要被映射成各個數(shù)據(jù)源能夠執(zhí)行的查詢請求。

在聯(lián)邦數(shù)據(jù)庫中,數(shù)據(jù)源之間共享自己的一部分數(shù)據(jù)模式,形成一個聯(lián)邦模式(見圖)。聯(lián)邦數(shù)據(jù)庫系統(tǒng)按集成度可分為兩類:采用緊密耦合聯(lián)邦數(shù)據(jù)庫系統(tǒng)和采用松散耦合聯(lián)邦數(shù)據(jù)庫系統(tǒng)。緊密耦合聯(lián)邦數(shù)據(jù)庫系統(tǒng)使用統(tǒng)一的全局模式,將各數(shù)據(jù)源的數(shù)據(jù)模式映射到全局數(shù)據(jù)模式上,解決了數(shù)據(jù)源間的異構(gòu)性。這種方法集成度較高,用戶參與少;缺點是構(gòu)建一個全局數(shù)據(jù)模式的算法復(fù)雜,擴展性差。松散耦合聯(lián)邦數(shù)據(jù)庫系統(tǒng)比較特殊,沒有全局模式,采用聯(lián)邦模式。該方法提供統(tǒng)一的查詢語言,將很多異梅性問題交給用戶自己去解決。松散耦合方法對數(shù)據(jù)的集成度不高,但其數(shù)據(jù)源的自治性強、動態(tài)性能好,集成系統(tǒng)不需要維護一個全局模式。

Image:聯(lián)邦數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)圖.jpg

2.中間件集成方法

中間件集成方法是目前比較流行的數(shù)據(jù)集成方法,中間件模式通過統(tǒng)一的全局數(shù)據(jù)模型來訪問異構(gòu)的數(shù)據(jù)庫、遺留系統(tǒng)、Web資源等。中間件位于異構(gòu)數(shù)據(jù)源系統(tǒng)(數(shù)據(jù)層)和應(yīng)用程序(應(yīng)用層)之間,向下協(xié)調(diào)各數(shù)據(jù)源系統(tǒng),向上為訪問集成數(shù)據(jù)的應(yīng)用提供統(tǒng)’一數(shù)據(jù)模式和數(shù)據(jù)訪問的通用接口。各數(shù)據(jù)源的應(yīng)用仍然完成它們的任務(wù),中間件系統(tǒng)則主要集中為異構(gòu)數(shù)據(jù)源提供一個高層次檢索服務(wù)。它同樣使用全局數(shù)據(jù)模式,通過在中間層提供一個統(tǒng)一的數(shù)據(jù)邏輯視圖來隱藏底層的數(shù)據(jù)細節(jié),使得用戶可以把集成數(shù)據(jù)源看為一個統(tǒng)一的整體。這種模型下的關(guān)鍵問題是如何構(gòu)造這個邏輯視圖并使得不同數(shù)據(jù)源之間能映射到這個中間層。

G.Wiederhold最早給出了基于中間件的集成方法的構(gòu)架。與聯(lián)邦數(shù)據(jù)庫不同,中間件系統(tǒng)不僅能夠集成結(jié)構(gòu)化的數(shù)據(jù)源信息,還可以集成半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)源中的信息,如Web信息。美國斯坦福大學(xué)Garcia—Molina等人在1994年開發(fā)了TSIMMIS系統(tǒng),就是一個典型的中間件集成系統(tǒng)。

典型的基于中間件的數(shù)據(jù)集成系統(tǒng),如下圖所示,主要包括中間件和封裝器,其中每個數(shù)據(jù)源對應(yīng)一個封裝器,中間件通過封裝器和各個數(shù)據(jù)源交互。用戶在全局數(shù)據(jù)模式的基礎(chǔ)上向中間件發(fā)出查詢請求。中間件處理用戶請求,將其轉(zhuǎn)換成各個數(shù)據(jù)源能夠處理的子查詢請求,并對此過程進行優(yōu)化,以提高查詢處理的并發(fā)性,減少響應(yīng)時間。封裝器對特定數(shù)據(jù)源進行了封裝,將其數(shù)據(jù)模型轉(zhuǎn)換為系統(tǒng)所采用的通用模型,并提供一致的訪問機制。中間件將各個子查詢請求發(fā)送給封裝器,由封裝器來和其封裝的數(shù)據(jù)源交互,執(zhí)行子查詢請求,并將結(jié)果返回給中間件。

Image:基于中間件的數(shù)據(jù)集成模型.jpg

中間件注重于全局查詢的處理和優(yōu)化,相對于聯(lián)邦數(shù)據(jù)庫系統(tǒng)的優(yōu)勢在于:它能夠集成非數(shù)據(jù)庫形式的數(shù)據(jù)源,有很好的查詢性能,自治性強;中間件集成的缺點在于它通常是只讀的,而聯(lián)邦數(shù)據(jù)庫對讀寫都支持。

3.數(shù)據(jù)倉庫方法

數(shù)據(jù)倉庫方法是一種典型的數(shù)據(jù)復(fù)制方法。該方法將各個數(shù)據(jù)源的數(shù)據(jù)復(fù)制到同一處,即數(shù)據(jù)倉庫。用戶則像訪問普通數(shù)據(jù)庫一樣直接訪問數(shù)據(jù)倉庫,如圖所示。

Image:基于數(shù)據(jù)倉庫的數(shù)據(jù)集成模型.jpg

數(shù)據(jù)倉庫是在數(shù)據(jù)庫已經(jīng)大量存在的情況下,為了進一步挖掘數(shù)據(jù)資源和決策需要而產(chǎn)生的。目前,大部分數(shù)據(jù)倉庫還是用關(guān)系數(shù)據(jù)庫管理系統(tǒng)來管理的,但它決不是所謂的“大型數(shù)據(jù)庫”。數(shù)據(jù)倉庫方案建設(shè)的目的,是將前端查詢和分析作為基礎(chǔ),由于有較大的冗余,所以需要的存儲容量也較大。數(shù)據(jù)倉庫是一個環(huán)境,而不是一件產(chǎn)品,提供用戶用于決策支持的當(dāng)前和歷史數(shù)據(jù),這些數(shù)據(jù)在傳統(tǒng)的操作型數(shù)據(jù)庫中很難或不能得到。

數(shù)據(jù)倉庫技術(shù)是為了有效地把操作型數(shù)據(jù)集成到統(tǒng)一的環(huán)境中以提供決策型數(shù)據(jù)訪問的各種技術(shù)和模塊的總稱。所做的一切都是為了讓用戶更快、更方便地查詢所需要的信息,提供決策支持。

簡而言之,從內(nèi)容和設(shè)計的原則來講,傳統(tǒng)的操作型數(shù)據(jù)庫是面向事務(wù)設(shè)計的,數(shù)據(jù)庫中通常存儲在線交易數(shù)據(jù),設(shè)計時盡量避免冗余,一般采用符合范式的規(guī)則來設(shè)計。而數(shù)據(jù)倉庫是面向主題設(shè)計的,數(shù)據(jù)倉庫中存儲的一般是歷史數(shù)據(jù),在設(shè)計時有意引入冗余,采用反范式的方式來設(shè)計。

另一方面,從設(shè)計的目的來講,數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設(shè)計,而數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設(shè)計,它的兩個基本的元素是維表和事實表。維是看問題的角度,例如時間、部門,維表中存放的就是這些角度的定義;事實表里放著要查詢的數(shù)據(jù),同時有維的ID。

4.數(shù)據(jù)集成的作用

數(shù)據(jù)集成對于企業(yè)信息系統(tǒng)的作用

數(shù)據(jù)集成的出現(xiàn)使企業(yè)能夠?qū)⒑蠖说腅RP信息遷移到Internet上。數(shù)據(jù)集成產(chǎn)品在一個公司的Internet計算機與SAP、Oracle和PeopleSoft等公司的后端系統(tǒng)之間提供“高速緩存”或數(shù)據(jù)分級。

數(shù)據(jù)集成提供了在一個企業(yè)主計算機上存儲的后端信息的一幅鏡像。當(dāng)一個Internet客戶需要檢查一項訂單的狀態(tài)時,這項查詢就被轉(zhuǎn)移到數(shù)據(jù)集成軟件。因此,并非總需要訪問該企業(yè)的主計算機。數(shù)據(jù)集成軟件擁有足夠的智能,知道什么時候與主計算機保持同步以便使數(shù)據(jù)不斷更新。為電子商務(wù)應(yīng)用集成ERP數(shù)據(jù)是通過數(shù)據(jù)分級和直接訪問ERP數(shù)據(jù)這兩者的結(jié)合來完成的,它包括使用一個數(shù)據(jù)服務(wù)器和一些數(shù)據(jù)高速緩存器。數(shù)據(jù)集成軟件以智能方式將直接實時的和分批的數(shù)據(jù)存取方法混和起來,以便從一個ERP系統(tǒng)中抽取數(shù)據(jù)。

數(shù)據(jù)從一個或多個源前進到一個或多個目標(biāo)表以及信息類型(如XML),數(shù)據(jù)移動的步驟包括確定應(yīng)該從中抽取數(shù)據(jù)的源、數(shù)據(jù)應(yīng)當(dāng)進行的轉(zhuǎn)換以及向什么地方發(fā)送數(shù)據(jù)。用戶通過一個圖形用戶接口來指定數(shù)據(jù)映射和轉(zhuǎn)換。

由用戶定義的程序控制每一塊數(shù)據(jù)的移動并確定這種移動之間的內(nèi)部相關(guān)性。例如,如果一個目標(biāo)表依靠其他目標(biāo)表的值,則使用一些程序來指定一個數(shù)據(jù)服務(wù)器應(yīng)當(dāng)按什么次序來管理這些目標(biāo)表中的單個數(shù)據(jù)移動。數(shù)據(jù)移動可以被設(shè)計來以批量方式或?qū)崟r方式運行,并由管理員來創(chuàng)建和管理,以控制ERP、電子商務(wù)、客戶關(guān)系管理、供應(yīng)鏈管理以及通信應(yīng)用之間的數(shù)據(jù)移動。數(shù)據(jù)移動使用分布式查詢優(yōu)化、多線程、存儲器內(nèi)數(shù)據(jù)轉(zhuǎn)換和并行流水線操作來提供很高的數(shù)據(jù)通過量和可伸縮性。例如,要管理抽取程序并從SAP軟件中來執(zhí)行批量數(shù)據(jù)抽取,可使用優(yōu)化的ABAP代碼(SAP的專有編程語言),不需要開發(fā)和維護定制的ABAP代碼。

評論  |   0條評論