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クラスタを知っていますか?特定のユースケースであることは、「奇妙」であるという意味ではありません。より正確に言えば、MySQL Clusterは、並列データベースであるため、大量の小さなトランザクションがある場合に最適です。少数の大きなトランザクションがある場合、そうでない場合。しかし、小さなトランザクションがある場合は、それらをノード間で分散できます。
マッシモ
Ndb_mgm showコマンドの出力で「マスター」とマークされたデータノードは、一部のクラスター内部管理タスクのコーディネーターです。たとえば、DDLコマンドによる分散ディクショナリへの変更を調整し、ノードの結合および脱退トランザクションを管理します。 「マスター」の役割は動的であり、通常、クラスター内で最も長く実行されているデータノードに割り当てられ、そのノードに障害が発生した場合にのみ移動します。
「マスター」の役割は、MySQLレプリケーションの「マスター/スレーブ」の概念とはまったく無関係であり、クラスタ内のノード間のデータのレプリケーションにも影響しません。 「コーディネーター」や「リーダー」と呼ばれた方がいいかもしれません。あなたが言うように、MySQLDがどのデータノードを使用するかを気にする必要はありません。すべてがほとんどの操作で同等であり、自動的に処理されます。
特定の質問に答えるために:このコンテキストでのマスターとは、コーディネートするチェックポイントとスキーマの変更(テーブルの作成/ドロップ/変更)がこの特定のノードであることを意味します
データの責任はすべてのノードで等しく共有されます。トランザクション調整の責任もすべてのノードで等しく共有されます。
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/