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