国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

異構(gòu)數(shù)據(jù)庫復(fù)制技術(shù)的研究與實(shí)現(xiàn)(上)

2024-07-21 02:08:14
字體:
供稿:網(wǎng)友

異構(gòu)數(shù)據(jù)庫復(fù)制技術(shù)的研究與實(shí)現(xiàn)

 














1 引言
網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,特別是因特網(wǎng)的普及,大大方便了企業(yè)的跨地域發(fā)展。同時(shí),為了適應(yīng)不斷增長(zhǎng)的商業(yè)競(jìng)爭(zhēng)環(huán)境,許多企業(yè)通過不斷重組和分散經(jīng)營(yíng)來提高效率,形成了分散、異構(gòu)的環(huán)境特點(diǎn)。同時(shí)這些組織在地域上雖然分散,但在管理上相對(duì)集中,往往既要有各部門的局部控制和分散管理,也要有整個(gè)組織的全局控制和高層次的協(xié)同管理。這種協(xié)同管理要求各部門之間的信息既能靈活交流和共享,又能統(tǒng)一管理和使用。

當(dāng)前,分布式數(shù)據(jù)庫技術(shù)已經(jīng)成熟,并且因計(jì)算機(jī)成本的下降以及通信費(fèi)用的降低而得到了廣泛的應(yīng)用。然而,分布式數(shù)據(jù)庫系統(tǒng)既要提供局部自治又要實(shí)現(xiàn)全局控制,帶來了很大的挑戰(zhàn)性。為此,引入數(shù)據(jù)庫復(fù)制機(jī)制,數(shù)據(jù)庫復(fù)制依賴于分布式數(shù)據(jù)庫技術(shù)但又可以提供分布式數(shù)據(jù)庫所不具備的功能,特別是由于在存取數(shù)據(jù)時(shí)有可選的數(shù)據(jù)副本,因此可以改進(jìn)系統(tǒng)的性能和保護(hù)應(yīng)用的可用性。通過使用數(shù)據(jù)庫的復(fù)制技術(shù)可以實(shí)現(xiàn)集中和自治相結(jié)合的控制機(jī)制,并可大大提高整個(gè)分布式數(shù)據(jù)庫系統(tǒng)的可靠性和響應(yīng)速度。

現(xiàn)有的異構(gòu)數(shù)據(jù)庫復(fù)制方案優(yōu)勢(shì)突出,比如在運(yùn)行性能和整體性方面都有著明顯的優(yōu)勢(shì),而且產(chǎn)商大多提供了一些輔助工具可以協(xié)助用戶更好地完成復(fù)制任務(wù)等;但同時(shí)問題也存在:數(shù)據(jù)庫產(chǎn)商提供的復(fù)制方案依賴于產(chǎn)商自己的dbms核心關(guān)系緊密的實(shí)現(xiàn)技術(shù),不一定適用于其它dbms,也就是說復(fù)制方案不是完全異構(gòu)的。

為解決完全異構(gòu)問題,本文提出一種新的復(fù)制技術(shù):“基于sql重現(xiàn)法”復(fù)制技術(shù),“基于sql重現(xiàn)法”復(fù)制技術(shù)的核心思想就是為源數(shù)據(jù)庫中的復(fù)制對(duì)象(源表或視圖)創(chuàng)建變更軌跡表,當(dāng)源表發(fā)生變化時(shí),變更軌跡表中記錄了變更情況,再通過事后從變更軌跡表中獲取sql語句,將源表中的數(shù)據(jù)復(fù)制到目標(biāo)表中。這種方法可以獲得復(fù)制對(duì)象的凈變化,運(yùn)行和傳輸效率很高,而且易于管理,彌補(bǔ)了解決復(fù)制沖突的不足。這種方法適合于除同步復(fù)制之外的各種復(fù)制形式。

本文將從工作原理、設(shè)計(jì)思維、實(shí)施過程以及技術(shù)特點(diǎn)等幾個(gè)方面介紹“基于sql重現(xiàn)法”復(fù)制技術(shù)。

數(shù)據(jù)庫復(fù)制就是通過將源數(shù)據(jù)庫中指定的數(shù)據(jù)復(fù)制到目標(biāo)數(shù)據(jù)庫中,以保持源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫中指定數(shù)據(jù)的同步。它應(yīng)該由哪些部分組成,關(guān)于這一點(diǎn)目前還沒有很統(tǒng)一的看法。

本文這樣描述數(shù)據(jù)庫復(fù)制的流程:在源數(shù)據(jù)庫獲得復(fù)制對(duì)象的變化情況,然后把它們從源數(shù)據(jù)庫傳送到目標(biāo)數(shù)據(jù)庫,并修改那里的副本。

根據(jù)以上描述本文把整個(gè)復(fù)制流程分為兩個(gè)功能相對(duì)獨(dú)立的處理步驟:變化捕獲(change capture)與數(shù)據(jù)分發(fā)(data distribute),把它們稱為組成數(shù)據(jù)庫復(fù)制的兩個(gè)主要環(huán)節(jié)。

本文后面的內(nèi)容都將圍繞這兩個(gè)環(huán)節(jié)進(jìn)行闡述。
2 工作原理
(1)變化捕獲

變化捕獲是捕獲源表的變化序列的過程。“基于sql重現(xiàn)法”數(shù)據(jù)復(fù)制技術(shù)捕獲變化的核心思想是為多個(gè)相關(guān)源表(極端的情況可能是一張?jiān)幢砘蛘麄€(gè)數(shù)據(jù)庫的所有表,在這里稱為一個(gè)“源集”)創(chuàng)建一個(gè)變更軌跡表,其中包含發(fā)生變更的序列號(hào)、變更時(shí)間以及還原后的sql語句等信息,當(dāng)源表發(fā)生變化時(shí),就立刻在變更軌跡表中記錄下源表的變化情況,此時(shí)變更軌跡表相當(dāng)于基于日志法中的“日志”,變更時(shí)間相當(dāng)于基于時(shí)間戳法中的“時(shí)間戳”,但是由于這個(gè)過程不是由數(shù)據(jù)庫引擎本身實(shí)現(xiàn)的,因而需要依靠觸發(fā)器來實(shí)現(xiàn)。也就是說,需要為每個(gè)源表建立觸發(fā)器,當(dāng)源表發(fā)生修改、插入和刪除操作時(shí),觸發(fā)器被啟動(dòng),通過調(diào)用存儲(chǔ)過程,將源表發(fā)生的操作還原為sql語句,向該源表對(duì)應(yīng)的變更軌跡表中插入變更時(shí)間和還原后的sql語句,工作原理如下圖所示。



 

 圖1 “基于sql重現(xiàn)的數(shù)據(jù)復(fù)制”變化捕獲工作原理

 

(2)數(shù)據(jù)分發(fā)

數(shù)據(jù)分發(fā)是指將源表的變化信息實(shí)施到相應(yīng)的目標(biāo)表中的過程。針對(duì)“基于sql重現(xiàn)法”復(fù)制技術(shù)捕獲變化的方法,數(shù)據(jù)分發(fā)是指根據(jù)變更軌跡表中的序號(hào),按順序從變更軌跡表中獲取對(duì)應(yīng)的sql語句,然后通過實(shí)施程序在目標(biāo)服務(wù)器上執(zhí)行此sql語句,將源表發(fā)生的變化應(yīng)用于目標(biāo)表,執(zhí)行成功后刪除變更軌跡表中對(duì)應(yīng)序號(hào)的記錄。數(shù)據(jù)分發(fā)工作原理如圖2所示。



圖2 “基于sql重現(xiàn)的數(shù)據(jù)復(fù)制”數(shù)據(jù)分發(fā)工作原理

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 文成县| 漾濞| 舟山市| 美姑县| 福清市| 泾源县| 科尔| 西盟| 石家庄市| 乌海市| 乌海市| 安远县| 曲周县| 遂宁市| 历史| 沂源县| 四子王旗| 吴川市| 若羌县| 大丰市| 景洪市| 集安市| 正宁县| 庄河市| 台中县| 南郑县| 定远县| 新丰县| 黑山县| 高尔夫| 巧家县| 禄丰县| 赤水市| 商丘市| 郯城县| 颍上县| 阳新县| 永仁县| 杭锦旗| 靖宇县| 长顺县|