- 相關(guān)推薦
分布式數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)造技術(shù)的分析的論文
摘 要:本文從現(xiàn)代數(shù)據(jù)庫(kù)發(fā)展情況分析出發(fā),闡述了分布式數(shù)據(jù)庫(kù)的原理和體系結(jié)構(gòu),重點(diǎn)以SQL分布數(shù)據(jù)庫(kù)工具為例從分布式數(shù)據(jù)庫(kù)事務(wù)管理和并發(fā)控制、分布式數(shù)據(jù)庫(kù)備份與恢復(fù)以及分布式數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制三個(gè)方面探討分析了分布數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)造的關(guān)鍵技術(shù)。
關(guān)鍵詞:分布式;事物管理;數(shù)據(jù)復(fù)制
1.引言
隨著目前網(wǎng)絡(luò)數(shù)據(jù)庫(kù)迅猛發(fā)展的形勢(shì),數(shù)據(jù)庫(kù)的發(fā)展也和網(wǎng)絡(luò)緊密結(jié)合起來(lái)了,應(yīng)用最為廣泛的是分布式大型數(shù)據(jù)庫(kù)系統(tǒng)技術(shù),這種分布式的數(shù)據(jù)庫(kù)模型適合應(yīng)用在目前的各個(gè)大型的工程軟件中。分布式的數(shù)據(jù)庫(kù)模型通過(guò)數(shù)據(jù)共享技術(shù)和分散事物處理技術(shù)將不同地方的數(shù)據(jù)庫(kù)整合成為一個(gè)整體綜合性數(shù)據(jù)庫(kù)體系。因?yàn),分布式?shù)據(jù)庫(kù)是一個(gè)體系結(jié)構(gòu),不僅僅是把多個(gè)單獨(dú)的數(shù)據(jù)庫(kù)組合,而是借助合適的系統(tǒng)構(gòu)搭建一個(gè)邏輯上為一體協(xié)調(diào)一致的網(wǎng)絡(luò)數(shù)據(jù)庫(kù),目前應(yīng)用最為廣泛的是用瀏覽器/服務(wù)器(B/S)系統(tǒng)架構(gòu)來(lái)搭建分布數(shù)據(jù)庫(kù)系統(tǒng)。
2.分布式數(shù)據(jù)庫(kù)系統(tǒng)概述
分布式數(shù)據(jù)庫(kù)經(jīng)過(guò)設(shè)計(jì)上的統(tǒng)一后,把分散在網(wǎng)絡(luò)中各個(gè)數(shù)據(jù)庫(kù)在邏輯上連成一個(gè)整體,這種連成一體的數(shù)據(jù)庫(kù)每個(gè)節(jié)點(diǎn)都具有單獨(dú)數(shù)據(jù)處理能力,他執(zhí)行局部的數(shù)據(jù)運(yùn)算。并且,這些數(shù)據(jù)庫(kù)運(yùn)算的同時(shí),被數(shù)據(jù)庫(kù)體系整體配置,共同完成全局方面的運(yùn)算。分布式數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn)是分布性、邏輯協(xié)調(diào)性以及網(wǎng)絡(luò)統(tǒng)一性。因此,從系統(tǒng)的整體性能來(lái)說(shuō),分布式數(shù)據(jù)庫(kù)系統(tǒng)可以看做是體系中網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用的結(jié)合體。
目前,用于搭建分布式數(shù)據(jù)庫(kù)系統(tǒng)的體系構(gòu)架最為常用的是瀏覽器/服務(wù)器(B/S)系統(tǒng)架構(gòu)。B/S模式主要由瀏覽器、Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器三個(gè)層次組成,其本質(zhì)上是一種特殊的客戶/服務(wù)器結(jié)構(gòu),只不過(guò)它的客戶端簡(jiǎn)化為單一HTML語(yǔ)言的客戶軟件,因而簡(jiǎn)化了客戶端系統(tǒng)的管理和使用,可以使管理和維護(hù)集中在服務(wù)器端。在這種模式下,客戶端使用一個(gè)通用的瀏覽器,代替形形色色的各種應(yīng)用軟件,用戶的所有操作都是通過(guò)瀏覽器進(jìn)行的。在B/S體系結(jié)構(gòu)之中,納入組件模型和分布式組件模型,把中間層劃分為許多服務(wù)程序,將每個(gè)服務(wù)程序都視為獨(dú)立的層,這樣就形成了N層體系結(jié)構(gòu)和Web分布式計(jì)算的概念。典型的N層結(jié)構(gòu)就是基于Web的B/S結(jié)構(gòu)。
3.分布式數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)建重點(diǎn)技術(shù)
。1)分布式數(shù)據(jù)庫(kù)事務(wù)管理和并發(fā)控制
分布式數(shù)據(jù)庫(kù)系統(tǒng)中的事務(wù)并發(fā)控制及系統(tǒng)資源的有效利用主要靠事物管理來(lái)完成,分布式事務(wù)管理程序能夠保證多個(gè)事物并發(fā)協(xié)調(diào)準(zhǔn)確地執(zhí)行。分布數(shù)據(jù)庫(kù)中的事物控制著系統(tǒng)對(duì)各種數(shù)據(jù)項(xiàng)的訪問(wèn),一個(gè)事務(wù)通過(guò)分解成成多個(gè)子事務(wù)來(lái)訪問(wèn)多個(gè)站點(diǎn)的數(shù)據(jù),每個(gè)子事務(wù)負(fù)責(zé)對(duì)一個(gè)數(shù)據(jù)存儲(chǔ)站點(diǎn)進(jìn)行訪問(wèn)。而分布式的各個(gè)站點(diǎn)的事物通常并發(fā)運(yùn)行的。各局部站點(diǎn)上的事務(wù)以集中式數(shù)據(jù)庫(kù)系統(tǒng)的可串行化理論為基礎(chǔ)實(shí)現(xiàn)并發(fā)控制,即得到各站點(diǎn)上事務(wù)執(zhí)行的局部順序。在此基礎(chǔ)上,只需從全局系統(tǒng)的角度出發(fā),得到各個(gè)站點(diǎn)上事務(wù)執(zhí)行的全局的順序。由于分布式系統(tǒng)中不存在一個(gè)全局的時(shí)鐘概念,因此一般以事件的時(shí)戳來(lái)表示事件的發(fā)生順序,再構(gòu)造出系統(tǒng)的全局邏輯時(shí)問(wèn)順序,以確定事務(wù)的唯一順序。基本的并發(fā)控制的方法是封鎖方法。封鎖方法的基本思想是要求事務(wù)在對(duì)一數(shù)據(jù)項(xiàng)進(jìn)行操作之前必須首先申請(qǐng)對(duì)該數(shù)據(jù)項(xiàng)的封鎖(Clock),獲準(zhǔn)后方能進(jìn)行操作。如果該數(shù)據(jù)項(xiàng)己被其它事務(wù)封鎖且操作方式?jīng)_突,那么該事務(wù)處于等待狀態(tài),直到該數(shù)據(jù)對(duì)象被釋放為止。在封鎖機(jī)制中定義了兩種方式:共享鎖方式與互斥鎖方式。分別對(duì)應(yīng)于用戶對(duì)數(shù)據(jù)項(xiàng)的讀操作與寫操作。以目前最為常用的SQL數(shù)據(jù)庫(kù)管理工具為例,它使用鎖對(duì)象來(lái)防止多用戶在同一時(shí)間內(nèi)對(duì)某一數(shù)據(jù)庫(kù)進(jìn)行修改,并能防止一名用戶檢索正在被另一名用戶修改的數(shù)據(jù),鎖定有助于確保事務(wù)和數(shù)據(jù)保持邏輯上的一致。SQL Server的鎖管理能自動(dòng)獲得和釋放鎖。
(2)分布式數(shù)據(jù)庫(kù)備份與恢復(fù)
數(shù)據(jù)備份與恢復(fù)是實(shí)現(xiàn)信息安全運(yùn)行的重要技術(shù)之一,能保證信息系統(tǒng)因各種原因遭到破壞時(shí),能盡快投入使用。常用的分布式數(shù)據(jù)庫(kù)SQL Server備份數(shù)據(jù)庫(kù)有幾種方法:完全備份、差異備份、事務(wù)日志備份、文件組和數(shù)據(jù)文件備份。完全備份包括備份數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)、文件組或數(shù)據(jù)文件。差異備份只備份上次備份后進(jìn)行修改的數(shù)據(jù)。事務(wù)日志備份用于備份和刪除事務(wù)日志(事務(wù)曰志數(shù)據(jù)與數(shù)據(jù)庫(kù)備份協(xié)同工作)。文件組和數(shù)據(jù)文件備份用于數(shù)據(jù)庫(kù)中備份特定文件組或數(shù)據(jù)文件。SQL Server可以使用EnterpriseManager或T-SQL命令等備份。在實(shí)際的分布式數(shù)據(jù)庫(kù)系統(tǒng)中,可以采用手動(dòng)備份和自動(dòng)備份,一般采用手動(dòng)備份和自動(dòng)備份相結(jié)合的辦法。在備份中,分熱備份和冷備份。當(dāng)數(shù)據(jù)庫(kù)在使用時(shí),對(duì)數(shù)據(jù)庫(kù)備份成為熱備份;當(dāng)數(shù)據(jù)庫(kù)完全關(guān)閉后備份成為冷備份。SQL Server數(shù)據(jù)庫(kù)恢復(fù)分從完全備份中恢復(fù)、從差異備份中恢復(fù)及從事務(wù)日志備份中恢復(fù)。從完全備份中恢復(fù)過(guò)程很簡(jiǎn)單,只須用SQL Server EnterpriseManager或T-SQL就可以恢復(fù)備份文件。從差異備份中恢復(fù),先從完全備份中還原,再還原自上次完全備份后創(chuàng)建的差異備份。從事務(wù)日志中恢復(fù),要經(jīng)過(guò)以下步驟:
、偈褂肗O TRUNCATE選項(xiàng)備份當(dāng)前活動(dòng)的事務(wù)日志。
、谶原最新完全備份。
③還原所有差異備份以將數(shù)據(jù)庫(kù)返回到執(zhí)行最近一次備份操作時(shí)的狀態(tài)。
、苓原上次差異備份后創(chuàng)建的所有事務(wù)日志備份,以重新顯示上次備份后發(fā)生的所有事務(wù)。
⑤還原在第1步中創(chuàng)建的事務(wù)日志備份,以將數(shù)據(jù)庫(kù)返回到故障前的狀態(tài)。
。3)分布式數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制
數(shù)據(jù)復(fù)制是指在由兩個(gè)或者多個(gè)數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)成的一個(gè)分布式數(shù)據(jù)庫(kù)環(huán)境中拷貝數(shù)據(jù)的過(guò)程。這個(gè)過(guò)程中,將分布式數(shù)據(jù)庫(kù)中某個(gè)結(jié)點(diǎn)的數(shù)據(jù)拷貝到不同物理地點(diǎn)的數(shù)據(jù)庫(kù)中,以支持分布式應(yīng)用,它是整個(gè)分布式計(jì)算解決方案的一個(gè)重要組成部分。當(dāng)然,在實(shí)際應(yīng)用中,由于各個(gè)數(shù)據(jù)庫(kù)副本可能對(duì)相同的數(shù)據(jù)對(duì)象進(jìn)行操作,當(dāng)進(jìn)行數(shù)據(jù)同步時(shí),就會(huì)產(chǎn)生沖突,主要有更新沖突、唯一性沖突、刪除沖突等等。這些沖突會(huì)嚴(yán)重影響數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性。所以在復(fù)制過(guò)程中必須盡量防止數(shù)據(jù)沖突的產(chǎn)生,一旦發(fā)生沖突,就必須有預(yù)先設(shè)置好的沖突解決方法。分布式數(shù)據(jù)庫(kù)工具SQL Server能在不同節(jié)點(diǎn)間復(fù)制數(shù)據(jù)并自動(dòng)同步這些節(jié)點(diǎn)的數(shù)據(jù),用戶可以在同一服務(wù)的不同數(shù)據(jù)庫(kù)或不同的遠(yuǎn)程連接服務(wù)器之間復(fù)制數(shù)據(jù)。在分布式數(shù)據(jù)庫(kù)應(yīng)用環(huán)境中,不同的應(yīng)用領(lǐng)域?qū)?shù)據(jù)復(fù)制的要求各異,不可能有一種復(fù)制方法能夠適合所有領(lǐng)域中的應(yīng)用需要。為此,SOL Server提供了以下三種復(fù)制類型來(lái)滿足不同環(huán)境中的應(yīng)用需要:
①快照復(fù)制:快照復(fù)制是SQL Server中最簡(jiǎn)單的一種復(fù)制方式,它拷貝數(shù)據(jù)庫(kù)中出版物在某一時(shí)刻的結(jié)構(gòu)和數(shù)據(jù)狀態(tài),即建立出版物快照,之后通過(guò)復(fù)制代理將出版物快照復(fù)制給訂閱服務(wù)器?煺諒(fù)制操作由快照代理和分發(fā)代理實(shí)現(xiàn)?煺沾韺⒊霭嫖镏懈鳁l目(表)的結(jié)構(gòu)和數(shù)據(jù)拷貝到分發(fā)服務(wù)器的快照文件(但不是分發(fā)數(shù)據(jù)庫(kù))中,并在分發(fā)服務(wù)器的分發(fā)數(shù)據(jù)庫(kù)中記錄復(fù)制同步操作。分發(fā)服務(wù)器再根據(jù)分發(fā)數(shù)據(jù)庫(kù)中的同步記錄將快照文件傳遞到訂閱服務(wù)器的目的數(shù)據(jù)庫(kù)中。
、谑聞(wù)復(fù)制:采用事務(wù)復(fù)制方式時(shí),當(dāng)訂閱服務(wù)器對(duì)出版服務(wù)器中的出版物做到初始同步后,SQL Server監(jiān)視INSERT、UPDATE、DELETE等數(shù)據(jù)修改語(yǔ)句的執(zhí)行,并對(duì)影響出版物的事務(wù)進(jìn)行標(biāo)識(shí)。事務(wù)日志閱讀代理從事務(wù)日志中捕獲出版條目中數(shù)據(jù)的變化,并將引起這些變化的事務(wù)拷貝到分發(fā)服務(wù)器的分發(fā)數(shù)據(jù)庫(kù)中。之后,由分發(fā)服務(wù)器將這些事務(wù)傳遞給訂閱服務(wù)器,并在訂閱服務(wù)器上順序執(zhí)行這些事務(wù),對(duì)復(fù)制數(shù)據(jù)做增量修改,從而保證訂閱服務(wù)器中的復(fù)制數(shù)據(jù)與出版服務(wù)器出版物中的數(shù)據(jù)一致(但不是實(shí)時(shí)一致)。由于事務(wù)的數(shù)據(jù)量遠(yuǎn)小于它所操作數(shù)據(jù)庫(kù)的數(shù)據(jù)量,所以采用事務(wù)復(fù)制方式能夠有效減輕網(wǎng)絡(luò)的通信負(fù)擔(dān)。
③合并復(fù)制:合并復(fù)制允許用戶修改訂閱服務(wù)器中的訂閱數(shù)據(jù),它能夠自動(dòng)監(jiān)視訂閱數(shù)據(jù)庫(kù)中的數(shù)據(jù)變化并定期將這些變化進(jìn)行合并,再把合并后的結(jié)果提交給所有訂閱者,如果在合并過(guò)程中發(fā)現(xiàn)不同用戶對(duì)數(shù)據(jù)所做的修改存在沖突時(shí),合并代理程序?qū)⒏鶕?jù)建立訂閱時(shí)為訂閱者所設(shè)置的優(yōu)先級(jí)裁決哪個(gè)用戶的修改有效。
4.結(jié)束語(yǔ)
隨著信息技術(shù)的飛速發(fā)展,在社會(huì)應(yīng)用領(lǐng)域,對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)的需求更加迫切。許多關(guān)系著國(guó)民經(jīng)濟(jì)發(fā)展的行業(yè),例如水利、電力、交通、金融等行業(yè)由于所管轄的部門或企業(yè)往往在地域上比較分散,而在行政和業(yè)務(wù)管理上,既要求各部門具有獨(dú)立的局部控制、分散管理的能力,同時(shí),又要在整個(gè)行業(yè)內(nèi)實(shí)現(xiàn)對(duì)所有部門或所屬企業(yè)進(jìn)行全局控制,統(tǒng)一管理,分布式數(shù)據(jù)庫(kù)系統(tǒng)給這些行業(yè)數(shù)據(jù)管理發(fā)展起到巨大的推動(dòng)作用。
參考文獻(xiàn):
[1] 史斌. Oracle分布式數(shù)據(jù)庫(kù)及其實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2011, (26)
[2] 康婧. 基于RNN的數(shù)據(jù)分片技術(shù)的研究[J]. 數(shù)字技術(shù)與應(yīng)用, 2011, (07)
[3] 陳曉明. 分布式數(shù)據(jù)庫(kù)分片關(guān)系變換查詢優(yōu)化[J]. 電子設(shè)計(jì)工程, 2011, (08)
【分布式數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)造技術(shù)的分析的論文】相關(guān)文章:
建筑細(xì)部構(gòu)造防水施工技術(shù)優(yōu)秀論文09-28
關(guān)于建筑節(jié)能技術(shù)分析論文10-10
建筑施工防水防滲技術(shù)分析論文10-12