这是HPC还是HA mySQL集群?

有人可以告诉我,如果这是一个高性能计算或高可用性mySQL集群

有一个设置的图片 。

这是他们谈论的config.ini一部分

 [ndbd default] NoOfReplicas=2 # Number of replicas 

NoOfReplicas确定我是否拥有HPC或HA集群是否正确?

使用该页面上的设置,可以获得HPC和HA的一些元素。 如果其中一个NDBD服务器发生故障,则SQL服务器将连接到另一个服务器,并且通常会继续运行而不需要任 如果某个SQL服务器出现故障,应用程序必须知道要连接到另一个SQL服务器(或者需要有一个抽象层)才能维护HA。

副本是为了在服务器之间提供冗余,从而可以提供更高的可用性。 副本的数量与分区中的服务器数量直接相关,可能会导致MySQL Cluster脱机。

分区是在服务器之间分割处理,这反过来可以提供更高的性能。 分区的数量与查询MySQL Cluster的服务器的数量直接相关。

让我看看我能否说清楚。 如果您有两个副本两个服务器,写入性能可能会降低,因为数据必须复制。 在这两种情况下,使用单个副本或两个副本,读取性能可能会得到增强,因为有两个分区(两个服务器)来分隔查询。

MySQL集群不提供MySQL服务器前端的冗余,因此它不是一个开箱即用的即时HA解决scheme。 您将需要应用程序逻辑来查找可用的SQL服务器,否则您将需要服务监视/networking逻辑来切换失败的SQL服务器。 (您也可以尝试直接在应用程序服务器上安装MySQL服务器前端。)

而且,MySQL Cluster的性能命中或好处将根据应用程序使用数据库的方式以及存在的瓶颈而有所不同。 从本地套接字切换到networking连接将增加延迟。 简单查询caching数据将在SQL服务器上遇到瓶颈。 另一方面,由处理器或磁盘I / O绑定的某些处理将会大大受益。 了解MySQL Cluster对您的应用程序的确切性能影响或好处的最好方法可能就是testing它。

首先,大多数HPC集群将包含HA的某些方面(但反过来不是这样)。 这是因为要更快地工作,每个节点必须与其他节点协调工作。 所以它通常有很多件可以在不停止其他的情况下失败。

但是最后,我想说MySQL集群主要用于HPC,而不是HA。