SQL SERVER 中常見的高可用方案


數據庫環境:SQL SERVER 2005 +

1、Replication,我們常用的是Transactional Replication。可以支持單向和雙向的數據同步。工作在Table Level。由於基於transaction,(內部使用了類似Snapshot鏈出改變頁的方法),他的同步單位較小,在實踐中,往往只需要幾分鍾的時間就可以得到最新的數據。缺點,雖然允許Replication  Schema Change,但是對於真正的DDL修改的時候有時需要手動的進行修改。容易出現數據同步問題,而且復雜的查詢可能導致Replication的性能並導致數據同步問題

2、Log Shipping。基於Backup/Restore。換而言之,它實際是自動的log backup傳輸到遠程,然后恢復的。正如Restore備份數據庫的時候數據庫會處於單用戶狀態,在restore的時候,所有的當前用戶鏈接會被斷開,當然可以配置等待所有操作完成。沒有數據不同步的問題。

3、Databaes Mirroring。只是在考MSITS的時候涉及過這個技術,沒有實際用過。同步的數據庫處於不可用狀態,但是可以通過snapshot進行訪問。snapshot的數目不被限制,但是不得不選擇不同的名字。這對於數據庫查詢比較麻煩。沒有數據不同步的問題。

Replication 最大的優點在於數據同步的迅速,用戶不會感覺到變化,用戶查詢不會被數據的更新影響。
Logshipping 的優點則在於簡單易用,容錯性高。但用戶被經常打斷。

Databaes Mirroring  數據庫鏡像對可用性的提高程度遠遠大於先前使用 Microsoft SQL Server 對可用性的提高,並為故障轉移群集或日志傳送提供了易於管理的替代或補充。同步數據庫鏡像會話時,數據庫鏡像提供了熱備用服務器,可支持在已提交事務不丟 失數據的情況下進行快速故障轉移。在一般的鏡像會話期間,如果生產服務器出現故障,客戶端應用程序可以通過重新連接到備用服務器來快速進行恢復。
下面借一個圖來說明各個特點:

  復制(Replication) 日志傳送(Log Shipping) 鏡像(Mirroring) 故障轉移集群(Failover Clustering)
標准版/企業版 YES YES 標准版僅支持同步模式 標准版僅2節點
節點數 1:N 1:N 1:1 取決於操作系統節點數上限
粒度 數據庫 數據庫 實例
恢復模式 Full/Simple Full/Bulk_logged Full ALL
是否監視主庫故障 NO
    監視器只監視同步狀態,
    不監視publication server failure
NO
    monitor server只監視backup/retore status
    不監視primary server failure
Witness,可監視主庫故障 YES
是否自動故障轉移 NO(warm standby) NO(warm standby) YES(hot standby),
    如果沒有witness則不能自動,為warm standby
YES
延遲 取決於Log Reader Agent & Distribution Agent 取決於Log backup/restore頻率 同步/異步模式 只有一份數據
同步方式 從distributor分發,可推送,可讀取 通過數據庫備份文件的copy/restore Log stream 只有一份數據
從庫是否可以訪問 subscription可讀寫,
    但默認寫不會被回傳到Publication
可設置secondary server為standby模式,只讀 mirrored db可通過snapshot只讀 只有一份數據
應用場景 讀寫分離 讀寫分離,溫備 讀寫分離,溫備/熱備 服務器/操作系統/應用軟件的備份


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM