【摘 要】數(shù)據(jù)復(fù)制是分布式數(shù)據(jù)庫(kù)系統(tǒng)中使用的一種十分重要的技術(shù),它能夠提高分布式數(shù)據(jù)庫(kù)的容災(zāi)能力,還能夠使得事務(wù)的響應(yīng)時(shí)間得到降低。在本文中,我們主要分析在網(wǎng)絡(luò)環(huán)境下,使用數(shù)據(jù)復(fù)制技術(shù)來(lái)實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)同步更新。
【關(guān)鍵詞】數(shù)據(jù)復(fù)制 分布式 數(shù)據(jù)庫(kù) 同步
一、前言
分布式數(shù)據(jù)庫(kù)系統(tǒng)在物理上是分散的,而邏輯上是統(tǒng)一的一個(gè)整體。在某些情況下,整個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)能夠分解成若干部分,而且它們的功能是相對(duì)獨(dú)立,放在不同的數(shù)據(jù)庫(kù)服務(wù)器中都能夠得到使用。在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,我們使用數(shù)據(jù)復(fù)制技術(shù)能夠?qū)崿F(xiàn)數(shù)據(jù)的同步。數(shù)據(jù)可以在許多網(wǎng)站上獲得,但只有一個(gè)站點(diǎn)可以存儲(chǔ)數(shù)據(jù)。分布式數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)復(fù)制技術(shù),不僅可以從多個(gè)站點(diǎn)上獲得所要的信息,還能夠在附近或在本地進(jìn)行接入,使得相同的數(shù)據(jù)可以在不同的網(wǎng)站建立一個(gè)副本。數(shù)據(jù)復(fù)制技術(shù)能夠有效提高分布式數(shù)據(jù)庫(kù)系統(tǒng)的可靠性和可用性。
二、數(shù)據(jù)復(fù)制的運(yùn)行體系
(一)復(fù)制技術(shù)的理解
復(fù)制是一種實(shí)現(xiàn)數(shù)據(jù)分布的方法,對(duì)涉及在不同位置的數(shù)據(jù)分配到另一個(gè)系統(tǒng)或網(wǎng)絡(luò)系統(tǒng)里面,這樣可以適應(yīng)人們的各種需求,能夠滿足組織的需要,減少主服務(wù)器的工作量,還可以提高數(shù)據(jù)的使用效率。在這個(gè)復(fù)制的過程中,數(shù)據(jù)復(fù)制的一個(gè)節(jié)點(diǎn)在分布式數(shù)據(jù)庫(kù)當(dāng)中,可以在數(shù)據(jù)庫(kù)中不同物理位置,有效支持分布式應(yīng)用。在實(shí)施過程中,復(fù)制數(shù)據(jù)的物理過程可以分為兩步,即修改過程和復(fù)制過程。對(duì)于數(shù)據(jù)的復(fù)制和進(jìn)行插入,能夠修改和刪除數(shù)據(jù)的過程稱為修改過程:修改復(fù)制形成一個(gè)其他副本的過程是復(fù)制的過程。
(二)數(shù)據(jù)復(fù)制技術(shù)的優(yōu)點(diǎn)
在分布式數(shù)據(jù)庫(kù)系統(tǒng)使用復(fù)制技術(shù),具有很強(qiáng)的可行性和實(shí)用性。具有以下優(yōu)點(diǎn):1.能夠提高系統(tǒng)的可靠性:對(duì)于數(shù)據(jù)冗余的分布,可以提高系統(tǒng)的容錯(cuò)能力。所以當(dāng)一個(gè)網(wǎng)站或網(wǎng)絡(luò)出現(xiàn)故障的時(shí)候,數(shù)據(jù)庫(kù)就可以選擇其他網(wǎng)站來(lái)完成需要的操作,客戶端是透明的。因?yàn)橛辛讼到y(tǒng)中數(shù)據(jù)的多個(gè)副本,故障位置就比較容易得到恢復(fù),保障系統(tǒng)的正常運(yùn)行。2.提高了系統(tǒng)的可用性:復(fù)制能夠提供共享數(shù)據(jù)的本地的快速訪問,它將復(fù)制數(shù)據(jù)從遠(yuǎn)程數(shù)據(jù)庫(kù)復(fù)制到本地,允許關(guān)閉應(yīng)用程序來(lái)對(duì)數(shù)據(jù)進(jìn)行訪問,從而降低網(wǎng)絡(luò)的負(fù)載,有效提高數(shù)據(jù)的使用效率。數(shù)據(jù)復(fù)制系統(tǒng),可以提供多個(gè)站點(diǎn)的負(fù)載平衡,還能夠允許用戶使用此服務(wù)器。
(三)數(shù)據(jù)復(fù)制技術(shù)的特性
數(shù)據(jù)復(fù)制主要的目的是提供一份數(shù)據(jù)拷貝到多個(gè)服務(wù)器的一個(gè)復(fù)制過程,這樣不僅要確保數(shù)據(jù)的同步性和一致性,還能夠進(jìn)一步提高讀取性能數(shù)據(jù)的效率。采用數(shù)據(jù)復(fù)制技術(shù)可以存儲(chǔ)多個(gè)完全相同的副本在多個(gè)服務(wù)器當(dāng)中,在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,如果一個(gè)不同的服務(wù)器需要讀取相同的數(shù)據(jù)的時(shí)候,這樣就需要把基礎(chǔ)的應(yīng)用程序?qū)姆?wù)器中分離出來(lái),數(shù)據(jù)復(fù)制可以大大提高數(shù)據(jù)庫(kù)系統(tǒng)的訪問性能。具體而言,數(shù)據(jù)復(fù)制技術(shù)的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:首先,數(shù)據(jù)具有獨(dú)立性,離線也可以處理數(shù)據(jù)的一個(gè)副本,即使用戶在連接的時(shí)候,數(shù)據(jù)也能夠?qū)崿F(xiàn)同步更新,操作可以蔓延到其他的數(shù)據(jù)庫(kù)當(dāng)中。我們還能夠利用數(shù)據(jù)復(fù)制技術(shù),可以縮放瀏覽一些實(shí)際需要的數(shù)據(jù),如需要瀏覽Web應(yīng)用程序當(dāng)中的一些數(shù)據(jù),針對(duì)這一情況,我們可以向用戶開放部分的訪問網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的權(quán)限。利用數(shù)據(jù)復(fù)制技術(shù)還能夠采集和讀取性能數(shù)據(jù),使其速率得到大大的提高。采用數(shù)據(jù)復(fù)制技術(shù)還可以縮小數(shù)據(jù)的傳輸距離,大大減少用戶數(shù)據(jù)和更新存在的沖突。
三、分布式數(shù)據(jù)庫(kù)數(shù)據(jù)同步
(一)數(shù)據(jù)同步的優(yōu)越性
同數(shù)據(jù)步技術(shù)是一種高效率的技術(shù),它能夠使分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)在更新數(shù)據(jù)庫(kù)的時(shí)候,各個(gè)網(wǎng)站之間就會(huì)進(jìn)行同步更新,達(dá)到數(shù)據(jù)分布存儲(chǔ)的目的,從而實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)的統(tǒng)一應(yīng)用。這種方法允許其他的應(yīng)用程序透明地訪問存儲(chǔ)的數(shù)據(jù),讓用戶覺得這些數(shù)據(jù)就存儲(chǔ)在服務(wù)器上的本地?cái)?shù)據(jù)庫(kù)當(dāng)中。在實(shí)施過程中,數(shù)據(jù)還能夠作為數(shù)據(jù)源進(jìn)行復(fù)制,源數(shù)據(jù)一般都是放在定期的更新網(wǎng)站上面的,及時(shí)修改數(shù)據(jù)的源數(shù)據(jù),對(duì)于副本的修正只有通過復(fù)制技術(shù)來(lái)實(shí)現(xiàn)。
(二)使用數(shù)據(jù)復(fù)制技術(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)同步
1.分布式的事務(wù)處理。用最少的場(chǎng)地自治性和最小的數(shù)據(jù)來(lái)實(shí)現(xiàn)同步的延遲。一個(gè)事務(wù)分成兩階段的提交機(jī)制,這樣能夠確保數(shù)據(jù)的更改能夠和所有的副本進(jìn)行同步,或全部都進(jìn)行撤銷,每個(gè)數(shù)據(jù)點(diǎn)度可以回到之前的狀態(tài)的發(fā)生一定的狀態(tài)變化。
2.事務(wù)級(jí)數(shù)據(jù)復(fù)制的同步。隨著站點(diǎn)自治范圍的縮小和更少的數(shù)據(jù)的同步延遲。這種方式可以分為兩種:一種是允許用戶利用更新數(shù)據(jù)復(fù)制來(lái)處理事務(wù)級(jí)數(shù)據(jù)。在該機(jī)制中,不僅可以使數(shù)據(jù)出版商出版的數(shù)據(jù)得到同步的更新,同時(shí)還可以允許用戶訂閱的數(shù)據(jù)能夠得到同步的更新:還有一種是不允許用戶更新數(shù)據(jù)來(lái)對(duì)事務(wù)級(jí)數(shù)據(jù)進(jìn)行復(fù)制,在該機(jī)制中,公布的數(shù)據(jù)進(jìn)行更新的時(shí)候,只允許數(shù)據(jù)發(fā)布的服務(wù)器和訂閱服務(wù)器進(jìn)行同步的更新,數(shù)據(jù)點(diǎn)只允許被動(dòng)接受訂閱的數(shù)據(jù)。
3.靜態(tài)數(shù)據(jù)的復(fù)制。這種數(shù)據(jù)具有較高的同步延遲和自主性,能夠處理更高的數(shù)據(jù)。這種方式也可以分為兩種類型:第一種是靜態(tài)數(shù)據(jù)進(jìn)行同步復(fù)制的時(shí)候允許數(shù)據(jù)用戶進(jìn)行數(shù)據(jù)的更新。在該機(jī)制里面,不僅可以使數(shù)據(jù)出版商出版的數(shù)據(jù)得到相應(yīng)的更新,同時(shí)允許用戶訂閱數(shù)據(jù)得到有效的更新。還有一種是同步復(fù)制的靜態(tài)數(shù)據(jù)不允許數(shù)據(jù)用戶進(jìn)行數(shù)據(jù)更新。在該機(jī)制中,公布的數(shù)據(jù)進(jìn)行更新的時(shí)候,只允許數(shù)據(jù)發(fā)布服務(wù)器和訂閱服務(wù)器進(jìn)行同步的更新。
四、結(jié)論
數(shù)據(jù)復(fù)制技術(shù)已經(jīng)廣泛地應(yīng)用于各種管理系統(tǒng)和應(yīng)用系統(tǒng)當(dāng)中。為了有效解決數(shù)據(jù)同步的問題,數(shù)據(jù)復(fù)制技術(shù)能夠有效實(shí)現(xiàn)這些系統(tǒng)中的每個(gè)節(jié)點(diǎn)的數(shù)據(jù)實(shí)現(xiàn)同步的更新,對(duì)原始數(shù)據(jù)庫(kù)進(jìn)行同步的更新,能夠促進(jìn)數(shù)據(jù)庫(kù)系統(tǒng)得到更高效的應(yīng)用。
參考文獻(xiàn):
[1]蓋九宇.分布式數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制技術(shù)的分析與應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件.2005(07).
[2]劉根大.數(shù)據(jù)復(fù)制技術(shù)的研究[J]. 電腦開發(fā)與應(yīng)用.2009(03).
[3]劉榮.分布式數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)復(fù)制技術(shù)的研究[J].電腦知識(shí)與技術(shù).2009(07).
[4]李立功.分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)復(fù)制技術(shù)研究[J].電腦知識(shí)與技術(shù).2008(29).
基金項(xiàng)目:
課題編號(hào):ZK11-28