前言:本站為你精心整理了數(shù)據(jù)庫互操作探討論文范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:由于歷史及技術(shù)等原因,在資源建設(shè)的過程中產(chǎn)生了異構(gòu)數(shù)據(jù)庫,數(shù)據(jù)庫互操作問題也一直是數(shù)據(jù)庫研究領(lǐng)域的熱門課題。主要闡述了異構(gòu)數(shù)據(jù)庫互操作的概念、實現(xiàn)途徑中的關(guān)鍵技術(shù)。
關(guān)鍵詞:資源整合異構(gòu)數(shù)據(jù)庫互操作聯(lián)邦式數(shù)據(jù)庫
1引言
異構(gòu)數(shù)據(jù)庫互操作問題作為數(shù)據(jù)庫領(lǐng)域的研究熱點(diǎn)和難點(diǎn)課題,在國內(nèi)外的學(xué)術(shù)界和工業(yè)界都引起了廣泛的關(guān)注。自20世紀(jì)80年代以來,國外許多公司和科研單位對異構(gòu)數(shù)據(jù)庫的集成進(jìn)行了大量研究,取得了不少成果,但國內(nèi)對異構(gòu)數(shù)據(jù)庫集成的研究還處于開始階段。
2異構(gòu)數(shù)據(jù)庫互操作的概念
異構(gòu)數(shù)據(jù)庫(HeterogeneousDatabase)集成是數(shù)據(jù)庫技術(shù)從完全集中到邏輯集中、物理分布(傳統(tǒng)分布式數(shù)據(jù)庫)乃至邏輯分布、物理分布(異構(gòu)數(shù)據(jù)庫)這一發(fā)展過程的結(jié)果,也是兼顧已有系統(tǒng)自治性并實現(xiàn)新的數(shù)據(jù)共享這一現(xiàn)實需求的有效手段。
異構(gòu)數(shù)據(jù)庫的異構(gòu)特征包括兩個級別:系統(tǒng)一級的異構(gòu)和語言一級的異構(gòu),主要體現(xiàn)在以下幾個方面。
(1)計算機(jī)體系結(jié)構(gòu)的異構(gòu):各個參與的數(shù)據(jù)庫可以分別運(yùn)行在大型機(jī)、小型機(jī)、工作站、PC或嵌入式系統(tǒng)中。
(2)操作系統(tǒng)的異構(gòu):各個數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)操作系統(tǒng)可以是Unix,WindowsNT,Linux等。
(3)數(shù)據(jù)庫管理系統(tǒng)的異構(gòu):一種是數(shù)據(jù)庫概念模式的異構(gòu):有層次、網(wǎng)狀、關(guān)系和面向?qū)ο?種;另一種是數(shù)據(jù)庫物理模式的異構(gòu):指概念模式相同,但數(shù)據(jù)結(jié)構(gòu)不同,比如Oracle與SQLServer同屬關(guān)系型,但結(jié)構(gòu)不同。
異構(gòu)數(shù)據(jù)庫互操作的實現(xiàn)包括三個功能要素:(1)為用戶提供功能強(qiáng)大且操作靈活的互操作可視化界面,通過它用戶可以直觀地對多個異構(gòu)數(shù)據(jù)庫進(jìn)行透明訪問;(2)提供高級語言數(shù)據(jù)庫訪問調(diào)用級接口,至于調(diào)用級接口的實現(xiàn)層次可由設(shè)計者視具體清況而定;(3)支持環(huán)境開放性,可能的話還應(yīng)該支持實現(xiàn)語言開放性。
異構(gòu)數(shù)據(jù)庫系統(tǒng)的目標(biāo)在于實現(xiàn)不同數(shù)據(jù)庫之間的數(shù)據(jù)信息資源、硬件設(shè)備資源和人力資源的合并和共享。異構(gòu)數(shù)據(jù)庫系統(tǒng)集成就是要將數(shù)據(jù)庫系統(tǒng)的不同,操作系統(tǒng)的不同,操作平臺的不同或者底層網(wǎng)絡(luò)的不同進(jìn)行屏蔽,使得用戶就可以將異構(gòu)數(shù)據(jù)庫系統(tǒng)看成普通的數(shù)據(jù)庫系統(tǒng),用自己熟悉的數(shù)據(jù)處理語言去訪問數(shù)據(jù)庫,如同訪問一個數(shù)據(jù)庫系統(tǒng)一樣,對其進(jìn)行透明的操作。
3實現(xiàn)異構(gòu)數(shù)據(jù)庫互操作的途徑
面對異構(gòu)數(shù)據(jù)庫的互操作需求,主要從兩個方面同時進(jìn)行努力:一是建立標(biāo)準(zhǔn),即建立統(tǒng)一的數(shù)據(jù)庫規(guī)范,消除由于標(biāo)準(zhǔn)的不完善而造成的各數(shù)據(jù)庫系統(tǒng)間的差異;二是構(gòu)建異構(gòu)數(shù)據(jù)庫互操作平臺,實現(xiàn)對多個異構(gòu)數(shù)據(jù)庫的透明訪問。
隨著對數(shù)據(jù)庫互操作問題的深入研究,基于不同角度,許多研究者提出了可行的異構(gòu)數(shù)據(jù)庫互操作途徑,這些途徑在實現(xiàn)互操作的深度、廣度和高度上各不相同,都有各自所適應(yīng)的特定環(huán)境和需求。從異構(gòu)數(shù)據(jù)庫的核心思想出發(fā),把實現(xiàn)互操作的途徑歸納為兩大類。
3.1系統(tǒng)級異構(gòu)互操作
對于DBMS系統(tǒng)一級異構(gòu)的網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)庫互操作,主要有四種實現(xiàn)途徑。
(1)數(shù)據(jù)庫網(wǎng)關(guān)(DatabaseGateway)
數(shù)據(jù)庫網(wǎng)關(guān)是一種中繼器,它能提供應(yīng)用級的異構(gòu)數(shù)據(jù)庫集成的手段。網(wǎng)關(guān)的主要作用是轉(zhuǎn)換和通信。
數(shù)據(jù)庫網(wǎng)關(guān)可以建立比較穩(wěn)定和透明的數(shù)據(jù)庫互操作,但是其缺點(diǎn)也較為明顯。諸如不關(guān)心如何屏蔽數(shù)據(jù)庫之間的異構(gòu)性,不支持事務(wù)處理,資源冗余,用戶受限于數(shù)據(jù)庫廠商,不能任意選擇客戶機(jī)平臺及目標(biāo)數(shù)據(jù)庫等問題。
(2)公共協(xié)議/數(shù)據(jù)轉(zhuǎn)換協(xié)議技術(shù)
公共協(xié)議是異構(gòu)數(shù)據(jù)庫進(jìn)行通信時采用的公認(rèn)的數(shù)據(jù)協(xié)議,即公認(rèn)的系統(tǒng)間傳遞SQL請求和結(jié)果的形式。最常見的協(xié)議是ANSI/ISO的關(guān)系數(shù)據(jù)存取(RDA)標(biāo)準(zhǔn)、SGA(SQLAccessGroup)規(guī)范和IBM的分布式關(guān)系數(shù)據(jù)庫結(jié)構(gòu)(DRDA)。與數(shù)據(jù)庫網(wǎng)關(guān)相比,公共協(xié)議更具有可擴(kuò)充性和開放性,能較好地實現(xiàn)異構(gòu)數(shù)據(jù)庫的透明訪問、支持多種網(wǎng)絡(luò)協(xié)議和多種客戶平臺,是實現(xiàn)異構(gòu)數(shù)據(jù)庫互操作的有效途徑之一。
公共協(xié)議/數(shù)據(jù)轉(zhuǎn)換協(xié)議的缺點(diǎn)是協(xié)議本身的低效率帶來的速度問題。
(3)公共編程接口
公共編程接口包括客戶應(yīng)用編程界面(CAPI)和服務(wù)器應(yīng)用編程界面(SAPI)。CAPI是一組過程庫,通常駐留在客戶端,通過裝載后端專用的驅(qū)動程序訪問不同的數(shù)據(jù)庫。SAPI提供一個應(yīng)用編程界面,控制服務(wù)器與客戶應(yīng)用請求和目標(biāo)數(shù)據(jù)庫之間的交互。如Microsoft的ODBC、Oracle的SQL*NET以及IDAPI。其優(yōu)點(diǎn)有:由于提供了統(tǒng)一的調(diào)用級接口,使用戶免除了應(yīng)用程序隨數(shù)據(jù)庫改變而改變的痛苦;通過API可使應(yīng)用程序直接操縱數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)庫訪問API的缺點(diǎn)是:針對每一個數(shù)據(jù)庫都需要有一個與其對應(yīng)的驅(qū)動程序;由于不同的驅(qū)動程序所支持的數(shù)據(jù)類型和對數(shù)據(jù)的操作都不相同,其完全透明地訪問異構(gòu)數(shù)據(jù)庫的能力有限;實現(xiàn)效率過分依賴于驅(qū)動程序,而驅(qū)動程序?qū)?biāo)準(zhǔn)語法轉(zhuǎn)換成相應(yīng)數(shù)據(jù)庫的命令語法要花費(fèi)大量的時間。
(4)中間件技術(shù)(MiddleWare)
中間件是處于應(yīng)用程序及應(yīng)用程序所在系統(tǒng)的內(nèi)部工作方式之間的軟件,它的基本思想是在各后端數(shù)據(jù)源和前端應(yīng)用程序之間建立一個抽象層。把應(yīng)用程序與系統(tǒng)所依附軟件的較低層細(xì)節(jié)和復(fù)雜性隔離開來,使應(yīng)用程序開發(fā)者只處理某種類型的單個API,而其他細(xì)節(jié)則可以由中間件處理。這樣就使系統(tǒng)對每個不同數(shù)據(jù)源的操作變成對單一的中間件的操作,而后再對中間件進(jìn)行異構(gòu)處理。使用中間件技術(shù)解決異構(gòu)數(shù)據(jù)庫集成的問題,將會給系統(tǒng)集成帶來很多的好處。這是因為中間件不僅能夠使得前端用戶訪問后端的異構(gòu)數(shù)據(jù)庫實現(xiàn)透明化,并且保證了訪問接口的開放性,這樣可以使系統(tǒng)在以后功能上的擴(kuò)展更加方便。通過中間件來訪問數(shù)據(jù)庫的另一個好處就是所有的客戶端的請求都發(fā)送到了中間件上,減輕了數(shù)據(jù)庫服務(wù)器的負(fù)擔(dān),保證了數(shù)據(jù)庫服務(wù)器的性能不會降低。同時,中間件的采用極大地提高了系統(tǒng)的可維護(hù)性,在系統(tǒng)內(nèi)部的某個邏輯發(fā)生變化時,只要改變中間層的相應(yīng)處理程序,前臺用戶界面不需要做任何的改動,這樣就大大降低了系統(tǒng)維護(hù)的費(fèi)用。
3.2數(shù)據(jù)結(jié)構(gòu)與語義級異構(gòu)互操作
目前,對于數(shù)據(jù)結(jié)構(gòu)和語義一級異構(gòu)的數(shù)據(jù)庫互操作的研究有緊密耦合和松散耦合兩種思想,具體體現(xiàn)于多數(shù)據(jù)庫系統(tǒng)、聯(lián)邦數(shù)據(jù)庫系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)三種方法。
(1)多數(shù)據(jù)庫系統(tǒng)
所謂多數(shù)據(jù)庫系統(tǒng)就是一種能夠接受和容納多個異構(gòu)數(shù)據(jù)庫的系統(tǒng),允許各個異構(gòu)數(shù)據(jù)庫的“自治性”。多數(shù)據(jù)庫系統(tǒng)是一個廣義的概念,是相對于如集中式數(shù)據(jù)庫系統(tǒng)或分布式數(shù)據(jù)庫系統(tǒng)那種邏輯上具有同一管理系統(tǒng)而言的,它以多元和分布為主要特征。多元是指它多個彼此區(qū)別的集中式或分布式數(shù)據(jù)庫系統(tǒng);分布則是指數(shù)據(jù)分布在不同場地的數(shù)據(jù)庫系統(tǒng)中,由各自的管理系統(tǒng)進(jìn)行管理。
多數(shù)據(jù)庫技術(shù)的目標(biāo)是為在多個數(shù)據(jù)庫之間實現(xiàn)互操作,解決數(shù)據(jù)庫資源共享找到一種技術(shù)途徑。一般采用分布、異構(gòu)、自治三個特性作為尺度來刻畫多數(shù)據(jù)庫系統(tǒng)。使用這種方法,用戶需要顯式地指明所要訪問的數(shù)據(jù)庫。多數(shù)據(jù)庫系統(tǒng)采用自下而上的方法來實現(xiàn)。
(2)分布式數(shù)據(jù)庫(DistributedDatabase)
分布式數(shù)據(jù)庫的基本思想是拋棄原有的數(shù)據(jù)庫系統(tǒng),在網(wǎng)絡(luò)環(huán)境下建立分布的數(shù)據(jù)庫系統(tǒng),在體系結(jié)構(gòu)、事務(wù)處理模型等方面重新設(shè)計從而解決信息共享與互操作問題。分布式數(shù)據(jù)庫系統(tǒng)分為同質(zhì)分布式數(shù)據(jù)庫和異質(zhì)分布式數(shù)據(jù)庫。像Oracle、Sybase、Informix等都是同質(zhì)分布式數(shù)據(jù)庫系統(tǒng),這類系統(tǒng)的實現(xiàn)相對來說比較容易一些。異質(zhì)分布式數(shù)據(jù)庫管理系統(tǒng)大多是在已有的一些數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上實現(xiàn)的。
(3)聯(lián)邦式數(shù)據(jù)庫(FederatedDatabase)
聯(lián)邦式數(shù)據(jù)庫系統(tǒng)是網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫技術(shù)發(fā)展的必然結(jié)果,它是由一組能協(xié)調(diào)工作,又可以獨(dú)立自治的部件數(shù)據(jù)庫組成。它可以是原先不分布的,又可以是分布的,具有分布性、自治性、異構(gòu)性三大特性。
聯(lián)邦式數(shù)據(jù)庫與分布式數(shù)據(jù)庫系統(tǒng)的區(qū)別在于:分布式數(shù)據(jù)庫系統(tǒng)雖然在物理上是分散的,但因為有統(tǒng)一的數(shù)據(jù)模型及全局?jǐn)?shù)據(jù)模式,所以它在邏輯上卻是集中的,因此用戶感覺到的是一個完整的數(shù)據(jù)庫。顯然,這種系統(tǒng)可用于某個專用領(lǐng)域的系統(tǒng),但不適于不同領(lǐng)域間的異構(gòu)系統(tǒng)的集成。相反地,聯(lián)邦式數(shù)據(jù)庫系統(tǒng)是由在不同結(jié)點(diǎn)上松散耦合分布的異構(gòu)成員數(shù)據(jù)庫構(gòu)成,各聯(lián)邦成員間的一種松散結(jié)合。構(gòu)成聯(lián)邦成員的可以是一個集中式數(shù)據(jù)庫,也可以是一個分布式數(shù)據(jù)庫,它們可以根據(jù)需要(按某種組合)加入聯(lián)邦或者根據(jù)需要退出聯(lián)邦。聯(lián)邦式數(shù)據(jù)庫沒有全局模式,各子系統(tǒng)(即聯(lián)邦成員)按自己的需求建立各自的數(shù)據(jù)模式。其成員之間的數(shù)據(jù)共享關(guān)系,通過由協(xié)商確定的輸入/輸出模式來建立,單個成員有權(quán)拒絕或允許其它成員結(jié)點(diǎn)對它的訪問。因此,它能夠支持多庫系統(tǒng)的分布性、異構(gòu)性和自治性,使之產(chǎn)生滿意的集成。超級秘書網(wǎng)
異構(gòu)數(shù)據(jù)庫的互操作技術(shù)使得數(shù)據(jù)庫在原有技術(shù)領(lǐng)域發(fā)揮重要作用的同時,在未來新的應(yīng)用領(lǐng)域也有著重要的影響,如地球觀測系統(tǒng)EOSDIS、電子商務(wù)、保健信息系統(tǒng)、數(shù)字出版、協(xié)同設(shè)計等領(lǐng)域。
參考文獻(xiàn)
[1]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.北京:高等教育出版社,2000.2.
[2]張水平,萬映輝等.異構(gòu)數(shù)據(jù)庫的集成與互操作.計算機(jī)應(yīng)用研究,2000(1).
[3]鄭振楣,于戈等編著.分布式數(shù)據(jù)庫.北京:科學(xué)出版社,1998.
[4]劉艷梅.基于COM/DCOM組件標(biāo)準(zhǔn)實現(xiàn)異構(gòu)數(shù)據(jù)庫的聯(lián)合使用:[博士學(xué)位論文].北京:北京理工大學(xué),2000.
[5]唐巍,周俊林,李曉.異構(gòu)數(shù)據(jù)庫集成方法初探.計算機(jī)應(yīng)用研究,1999(8).
[6]王艷君,王運(yùn)格,吳麗紅.異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)集成的方法.煙臺師范學(xué)院學(xué)報,1999,Vol.15(4).
[7]王寧,王能斌.異構(gòu)數(shù)據(jù)源集成系統(tǒng)查詢分解和優(yōu)化的實現(xiàn).軟件學(xué)報,2000,Vol.11(2).
[8]汪青峰,梁允榮.基于CORBA的異種數(shù)據(jù)源聯(lián)合使用方案.計算機(jī)應(yīng)用研究,1999(11).
數(shù)據(jù)報告 數(shù)據(jù)采集論文 數(shù)據(jù)安全論文 數(shù)據(jù)采集 數(shù)據(jù)挖掘總結(jié) 數(shù)據(jù)安全 數(shù)據(jù)統(tǒng)計論文 數(shù)據(jù)挖掘 數(shù)據(jù)理論論文 數(shù)據(jù)通信論文 紀(jì)律教育問題 新時代教育價值觀