分布式數據庫系統構造技術(shù)的分析的論文
摘 要:本文從現代數據庫發(fā)展情況分析出發(fā),闡述了分布式數據庫的原理和體系結構,重點(diǎn)以SQL分布數據庫工具為例從分布式數據庫事務(wù)管理和并發(fā)控制、分布式數據庫備份與恢復以及分布式數據庫數據復制三個(gè)方面探討分析了分布數據庫系統構造的關(guān)鍵技術(shù)。

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