ここにいくつかの質問があります:
可用性/NoOfReplicas
MySQLクラスターは、データが2つ以上のデータノードプロセス間でレプリケートされるときに高可用性を提供できます。これには、NoOfReplicas構成パラメーターが2以上に設定されている必要があります。NoOfReplicas = 1の場合、各行は1つのデータノードにのみ格納されます。データノードに障害が発生すると、一部のデータが使用できなくなり、データベース全体が使用できなくなります。
マシン/ホストの数
NoOfReplicas = 2のHA構成の場合、少なくとも3つの個別のホストが必要です。すべてのデータのコピーを持つデータノードプロセスごとに1が必要です。2つのデータノードプロセス間の通信が失敗したときに「アービトレーター」として機能するには、3分の1が必要です。これにより、データノードの1つだけが書き込みトランザクションを受け入れ続けることが保証され、データの相違(スプリットブレイン)が回避されます。ホストが2つしかない場合、クラスターは一方のホストの障害に対してのみ回復力があり、代わりにもう一方のホストに障害が発生すると、クラスター全体に障害が発生します。アービトレーションの役割は非常に軽量であるため、この3番目のマシンは他のほとんどすべてのタスクにも使用できます。
データの局所性
NoOfReplicas = 2の2ノード構成では、各データノードプロセスがすべてのデータを格納します。ただし、これは、データの読み取り/書き込みに1つのデータノードプロセスのみが使用されることを意味するものではありません。どちらのプロセスも書き込みに関与し(コピーを維持する必要があるため)、通常、どちらのプロセスも読み取りに関与する可能性があります。
2ノード構成で読み取りの局所性を改善するためのいくつかの作業が検討されていますが、具体的なものはありません。
これは、MySQLD(または別のNdbApiクライアント)が2つのデータノードの1つと同じ場所に配置されている場合でも、他のデータノードとの通信が非常に多いことを意味します。