程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 數據庫復本--網絡數據庫的復制和同步(1)

數據庫復本--網絡數據庫的復制和同步(1)

編輯:VB綜合教程
數據庫復本是復制數據庫的技術,利用這種技術,可以是數據庫的幾個拷貝保持同步。數據庫的每個拷貝稱為一個復本,並且每個復本都包含一個公共的表、查詢、窗體、報表、宏和模塊的集合;每個復本還可以包含只在本地計算機上使用的本地對象。
  
  在多用戶環境中,一個數據庫可能由多個用戶使用。在多用戶應用程序中,數據庫復本可以改善用戶共享數據庫的途徑。用數據庫復本可以重新產生一個數據庫,使兩個或多個用戶同時使用自己的數據庫復本。盡管各個復本放置在不同的計算機上,但它們是保持同步的。
  
  數據庫復本及其拓撲結構
  
  一個數據庫的兩個或多個以上的復本組成一個復本集,每個復本都是復本集的一部分。在復本集中含有數據庫的若干復本和設計原版(DesignMaster),其中設計原版是唯一能夠對數據庫進行設計修改的復本。同一個復本集中的復本可以相互交換數據後復制對象的更新,這種交換稱為同步。
  
  1.數據庫復本的用途
  
  按照傳統的做法,在多用戶數據庫應用程序中,通常將表從數據庫的其它對象中分離出來,使得數據能夠駐留在網絡服務器上,而查詢、窗體、報表、宏以及模塊則駐留在用戶的計算機上。當需要檢索或更新數據庫中的信息時,必須先登錄到網絡上,然後打開計算機上的數據庫,再打開服務器上相應的數據庫。如果使用數據庫復本技術,則可以建立既包含數據又包含對象的單一數據庫。
  
  在下列情況下,應該使用數據庫復本:
  
  (1)需要在各辦公室中共享數據。可以用數據庫復本建立一個單位的數據庫的拷貝,然後將其發送給每個相關的辦公室。用戶在每個辦公室把數據輸入到自己的復本中,並使所有的遠程復本都與單位的復本同步。下屬的各級復本能夠維護本地表,在該表中含有其它復本中的信息。
  
  (2)需要在分散的用戶之間共享數據。各終端用戶在辦公室以外輸入到數據庫中的新信息,可以在終端與單位的網絡建立起電子連接的任何時候被同步。在日常工作中,終端用戶可以撥入網絡,使復本同步,使用數據庫的當前最新版本。由於在同步期間只傳輸新增的更改,因此可以便維持數據更新所花費的時間和費用減到最小。此外,也可使用部分復本(partia1replicas),只同步部分數據。
  
  (3)需要提高服務器數據的可訪問性。如果應用程序不需要立即更新數據,則可以在主服務器上用數據庫復本來減少網絡加載。而用服務器本身的數據庫拷貝來引入第二服務器,則可以改善響應時間。
  
  (4)需要發布應用程序的更新。復制應用程序時,不僅自動復制表中的數據,還要復制應用程序的對象。如果對數據庫的設計作了更改,則MicrosoftJet數據庫引擎將在下一次同步期間傳輸這些更改,不必發布軟件的新版本。
  
  (5)需要防止全部數據遺失。數據庫復本發布跨越多個數據庫的數據,因此,當原始數據庫被破壞時,可以用復本數據庫中的某個數據庫來恢復數據。
  
  雖然數據庫復本可以解決分布式數據庫處理中固有的許多問題,但是在下列情況下,復本仍然達不到理想要求:
  
  1.)需要更新多個復本中的大量記錄。對於那些需要對不同復本中的現存記錄進行頻繁更新的應用程序,可能會比簡單地往數據庫中插入新記錄的應用程序產生更多的記錄沖突。當位於不同地點的用戶同時對同一個記錄進行修改時,將會發生記錄沖突。應用程序的記錄沖突越多,需要的處理時間就越多,因為這些沖突只能通過手工解決。
  
  2.)對數據一致性的要求非常嚴格。對於諸如資金過戶、航班機票的預訂以及包裹裝運的跟蹤之類的事務處理應用程序,要求ffnu時候的信息不能有半點差錯。如果能在一個復本內處理事務,就不要在幾個復本中處理。在同步期間,各復本間交換的信息,是事務的結果,而不是事務本身。
  
  2.復本集拓樸結構
  
  復本集拓撲結構定xT復本集中各復本間的通信以及tonp同步的邏輯。復本集的拓撲結構可以有各種不同的形式,但是對大多數的應用程序來說,較好的拓撲結構有兩種,即星型結構和完全連接結構,如圖所示。
  
  
  
  星型完全連接
  
  星型拓撲結構有一個集線器(Hub),該集線器定期與每個衛星復本同步。在這種拓撲結構中,所有數據通過單個集中化數據庫在各復本之間共享。由於數據在與其它復本同步時至多只需兩步“跳躍”,所以星型拓撲結構可以降低數據在各復本中的等待時間。
  
  在同步期間,如果交換的平均數據量相對較小,則對大多數應用程序來說,星型拓撲結構可能是最有效的解決方案。它的實現相當簡單,而且既有效又可靠。如果是第一次實現復本,則最好使用星型拓撲結構。
  
  如果把星型拓撲結構中的每個復本都變成一個集線器(Hub),就可以變為完全連接的拓撲結構。在完全連接的拓撲結構中,每個復本與復本集中的其它所有復本同步。完全拓撲結構一個最重要的好處是數據傳播的等待時間小。因為每個復本與其它所有復本同步,數據可以直接發送給所有復本,而不必經過一系列復本來間接傳播。->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved