關於Oracle的rac集群和mysql Galera Cluster的想法


到了新公司,公司用的是rac,我比較熟悉mysql第三方的集群方案Galera Cluster這類多主集群,

下面是我參考了他人對rac的介紹,然后和mysql方案進行的臆測級別的分析對比。

rac和mysql Galera Cluster(mgc)的對比,

1、實施和運維,rac是商業方案系統化性當然強點,mgc大多使用各種開源高可用負載均衡器,部署起來對實施人員的要求rac比較低,廢話。。。rmb都給了甲骨文了,如果是自行配制弄得不好性能2台還不如一台,其實運維方面來說體量大了都一樣;

2、相通性,都是多點事務方案,事務可以在事務節點集群中的任何一個開始,理論上將中間失敗也可以自動去另一個節點繼續,提交事務是到每台節點上同步,看有沒有一個節點上因為鎖出現不能提交,那樣就事務回滾了,

3、不同性,rac事務節點集群跟數據節點集群分離,數據默認並不冗余,只有事務在運行狀態下在事務節點冗余,當然有的時候都在一台機器上,但是至少是不同進程,而包mysql在內的其他主流sqldb的事務、數據似乎都在一起,是真正的多主,冗余量高,而rac應該算事務節點冗余,數據不冗余,如果不從底層數據節點做游離於rac架構之外的底層數據節點冗余,那么rac怎么都不可能比同樣節點數量的單機甲骨文實例要性能高,

這樣產生的優缺點:

1、rac的數據節點當然首先節省硬盤空間,理論上可以針對庫、表、表分區級別進行選擇物理不同的數據節點、硬盤進行冗余進行底層冗余,不像mgc要么都冗余,要么都不冗余

2、mysql每個節點 同時是適合寫和讀的,所以mgc的多主不僅提高了事務的並發能力,更同時增加了不上讀鎖的數據的讀取並發能力,這點遠超rac

3、rac本身雖然是高可用方案,故障轉移方案,有很高的運維上的可用性要求,層次過多,運維要求很高,當然你可以全交給dba和甲骨文付費服務,自己弄要求非常高,這方面mysql的因為層次少些相對容易運維,當然前提是你的運維人員本來就對mysql集群方案玩的很溜,否則你如果是個產品經理或者項目經理只能覺得mysql不好搞

4、mgc同時抱有對讀寫、事務的性能提升,並且直接是高可用的,結構簡單,單點問題比rac,因為層次少了,所以應該會少,

5、rac得益於甲骨文的天生特效,更適合統計類、bi類,這方面mysql沒轍,比不了

6、mgc適合主熱數據的讀寫,不太適合做復雜的關聯查詢,應該比較適宜業務偏簡單的互聯網應用

 

本質上,很多人用甲骨文的原因僅僅是不敢把寶押在開源和名聲稍有問題的mysql上。企業應用用甲骨文 實在多少有點冤大頭 哈哈哈

互聯網就該考慮mysql,如果要兼容並聯查詢能力 實施pgsql吧


免責聲明!

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



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