Sou novo no mundo do MySQL e fiquei confuso com os dois. Ambos não fornecem alta disponibilidade e sharding?
Além disso, como o WebScaleSQL se compara?
Sou novo no mundo do MySQL e fiquei confuso com os dois. Ambos não fornecem alta disponibilidade e sharding?
Além disso, como o WebScaleSQL se compara?
Essas 3 coisas não têm nada a ver uma com a outra. Farei uma introdução e você poderá 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 chave-valor síncrono, principalmente apenas na memória, que permite uma arquitetura sem compartilhamento para o MySQL (fornecendo um back-end para o mecanismo NDB). Ele fornece sharding automático (portanto, melhor rendimento de leitura e gravação) e alta disponibilidade. Ele funciona bem para sistemas de dados pequenos de valor-chave de alto rendimento, mas é relativamente complexo de configurar (levando a problemas se não for configurado corretamente ou se for usado de maneira não intencional) e não é a melhor coisa em termos de latência. sábio (velocidade bruta). Esta é uma versão simplificada (pode ser usada para mais coisas do que apenas memória e valor-chave, mas foi projetada em torno disso). Na minha opinião, uma boa peça de engenharia, mas tem casos de uso limitados, pois é um produto diferente do servidor MySQL comum com downloads separados (e requer o uso de um mecanismo específico).
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. Ele possui links para (por enquanto) conectores Java e Python, para que possa lidar automaticamente com o sharding e alta disponibilidade de servidores, mas é uma camada sobre servidores MySQL regulares e replicação regular (mecanismos de armazenamento regulares como InnoDB podem ser usados) . A replicação, até agora é assíncrona (ou semi-síncrona), portanto pode não fornecer por si só a melhor consistência e segurança; isso pode mudar em 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 no bairro, portanto ainda não muito estendido, mas parece ser a reação da Oracle (juntamente com a replicação síncrona anunciada) aos clusters baseados em Galera do concorrente.
Se você precisava de sharding e HA, pode usar um dos 2 produtos anteriores, mas provavelmente para cenários totalmente diferentes.
WebScaleSQL não é uma solução HA, como as anteriores, é apenas o nome que várias empresas deram a um fork/versão do MySQL onde compartilham patches específicos que precisam e talvez a Oracle não tenha aplicado. Até onde eu 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 se preocupar em usá-lo, mas deve ficar de olho no projeto para ver o que vai evoluir a partir dele ou a resposta de outros fornecedores.
Se você está tentando aprender/começar 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 GTID, NDB, Galera, Tungsten.
O MySQL Fabric é implementado como um nó/processo MySQL Fabric (que executa funções de gerenciamento) e conectores com reconhecimento de Fabric que são 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 o agrupamento de bancos de dados na memória em um sistema sem compartilhamento. A arquitetura sem compartilhamento permite que o sistema funcione com hardware muito barato e com um mínimo de requisitos específicos de hardware ou software.