this が高性能コンピューティングまたは高可用性mySQLクラスターであるかどうか誰かに教えてもらえますか?
セットアップの 画像 があります。
これは彼らが話しているconfig.ini
の一部です
[ndbd default]
NoOfReplicas=2 # Number of replicas
NoOfReplicas
がHPCまたはHAクラスターのどちらを持っているかを決定することは正しく理解されていますか?
そのページに描かれているような設定で、HPCとHAのいくつかの要素を取得します。 NDBDサーバーの1つに障害が発生した場合、SQLサーバーは別のサーバーに接続し、通常は介入なしで続行します。 SQLサーバーの1つに障害が発生した場合、アプリケーションはHAを維持するために、別のSQLサーバーに接続することを認識している必要があります(または抽象化レイヤーが必要です)。
レプリカはサーバー間の冗長性のためのものであり、サーバーはより高い可用性を提供する可能性があります。レプリカの数は、MySQLClusterをオフラインにせずに失敗する可能性のあるパーティション内のサーバーの数と直接相関します。
パーティションはサーバー間で処理を分割するためのものであり、これによりパフォーマンスが向上する可能性があります。パーティションの数は、MySQLClusterへのクエリが分割されるサーバーの数と直接相関します。
これを明確にできるかどうか見てみましょう。 2つのレプリカを持つ2つのサーバーがある場合、データを複製する必要があるため、書き込みパフォーマンスが低下する可能性があります。どちらの場合も、単一のレプリカまたは2つのレプリカを使用すると、クエリを分割するパーティションが2つ(2つのサーバー)あるため、読み取りパフォーマンスが向上する可能性があります。
MySQL Clusterは、MySQL Serverフロントエンドの冗長性を提供しないため、すぐに使用できるインスタントHAソリューションではありません。使用可能なSQLサーバーを見つけるためのアプリケーションロジックが必要になるか、障害が発生したSQLサーバーを機能するSQLサーバーに切り替えるためのサービス監視/ネットワークロジックが必要になります。 (MySQL Serverフロントエンドをアプリケーションサーバーに直接インストールしてみることもできます。)
また、MySQL Clusterのパフォーマンスへの影響やメリットは、アプリケーションがデータベースをどのように使用しているか、およびどのようなボトルネックが存在するかによって異なります。ローカルソケットからネットワーク接続に切り替えると、待ち時間が長くなります。キャッシュされたデータの単純なクエリは、SQLサーバーでボトルネックになります。一方、プロセッサまたはディスクI/Oのいずれかに拘束される処理には、大きなメリットがあります。 MySQL Clusterがアプリケーションに与える正確なパフォーマンスの影響または利点を知る最良の方法は、それをテストすることかもしれません。
まず、ほとんどのHPCクラスターにはHAのいくつかの側面が含まれます(ただし、その逆は当てはまりません)。これは、より高速に動作するために、各ノードが他のノードとあまり調整せずに動作する必要があるためです。そのため、通常、他の部分を停止せずに失敗する可能性のある部分が多数あります。
しかし、結局のところ、MySQLクラスタリングは主にHAではなくHPCを対象としていると言えます。