[免責事項]私はデータベースは初めてではありませんが、レプリケーションとクラスタについてはまったくの初心者です...
ご存じかもしれませんが、Mysqlは新機能 MySql Group Replication を利用可能にしました。
そのようなアーキテクチャとクラスタの基本的な違いを誰かが私に説明できますか?どちらか一方のみに存在する主要な機能はありますか?ノードのフォールトトレランス?ライブステータスに戻る機能?すべてのアドバイスは大歓迎です...
ありがとう
グループレプリケーションvs Galera(別名PXC)
グループレプリケーションはたった数か月前のものです。ガレラは何年も前から存在しています。 GRがその価値を確立したら(そうなると思います)、答えはmayのようになります...
それらは非常に似ています。どちらもHAの優れた機能を果たします。クラッシュした単一ノードは、通常は自動的に回復できます。どちらも、高度なreadスケーリングを提供します。 GRは、より多くのwriteスケーリングを提供することを約束します。
要件やさまざまな事柄に対する許容度がわからなければ、どちらに進むべきかアドバイスできません。おそらく、このフォーラムのMySQL/MariaDB/Perconaユーザーの90%は、いかなる形式のレプリケーションも使用していません。最初の質問は、レプリケーションソリューションが必要ですか?
アーキテクチャは異なりますが、目標は似ています。つまり、「猫の皮をむく方法は複数あります」。
私の意見では、フォールトトレランスは、ノードを少なくとも3つの別々の地理的な場所(洪水/竜巻/地震など)に配置する場合にのみ実現可能です。両方許可します。私はすべての単一障害点を乗り切るというルールを使用し、「データセンター」を障害点として含めます。
GRは、Oracleの以前の製品であるファブリックを大幅に改善したものです。
あなたがシャーディングについて言及しなかったので、私はそれについて言及しませんでした。
MySQLクラスター
「MySQL Cluster」という用語は紛らわしいです。技術的には「NDBクラスター」を指し、「グループレプリケーション」または「InnoDBクラスター」とは大きく異なります。
NDBはイブラヒムによって簡単に議論されていますが、私は「これまでで最高の解決策」とまでは言いません。
NDBはもともと、電話交換の非常に信頼できる処理のための電話会社のアプリケーションでした。 MySQL、Oracle、およびThreeNinesは、それを拡張して、一般的なRDBMSにsomewhat近づけました。高い信頼性を保持しています。
NDBの使用は、NDBが提供する特定の機能を必要とするアプリケーションに限定します。
アドバイス
MySQLを使用してデータベースの世界から始めた人には、複製されていないInnoDBベースのデータセットを使用します。レプリケーション/ HA /スケーリングが必要な場合は、グループレプリケーションまたはGaleraを検討してください。アプリケーションに適している場合にのみ、NDBに移動します。
これらのさまざまなオプションがあります。