web-dev-qa-db-ja.com

スプリットブレインシナリオ-RACとPXC

スプリットブレインシナリオはOracleRACとPerconaのXtraDBクラスターの両方で発生しますが、2ノードクラスターは許可され、スプリットブレインシナリオはRACで解決されますが、Perconaクラスターでは2ノードは推奨されません(3ノードが推奨されます)。なんでそんなの? Perconaは2ノードクラスターで発生するスプリットブレインを解決しませんか?私は2つの異なるテクノロジーを比較していることを知っていますが、それでも誰かがこれを解決できれば。

ありがとう!

2
tesla747

Oracle RACがスプリットブレインを処理でき、PXCが処理できない理由がわかります。

アーキテクチャとデータストレージでそれらを分離するもの。どんな風に ???

Oracle RAC

  • すべてのRACインスタンスは、1セットのデータベースファイルのみを処理します
  • 各RACインスタンスには、独自のログバッファとLGWR(ログライター)プロセスがあります
  • Oracle RACインスタンスへの書き込みは、一時的にダウンしているノードであっても、ログシーケンス番号を合体させてシリアル化することができます。

PerconaXtraDBクラスター

  • 各PXCノードには、独自の完全なデータセットがあります
  • 1つのPXCノードへの書き込みは、すべてのノードで同時にロールバックまたはコミットする必要があります
  • 通信で分割されたPXCノードへの書き込みは、データのローカルコピーに対してのみ更新/コミットします。通信が再度確立された場合、他の接続されていないPXCノードによるこのような書き込みの認識は存在しません。

PerconaのPXCに関するよくある質問 によると

Q:スプリットブレインをどのように処理しますか?

A:それはそれを処理しません。スプリットブレインはハードストップであり、XtraDBクラスターはそれを解決できません。そのため、最小限の推奨事項は3つのノードを持つことです。ただし、ノードがトラフィックを処理できるようにする可能性があります。オプションは次のとおりです。

wsrep_provider_options="pc.ignore_sb = yes"

概要

  • Oracle RACは、クラスターとしてACIDに準拠しています(ここでも、1セットのデータベースファイル)
  • Percona XtraDBクラスターはACIDコンプライアンスの代わりに CAP定理に従います
  • Vadim Tkachenko(Percona CTO)がスプリットブレインシナリオとそれがあなたの責任である方法について説明しているYouTubeビデオを参照してください( ビデオは17:00マークから始まり、19:20以上まで聞く
3
RolandoMySQLDBA