所謂數據復制,就是將數據庫中的數據資源復制到一個或多個不同的物理站點上。數據復制技術可以有效地保證目標數據庫與源數據庫的中數據的一致性。 目前,很多領域都會用到數據通信復制技術,如分布對象系統、移動計算和分布式數據庫系統等。
1 數據復制的概念
所謂數據復制,就是將數據庫中的數據資源復制到一個或多個不同的物理站點上。數據復制技術可以有效地保證目標數據庫與源數據庫的中數據的一致性。
1.1 訪問地有效性
我們在進行數據處理里,有時候受到網絡的限制無法使用廣域網WAN,為了可以繼續訪問本地數據,我們可以采用數據復制技術。在復制時,用戶可以直接在本地訊問數據,非常方便,而不用通過數據庫之間的網絡連接來獲取用戶需要的數據資源。
1.2 縮短響應時間
數據復制可以縮短數據請求的響應時間,其原因如下:
1)由于數據復制的請求是在本地服務器上進行的,不需要訪問網絡,所以檢索速度更快。
2)在本地服務器上處理數據減輕了中心數據庫服務器的負擔,同時也緩解了對處理器時間的爭用。
1.3 事務的完整性
確保每個數據庫始終保持事務完整性是任何復制系統都面臨的挑戰。Replication Server 和 SQL Remote 按以下方式復制事務日志的各個部分,因此在復制期間可保持事務的完整性。
MobiLink合并多個已提交的事務中所做的更改。這些更改以單個事務的方式應用到另一數據庫中。
1.4 數據的準確性
我們在數據復制時,要使整個系統中的數據保持一致,提高數據的準確性。復制系統在整個體系中將工作時所做的改變以準確無誤的方式復制到其他站點上,但是不同的站點在同一時間擁有不同的數據副本。
2 數據復制的分類
在數據復制技術中,復制配置和復制類型是兩個重要方面,是區別不同復制技術的主要指標。配置,指的是有多少個源服務器被復制到多少個目標服務器,包括一對一復制、一對多復制、多對一復制、多對多復制。復制類型,指的是程序如何在兩個系統之間進行數據同步,一個復制解決方案可能根據計劃好的時間間隔來使數據保持同步,也可以用同步復制或異步復制的方式連續進行數據復制。數據復制類型主要有以下幾種:
1)同步復制
在一個同步復制環境中,為了確保目標系統上最高程度的數據整體性,數據必須在主系統完成寫入之前被寫入到目標系統中。一方面,同步復制使得無論何時,目標系統上的數據都與源系統數據完全相同;另一方面,同步復制也可能導致源系統的性能延遲,尤其是在兩個系統間的網絡連接速度比較慢的情況下,延遲問題更為嚴重。
2)異步復制
在異步復制時,復制軟件會對數據進行排隊,然后在網絡可用期間在系統之間批處理地傳遞改變的數據,源系統在執行前不會等候目標系統的確認。為了保持數據的完整性,有些解決方案將同步和異步復制操作組合在一起:當發生通訊問題時,同步復制會轉為異步復制;當通訊問題解決后,又會轉回同步方式。
3)計劃復制
對有些用途而言,連續的復制不是理想的方案,采用計劃復制更為適宜。在這種復制方式中,變化的數據將按預先設定的時間間隔被同步復制。
數據復制技術的應用范圍非常廣,不同的范圍內,復制的目標數據、數據復制粒度及重要技術都有很大差別。如分布數據庫、分布對象和移動計算等,這些應用領域和分布式儲存關系非常密切。分布數據庫系統的關鍵技術是非常有效的數據復制技術,它可以幫助我們有效地提高數據庫系統的性能,如增強系統容錯能力、改善數據訪問性能和實現數據系統的`負載平衡等。
由于移動環境下網絡帶寬低、速度慢。如果采用數據復制技術,可以根據當前用戶的訪問需求和分布情況,進行動態數據復制。這樣做的好處是:可以使移動用戶就近訪問并復制所需的數據,大大提高訪問的性能。
3 數據網格中的數據復制技術
為了改善數據網格系統性能,我們在網絡系統中大范圍地使用了數據復制技術。與傳統分布式系統應用領域中的復制相比,數據網格中的復制技術在復制目標、復制粒度、復制關鍵技術等方面表現出獨特性質。數據網格系統中,采用數據復制技術的目的是為了節省網絡帶寬、減少系統的訪問時間等。在使用數據復制技術時通過數據在網格中的流動,實現數據網格系統的性能優化,也就是根據用戶的訪問需求和數據網格系統的數據特征自動將數據流復制到不同的網格節點或服務器上。
3.1 在網格中數據復制的特點
數據復制技術可以多個服務器上建立數據備份,如果我們在操作過程中發現某個服務器中的數據出錯,就可以使用其他服務器進行操作,這樣可以提高數據的準確性和數據的可用性。數據復制技術為了提高使用效率,降低傳輸負載,一般都會將遠程服務器中的數據復制到本地服務器,讓用戶就近訪問并復制所需的數據,大大提高訪問的性能。但是,網格中的數據復制技術與分布對象等、分布數據庫中的復制技術相比,還有一些問題要注意改進。
1)在數據系統中,用戶可以把數據存儲為一般文件、XML文件及各類數據庫文件等;
2)而在數據網格系統中,需要充分考慮網絡開銷,這和數據庫、分布對象系統選擇副本時是不同的,只在減少網絡開銷,才能提高使用數據的速度;
3)在數據網格系統中,由于網格環境是呈動態性的,而且數據副本的數量可達幾百甚至更多,存在巨大的數據量,為了對副本進行有效管理;我們必須采用合理的動態副本創建策略才能滿足要求;
4)一方面,數據網格系統中的數據量巨大,且操作頻率很高,整個文件的內容會被一個操作改寫。這和傳統的數據庫中副本同步時幾個小事務的操作有著很大的不同;而另一方面,數據網格中的數據廣泛分布和復制在WAN上,更加靈活,一般的保持副本一致性算法并不適用于此。
3.2 在數據網格中對復制系統的相關需求
根據網絡系統特點和對數據復制技術的分析,我們在使用數據網格下的數據復制系統需要注意以下幾點需求:
1)動態性:在創建副本時,復制系統可以按需動態創建副本和刪除副本;
2)適應性:復制系統需要考慮各種網絡問題,如本地網速、用戶網速以及訪問失敗等多種情況;
3)安全性:在創建副本時,應保證用戶數據訪問的安全,不讓有圖謀的他人進入;
4)有效性:復制系統創建副本時必須考慮資源和時間的開銷,用自己能利用的資源設計出最佳方案;
5)靈活性:復制系統能夠根據操作需要,靈活創建、刪除和管理副本。
3.3 數據網格復制
Globus中數據管理的另一個基本服務是復制(replica management),Globus中數據的復制管理主要是針對遠程的大型數據庫文件進行訪問。replica的原意是指復制品,即在文件復制時要與其本身保持一致性。為了滿足這個要求,在復制管理體系結構中,必須要有一個支持WAN的分布式數據庫。這樣就可以在對文件復制時進行修改。同時,在原子操作時對文件進行加密。
在Globus項目中沒有采用復雜的分布數據庫。Globus中的復制管理服務實際上沒有按照“replica”的一般語義進行實現,而是對“replica”語義放寬了限制,對于文件的多個復制操作,Globus的復制服務不會主動執行任何操作來檢查確保文件的一致性。而當用戶在復制一個注冊的邏輯集合文件時,則需要由操作來保持數據文件之間的一致性。
在分布式計算的環境中,有時會遇到計算失敗,或網絡問題,這就給我們的復制管理服務提出了更高的要求,可以快速從錯誤中回復,并保持數據的一致性。在Globus的復制管理服務功能中只能夠保證注冊文件的一致性,但不能保證存儲在復制管理服務中信息的一致性。
Globus復制目錄服務可以使科學應用程序快速地進行數據訪問,它是Globus復制管理的核。其工作原理是智能地把部分相關數據放置在離科學應用程序最近的位置。復制管理服務的功能主要包括:注冊新的拷貝到復制目錄中以、創建全部或部分文件集合的新拷貝、允許用戶查詢復制目錄來找到部分或全部文件集合的拷貝。
本文來源:http://www.nvnqwx.com/shiyongwen/2164193.htm