As réplicas são para redundância entre servidores, o que, por sua vez, pode fornecer maior disponibilidade. O número de réplicas se correlaciona diretamente com o número de servidores em uma partição que pode falhar sem colocar o cluster do MySQL offline.
As partições são para dividir o processamento entre os servidores, o que, por sua vez, pode fornecer maior desempenho. O número de partições se correlaciona diretamente com o número de servidores que as consultas ao MySQL Cluster serão divididas.
Deixe-me ver se consigo deixar isso claro. Se você tiver dois servidores com duas réplicas, o desempenho de gravação poderá ser reduzido porque os dados precisam ser replicados. Em ambos os casos, com uma única réplica ou duas réplicas, o desempenho de leitura pode ser aprimorado porque há duas partições (dois servidores) para dividir a consulta.
O MySQL Cluster não oferece redundância do front-end do MySQL Server, portanto, não é uma solução instantânea de HA pronta para uso. Você precisará da lógica do aplicativo para localizar um servidor SQL disponível ou precisará da lógica de monitoramento / rede de serviço para alternar um servidor SQL com falha com um que funcione. (Você também pode tentar instalar o front-end do MySQL Server diretamente nos servidores de aplicativos.)
Além disso, os acertos ou benefícios de desempenho do MySQL Cluster irão variar com base em como o seu aplicativo está usando o banco de dados e quais gargalos existem. A mudança de soquetes locais para conexões de rede aumentará a latência. Consultas simples para dados armazenados em cache irão afunilar no servidor SQL. Por outro lado, algum processamento que esteja vinculado ao processador ou ao meu disco I / O será altamente beneficiado. A melhor maneira de saber exatamente o impacto ou benefício que o MySQL Cluster terá em seu aplicativo pode ser apenas testá-lo.