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