1. 程式人生 > 其它 >SQL Server主從複製 訂閱型別對比

SQL Server主從複製 訂閱型別對比

1. 快照發布:                                  

釋出伺服器按預定的時間間隔向訂閱伺服器傳送已釋出資料的快照。

快照發布是完全按照資料和資料庫物件出現時的狀態來複制和分發它們的過程[2]。首先在某一時刻將釋出資料庫進行快照後產生映象檔案,然後在約定的時刻或時間間隔內由分發代理程式將檔案複製到訂閱資料庫。訂閱伺服器複製的內容是釋出資料庫某一時刻的狀態。

快照方式不實時進行資料同步,而是每隔一個時段或在某一個時間點進行資料庫複製,同步方式為單向同步。
優點是資料複製方式穩定,不必監視對資料的更新。由於是將資料庫複製到訂閱伺服器,所以在大資料量的同步場景下存在以下缺點:佔用網路頻寬較大、資料同步週期較長。

快照方式適用於以下場景:

(1)主庫資料量小、更新不頻繁。
(2)主從庫接受同步延遲。快照方式由於複製資料量大導致延遲較高,可以利用讀寫較少的時間(如深夜)進行快照複製,將影響範圍縮減至最低。

2.事務釋出:

在訂閱伺服器收到已釋出資料的初始快照後,釋出伺服器將事務流式傳輸到訂閱伺服器。

事務釋出是將釋出伺服器的初始快照將複製到訂閱伺服器。訂閱伺服器接收到初始資料後,代理服務會連續監測資料變化,當釋出伺服器上發生資料修改時,會將這些新增的事務傳遞給日誌代理,然後日誌代理通知訂閱伺服器,訂閱伺服器進行新增事務的執行。

主從伺服器之間通過新增事務複製的方式進行主從同步,釋出資料庫上增刪改等操作的事務日誌會在短時間內複製到訂閱資料庫。

相對快照複製,事務複製優點是複製內容小、資料傳遞快,所以從庫更新延遲小,對大資料量的同步有可靠保證。缺點是如果主庫進行讀寫操作頻繁,則同步過程中會對伺服器效能造成影響。由於釋出和訂閱服務之間是實時進行事務傳遞,所以要保證兩者之間相互連線的網路穩定可靠。

這種同步方式適用於以下應用場景:

(1)要求主從庫同步延遲小。因為複製的內容是資料庫更改的增量,且事務日誌內容較小,所以可以在較短的時間實現同步。
(2)主庫頻繁進行DML操作(增加、刪除、修改)。如果採用快照方式同步,則同步時延過高,不能做出及時響應。
(3)資料同步方式為單向。同步的方向是由釋出同步至訂閱伺服器,訂閱伺服器上的資料庫為只讀狀態。但如果訂閱資料庫上產生更改,則不會將事務回傳至釋出伺服器。

使用事務釋出方式實現資料同步(Data synchronization through transaction publishing):

1.SQL Server中要進行資料同步需要滿足以下條件:
2.被同步的資料表需要有主鍵,如果沒有主鍵則會增加一個int型別的自增列id(增量為1);
3.SQL Server代理服務必須啟動;
4.在進行SQL Server註冊時,釋出伺服器和訂閱伺服器必須使用計算機名稱,不能使用IP地址或別名註冊。

3. 對等釋出:

對等釋出支援多主複製。釋出伺服器將事務流式傳輸到拓撲中的所有對等方。所有對等節點可以讀取和寫入更改,且所有更改將傳播到拓撲中的所有節點。

4. 合併釋出:

在訂閱伺服器收到已釋出資料的初始快照後,釋出伺服器和訂閱伺服器可以獨立更新已釋出資料。更改會定期合併。Microsoft SQL Server Compact Edition 只能訂閱合併釋出。

他們的限制如下:

1、快照複製和事務複製是單向的(2005及以後的版本中加入了訂閱端可更新的事務複製)。
2、合併複製是雙向的。
3、快照複製對錶結構沒有要求。
4、事務複製要求表有主鍵。
5、合併複製要求表有 rowguid 列。