AWS Aurora 終於推出了Multi-Master,直面硬剛Oracle RAC。在多一份數據庫產品選擇的小興奮之餘,咱們也看看新推出的Multi-Master的特色(包括優缺點)。mysql
1. 首先,Aurora Multi-Master目前只有如下幾個Region可用sql
US East (N. Virginia), US East (Ohio), US West (Oregon), and EU (Ireland) 數據庫
2. 先來張圖,基本能夠看到,和Oracle RAC實現的機制是徹底不一樣的,Oracle RAC是內存層面的block cache fusion,Aurora MM是存儲複製,基本仍是停留在Oracle 9i的理論層面。這裏就不深刻對比這些了。併發
本文主要是比較Aurora Multi-Master和Single-Master.app
更多安裝/測試,請參考:ide
3. 有個統一的Endpoint能夠訪問,aurora能內部自動load balance性能
4. 也能夠建立定製化的Endpoint,只訪問其中一個instance測試
5. Multi-Master沒法建立replica,整個集羣,最多隻有兩個Master節點。大數據
若是想嘗試增長節點,會遇到下面提示。
6. Single-Master能夠增長15個replica,Cross Region replica和replica auto scaing等
7. Multi-Master當前只有Mysql-5.6.10a版本可選
8. 其實Single-Master科學的版本也不是不少
9. Multi-Master可選的機器類型只有下面三種,既沒有很小的機型,也沒有特別大的機型。
10. Single-Master可選的機型,就會豐富不少
總結,Mysql的開源的基因,也決定了,在不少高級功能上,和Oracle仍是有不小的差距的。畢竟都是Oracle公司的產品,一個很貴很貴,一個免費free。
可是隨個不少大公司的二次開發,在不少方面基於Mysql的數據庫產品,也變現出不少值得關注的地方。
Aurora Multi-Master,做爲一個新生產品,估計考慮到雙主的數據一致性問題,目前還不支持slave的狀況。一個Multi-Master集羣,目前最多有兩個節點。
Aurora single-Master,能夠有15個slave,在大數據量,高併發的查詢場景中,優點盡收眼底。因爲Aurora的存儲是共享的,因此,在Master發生failover的時候,slave接管的過程是很快的。主要延遲在存儲同步的gap。理論上,是秒級的failover。
因此,在使用過程當中,據須要根據業務狀況,數據庫可用性的容忍度。來決定,使用Multi-Master仍是Single-Master.
金融類強一致性要求的,而且這類傳統業務,數據量不會很大,兩個節點的Multi-Master,既保證了強一致性,也能知足性能要求。
若是有必定宕機容忍度的系統,Single-Master仍是更好的選擇,畢竟Master沒事也不是常常掛掉。
並且,越美麗,越炫技的功能,就越須要時間去沉澱,去穩定。
因此Aurora Multi-Master,在將來的路上,兩個Master是否能和平共處,仍是很值得關注的點。
小注:本文已經寫了2個月了,一直沒有發blog,爲啥沒發呢?我也不記得了!估計忙忘記了。因此關於內容部分,不知道在機型支持等細節,是否已經有更新。今天沒有驗證,直接發blog了。若有細微差異,見諒。