HA、RAC、Datagurad的區別

HA是High Availability 的首字母組合,翻譯過來,可以叫做高可用,或高可用性,高可用(環境)。我覺得應該說HA是壹個觀念而不是壹項或壹系列具體技術,就象網格一樣。作過系統方案就知道了,評價系統的性能當中就有壹項高可用。廣義的高可用涉及到系統的各個方面,簡單來說,讓系統不會中斷運行,就是高可用。包括軟件的高可用,硬件的高可用,網絡的高可用等等。具體實現的方案包括操作系統的集群,數據庫的集群,硬件的冗余,網絡的冗余等等。做HA方面的軟件,有IBM的HACMP(很多常用AIX的人,常說的HA就指HACMP,亂啊)、SUN的Sun Cluster、HP的MC/SG等。

    在2000年以前,大家談HA,大部分時候說的是操作系統壹級的雙機熱備,主流產品當時有IBM HACMP4.1,HP的MC/SG啥版本忘了,sun的系統很多人不用VCS,用的是壹個叫dataware的東西。現在很多人眼中的HA也還是這樣。時至今日,HA包括的東西可就多了,先不說其他方面,單就數據庫,單就Oracle,與HA相關的產品先後有:高級復制(AdvanceRepication)、OPS/RAC(Real Application Cluster)、數據衛士(Data Guard)、oracle流(Oracle Streams)、分區(Oracle Partition)這樣數款產品。照這麽說,RAC只是HA這個概念下的壹個具體產品而已!目前為止,只有RAC和分區是Oracle要收取licence的,其他的,只要給經驗豐富的第三方實施方付壹定的規劃/設計及部署費用就可以了;當然,也可以自己照著文檔依葫蘆畫瓢,但是這樣弄出的環境是否能達到高可用就難說了。事實上,大部分人所說的HA,還是狹義上的HA,也就是OS壹級的雙機熱備。
    RAC是real application cluster的簡稱,它是在多個主機上運行壹個數據庫的技術,即是壹個db多個instance。它的好處是可以由多個性能較差的機器構建出壹個整體性能很好的集群,並且實現了負載均衡,那麽當壹個節點出現故障時,其上的服務會自動轉到另外的節點去執行,用戶甚至感覺不到什麽。
    雙機熱備(HA)和RAC有啥區別呢?
    1、對於硬件來說,基本上壹樣,共享存儲、光纖線(也有還用SCSI線的)、多臺小型機(可以做多節點的相互熱備,也可以做多節點的RAC)、光纖交換機(如果是用光纖卡的話);但做RAC,在主機之間,最好使用高帶寬網絡交換機(雖然不用也可以做成);因此硬件成本相差不大。
    2、軟件呢,差別可不小。如果是雙機熱備,必須買操作系統級的雙機管理軟件;如果是RAC,目前還是建議購買雙機管理軟件(盡管10g的crs+asm可以擺脫雙機軟件了,但ASM目前實在太難伺候了),當然還得買RAC license。
    3、日常維護。RAC要求的技術含量更高,也應該更勤快。最關鍵的是得買oracle服務,否則遇到有些問題(bug),妳就比單機還不高可用了。
    4、優缺點。這個,看看RAC的官方論述吧。如果能用好,確實是很有好處的。目前我們的40多個客戶的使用情況來看,RAC確實大大降低了他們的downtime,另壹方面可以說就是提高了生產力咯。
    

     Dataguard壹般是出於容災的目的。是主數據庫的備用庫(standby 庫)通過自動傳送和接受archivelog,並且在dataguard庫自動apply 這些log,從而達到和主數據庫同步的目的,可能dataguard 庫是建立的異地的,當主庫所在的區域出現了致命性的災難時(火災、地震等),主庫沒法修復時,這時可以切換dataguard 為主庫的模式,對外提供服務,而它的數據基本是當前最新的。目前可能大家對於 dataguard 庫的使用已經拓展出了其他更多的用途,比如備份,跑報表等等。


資料來源:http://www.000-200.net/?p=517

留言

這個網誌中的熱門文章

java 數字轉字串 字串轉數字

MS sqlServer資料庫移轉至MySQL-->利用MySQL WorkBench

sql server 15023 error [SQL SERVER問題: 使用者、組或角色 '*****' 在當前資料庫中已存在]