web-dev-qa-db-ja.com

MysqlグループのレプリケーションとMysqlクラスター

[免責事項]私はデータベースは初めてではありませんが、レプリケーションとクラスタについてはまったくの初心者です...

ご存じかもしれませんが、Mysqlは新機能 MySql Group Replication を利用可能にしました。

そのようなアーキテクチャとクラスタの基本的な違いを誰かが私に説明できますか?どちらか一方のみに存在する主要な機能はありますか?ノードのフォールトトレランス?ライブステータスに戻る機能?すべてのアドバイスは大歓迎です...

ありがとう

3
tdaget

グループレプリケーション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に移動します。

4
Rick James
  • これらのさまざまなオプションがあります。

    • 複製なしの単一ノード
      • 読み取り/書き込みを処理する1つのマスター。マスターがダウンした場合、あなたは死んでいます。
    • 1つ以上のレプリケーションノードを持つ単一ノードMysql Normal Replication

      • 書き込みを処理する1つのマスター。
      • rEAD操作には役立ちますが、WRITE操作には役立たない1つ以上のレプリカ。
      • マスターがダウンした場合は、レプリカノードの1つをピックアップしてマスターになります。
      • ダウンタイムは、レプリカをマスターとして起動するために必要な時間です。
    • グループレプリケーションを備えたマルチマスターMYSQL Group Replication

      • 書き込み操作に役立つ複数のマスターノード。
      • すべてのグループノードがREAD操作を支援します。
      • 変更は他のノードに同期され、競合を自動的に処理します。
      • マスターの1人がダウンしても、まだ生きています。
      • すべてのマスターがダウンした場合にのみ、あなたは死んでいます。
    • クラスタ
      • これまでで最高のソリューション。
      • あなたが持っている:
        • データノード
        • アプリケーションノード/ MYSQLD
        • 管理ノード
      • データは同期モードで同期されます。
      • 自動シャーディング
      • 競合のない並列書き込み。
2
Ibrahim Albarki