web-dev-qa-db-ja.com

MySQL Clusterのマスターノードとスレーブノードの違いは何ですか?

MySQL Cluster 7.1.15aを使用しています。

2つのノードがあります。ndb_mgm-eは次のように表示します。

[ndbd(NDB)]     2 node(s)
id=3    @X  (mysql-5.1.56 ndb-7.1.15, starting, Nodegroup: 0, Master)
id=4    @Y  (mysql-5.1.56 ndb-7.1.15, starting, Nodegroup: 0)

(開始状態は無視して、クラスターを開始したところです)

ノードID 3はマスターです

  • どういう意味ですか ?
  • マスターノードとスレーブノードの違いは何ですか?

とにかくmysqlノードを使用して接続するので、接続するデータノードを選択しません。

  • 書き込みはマスターで行われ、スレーブで読み取りますか?
  • Mysqlノードに接続すると、透過的に発生しますか?
2
ufk

クラスターにマスター/スレーブがなく、ノードはすべてアクティブです。そのマスターラベルは内部のものであり、あなたはそれを気にする必要はありません。

@トム:mysqlクラスタを知っていますか?特定のユースケースであることは、「奇妙」であるという意味ではありません。より正確に言えば、MySQL Clusterは、並列データベースであるため、大量の小さなトランザクションがある場合に最適です。少数の大きなトランザクションがある場合、そうでない場合。しかし、小さなトランザクションがある場合は、それらをノード間で分散できます。

マッシモ

2
Massimo

Ndb_mgm showコマンドの出力で「マスター」とマークされたデータノードは、一部のクラスター内部管理タスクのコーディネーターです。たとえば、DDLコマンドによる分散ディクショナリへの変更を調整し、ノードの結合および脱退トランザクションを管理します。 「マスター」の役割は動的であり、通常、クラスター内で最も長く実行されているデータノードに割り当てられ、そのノードに障害が発生した場合にのみ移動します。

「マスター」の役割は、MySQLレプリケーションの「マスター/スレーブ」の概念とはまったく無関係であり、クラスタ内のノード間のデータのレプリケーションにも影響しません。 「コーディネーター」や「リーダー」と呼ばれた方がいいかもしれません。あなたが言うように、MySQLDがどのデータノードを使用するかを気にする必要はありません。すべてがほとんどの操作で同等であり、自動的に処理されます。

4
Frazer Clement

特定の質問に答えるために:このコンテキストでのマスターとは、コーディネートするチェックポイントとスキーマの変更(テーブルの作成/ドロップ/変更)がこの特定のノードであることを意味します

データの責任はすべてのノードで等しく共有されます。トランザクション調整の責任もすべてのノードで等しく共有されます。

MySQL Clusterは、それがどこで使用されるかという点で、さまざまなWeb、通信、政府のユースケースで実証されており、これらは7.2リリース(現在は開発リリース)で拡張され、より高速で複雑なJOINパフォーマンスをネイティブでサポートしています。 memcached API、新しいgeoレプリケーションオプション

7.2の詳細はこちら: http://dev.mysql.com/tech-resources/articles/mysql-cluster-7.2.html

そして、現在の顧客の使用事例のリスト(ここで公に話すことを許可されているもの): http://mysql.com/customers/cluster/

3
Mat Keep