Respostas:
Essas três coisas não têm nada a ver uma com a outra. Vou fazer uma introdução e você pode pesquisar ou solicitar mais detalhes separadamente:
MySQL Cluster é o nome de marketing do que muitos de nós chamamos - para evitar confusões como a que você está sofrendo atualmente - "NDB Cluster" ou "MySQL NDB Cluster". É um armazenamento de valor-chave síncrono, principalmente apenas de memória, que permite uma arquitetura de nada compartilhado para o MySQL (fornecendo um back-end para o NDB Engine). Oferece sharding automático (melhor rendimento de leitura e gravação) e alta disponibilidade. Funciona bem para sistemas de dados pequenos de valor-chave de alto rendimento, mas é relativamente complexo de configurar (levando a problemas se não estiver configurado corretamente ou for usado de maneira não intencional) e não é a melhor coisa para latência. sábio (velocidade bruta). Esta é uma versão simplificada (pode ser usada para mais do que apenas memória e valor-chave, mas foi projetada em torno dela). Na minha opinião, é uma peça muito boa de engenharia, mas possui casos de uso limitados, pois é um produto diferente do servidor MySQL normal com downloads separados (e requer o uso de um mecanismo específico).
O MySQL Fabric é um conjunto de ferramentas / middleware escrito em python que permite o gerenciamento de um conjunto de servidores MySQL regulares em um ambiente GTID replicado . Não é um cluster em si, mas facilita o gerenciamento de um. Possui links para (por enquanto) conectores Java e Python, para que ele possa lidar automaticamente com o compartilhamento e a alta disponibilidade de servidores, mas é uma camada sobre servidores MySQL regulares e replicação regular (mecanismos de armazenamento regulares como o InnoDB podem ser usados) . Até agora, a replicação é assíncrona (ou semi-síncrona); portanto, pode não fornecer por si só a melhor consistência e segurança; isso pode mudar nas futuras versões 5.7. No entanto, essa abordagem tem menos sobrecarga na latência e usa a tecnologia de replicação mais familiar do MySQL DBA. O MySQL Fabric é um garoto relativamente novo na vizinhança, portanto ainda não muito extenso, mas parece ser a reação da Oracle (juntamente com a replicação síncrona anunciada) aos clusters baseados em Galera dos concorrentes.
Se você precisar de sharding e HA, poderá usar um dos 2 produtos anteriores, mas provavelmente para cenários totalmente diferentes.
O WebScaleSQL não é uma solução de HA, como as anteriores, é apenas o nome que várias empresas deram a um fork / versão do MySQL, onde compartilham patches específicos de que precisam e talvez a Oracle não tenha aplicado. Tanto quanto sei, ele foi criado pelo Facebook, Twitter, LinkedIn e Google, e eles reformulam suas próprias versões do MySQL sobre essa base comum. Eles não fornecem suporte ou versões binárias. Se você é um usuário final, provavelmente não deve usá-lo, mas fique de olho no projeto para ver o que irá evoluir a partir dele ou a resposta de outros fornecedores.
Se você está tentando aprender / iniciar com o MySQL HA / scaling, comece com a replicação básica do MySQL (pode não ser a melhor, mas é a coisa mais fácil para começar), então você pode continuar a partir daí para outras soluções: DRBD [ sic], replicação de GTID, NDB, Galera, tungstênio.
O MySQL Fabric é implementado como um nó / processo do MySQL Fabric (que executa funções de gerenciamento) e conectores compatíveis com o Fabric, capazes de rotear consultas e transações diretamente para o servidor MySQL mais apropriado. O nó MySQL Fabric armazena informações de estado e roteamento em seu State Store (que é um banco de dados MySQL).
O MySQL Cluster é uma tecnologia que permite agrupar bancos de dados na memória em um sistema que não compartilha nada. A arquitetura de nada compartilhado permite que o sistema trabalhe com hardware muito barato e com um mínimo de requisitos específicos para hardware ou software.