Mysql

Mysql Group 複製 vs Mysql Cluster

  • August 22, 2018

$$ disclaimer $$我對數據庫並不陌生,但對複制和集群完全是新手…… 您可能知道 Mysql 提供了一個新功能:MySql Group Replication

有誰能解釋一下這種架構和集群之間的根本區別嗎?任何主要功能僅存在兩者之一?節點容錯?有能力恢復生活狀態嗎?歡迎每一個建議…

謝謝

組複製與 Galera(又名 PXC)

組複製只有幾個月的歷史;Galera 已經存在很多年了。一旦 GR 確立了它的價值(我認為它會),答案可能是這樣的……

它們非常相似。兩者都在 HA 方面做得很好——任何單個節點崩潰都可以恢復,通常是自動的。兩者都提供了高度的讀取縮放。GR 承諾提供更多的寫入擴展。

在不了解您的要求以及您對各種事物的容忍度的情況下,我無法建議您走哪條路。也許這個論壇上 90% 的 MySQL/MariaDB/Percona 使用者不使用任何形式的 Replication。那麼,第一個問題是,您需要任何 Replication 解決方案嗎?

架構不同,但目標相似。也就是說,“給貓剝皮的方法不止一種”。

在我看來,只有當您願意將節點放置在至少 3 個不同的地理位置(想想洪水/龍捲風/地震/等)時,才能實現容錯。兩者都允許這樣做。我使用任何單點故障的生存規則,並將“數據中心”作為故障點。

GR 是對 Oracle 之前的產品 Fabric 的重大改進。

既然你沒有提到 Sharding,那我就不提了。

MySQL 集群

“MySQL 集群”一詞令人困惑;從技術上講,它指的是“NDB Cluster”,它與“Group Replication”又名“InnoDB Cluster”有很大不同。

Ibrahim 簡要討論了 NDB,但我不會說“有史以來最好的解決方案”。

NDB 最初是一個電信應用程序,用於非常可靠地處理電話交換。MySQL、Oracle 和 ManyNines 對其進行了增強,使其接近一般的 RDBMS。它保留了它的高可靠性。

我會將 NDB 的使用限制在需要它提供的特定功能的應用程序中。

建議

對於開始使用 MySQL 的數據庫世界的人來說,我會使用基於 InnoDB 的非複制數據集。當需要複製 / HA / 擴展時,請考慮 Group Replication 或 Galera。僅當 NDB 更適合您的應用程序時才移至 NDB。

引用自:https://dba.stackexchange.com/questions/161855