數據庫雙機熱備有兩種典型的方式,一種是比較標准的,兩台服務器通過一個共享的存儲設備(一般是共享的磁盤陣列或存儲區域網SAN),並且安裝雙機軟件,實現雙機熱備,稱為共享方式。另一種方式是通過純軟件的方式,一般稱為純軟件方式或鏡像方式(Mirror)。
對於共享方式,數據庫放在共享的存儲設備上。當一台服務器提供服務時,直接在存儲設備上進行讀寫。而當系統切換後,另一台服務器也同樣讀取該存儲設備上的數據。
對於純軟件的方式,通過鏡像軟件,將數據可以實時復制到另一台服務器上,這樣同樣的數據就在兩台服務器上各存在一份,如果一台服務器出現故障,可以及時切換到另一台服務器。
純軟件方式可以在一定程度上降低成本,但它也有非常明顯的缺點:
1.可靠性相對較差,兩服務器間的數據實時復制是一個比較脆弱的環節。
2.一旦某台服務器出現中斷,恢復後還要進行比較復雜的數據同步恢復。並且,這個時段系統處於無保護狀態。
3.沒有事務機制,由於其復制是在文件和磁盤層進行的,復制是否成功不會影響數據庫事務操作,因此有出現數據不完整變化的情況,這個存在著相當的風險。
因此,建議除非不得已,不要選擇純軟件方案。
但另一方面,有一種數據庫並行的解決方案,它不是在文件或磁盤層進行復制,而是直接對數據庫操作在前端進行路由分發,並行地以事務機制完成數據庫的更新,同時還可以提供數據庫的並行服務。這種方式目前針對SQL SERVER應用非常成功,明顯優於共享存儲+雙機軟件的方式