[disclaimer] Não sou novo em bancos de dados, mas totalmente novato em replicação e cluster ...
Como você deve saber o Mysql disponibilizou uma nova funcionalidade: MySql Group Replication .
Alguém pode me explicar a diferença fundamental entre essa arquitetura e um cluster? qualquer funcionalidade importante existente apenas um dos dois? tolerância a falhas do nó? capacidade de voltar ao status ao vivo? Toda dica é bem vinda...
Obrigado
Replicação de grupo vs Galera (também conhecido como PXC)
A replicação de grupo tem apenas alguns meses; Galera existe há anos. Uma vez que GR estabelece seu valor (o que eu acho que vai), a resposta pode ser algo assim...
Eles são muito semelhantes. Ambos fazem um excelente trabalho de HA - qualquer falha de nó único pode ser recuperada, geralmente automaticamente. Ambos fornecem um alto grau de escala de leitura . GR promete fornecer mais escala de gravação .
Sem conhecer suas necessidades e sua tolerância para várias coisas, não posso aconselhar sobre qual caminho seguir. Talvez 90% dos usuários do MySQL/MariaDB/Percona neste fórum não usem nenhuma forma de Replicação. Então, a primeira pergunta é, você precisa de alguma solução de replicação?
As arquiteturas são diferentes, mas os objetivos são semelhantes. Ou seja, "há mais de uma maneira de esfolar um gato".
A tolerância a falhas, na minha opinião, é alcançável apenas se você estiver disposto a colocar nós em pelo menos 3 locais geográficos separados (pense em inundação/tornado/terremoto/etc). Ambos permitem isso. Eu uso a regra de sobreviver a qualquer ponto único de falha e incluo "datacenter" como um ponto de falha.
GR é uma melhoria significativa em relação à oferta anterior da Oracle, Fabric.
Como você não mencionou Sharding, eu não mencionei.
Conjunto MySQL
O termo "Cluster MySQL" é confuso; tecnicamente, refere-se a "NDB Cluster", que é significativamente diferente de "Group Replication", também conhecido como "InnoDB Cluster".
O NDB é discutido brevemente por Ibrahim, mas eu não iria tão longe a ponto de dizer "melhor solução de todos os tempos".
O NDB era originalmente um aplicativo de telecomunicações para manipulação muito confiável de comutação telefônica. MySQL, Oracle e Vários Nines o aprimoraram para ficar um pouco mais próximo de um RDBMS geral. Ele mantém sua alta confiabilidade.
Eu limitaria o uso do NDB para aplicativos que precisam dos recursos específicos que ele oferece.
Adendo
Para alguém que está começando no mundo do banco de dados com o MySQL, eu usaria um conjunto de dados baseado em InnoDB não replicado. Quando replicação / HA / dimensionamento são necessários, considere a Replicação de Grupo ou Galera. Mude para o NDB somente se ele se adequar melhor ao seu aplicativo.
você tem essas várias opções:
Um único nó com um ou mais nós de replicação :
Um multimestre com replicação de grupo :