Pergunta

Quero implementar o cluster NDB para o MySQL Cluster 6. Quero fazê -lo para uma estrutura de dados muito enorme com mínimo de 2 milhões de registros.

Quero saber se existem limitações de implementação do cluster NDB. Por exemplo, tamanho da RAM, número de bancos de dados ou tamanho do banco de dados para o cluster NDB.

Foi útil?

Solução

2 milhões de bancos de dados? Eu assumo você quis dizer "linhas".

De qualquer forma, com relação às limitações: uma das coisas mais importantes a ter em mente é que o cluster NDB/MySQL não é um banco de dados de uso geral. Mais notavelmente, participe de operações, mas também de subconsulta e operações de alcance (consultas como: pedidos criados entre agora e uma semana atrás) podem ser consideravelmente mais lentos do que o que você poderia esperar. Isso se deve em parte ao fato de os dados serem distribuídos em vários nós. Embora algumas melhorias tenham sido feitas, o desempenho de ingressar ainda pode ser muito decepcionante.

Por outro lado, se você precisar lidar com muitas transações simultâneas (de preferência pequenas) (normalmente atualizações/inserções de linha única/excluir pesquisas por chave primária) e você é uma mangagem para manter todos os seus dados na memória, então pode ser uma muito solução escalável e de desempenho.

Você deve se perguntar por que você quer cluster. Se você simplesmente deseja que seu banco de dados comum tenha agora, exceto com a disponibilidade de 99.999%, pode ficar desapontado. Certamente o cluster MySQL pode fornecer ótima disponibilidade e tempo de atividade, mas a carga de trabalho do seu aplicativo pode não ser muito adequada para o cluster de Thtings. Além disso, você poderá usar outra solução de alta disponibilidade para aumentar o tempo de atividade do seu banco de dados tradicional.

BTW - Aqui está uma lista de limitações de acordo com o DOC: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html

Mas faça o que fizer, tente cluster, veja se é bom para você. O cluster MySQL não é "MySQL + 5 Nines". Você descobrirá quando tentar.

Outras dicas

O cluster NDB vem com dois tipos de opções de armazenamento.

1. Em armazenamento de memória. 2. Armazenamento de disco.

O NDB introduzido como no armazenamento de dados de memória e na versão 7.4 (MySQL 5.6) começou a suportar o armazenamento de disco.

A versão atual 7.5 (MySQL 5.7) suporta armazenamento em disco e, neste caso, não haverá restrições de tamanho, pois os dados residirão no disco e o limite dependem do espaço de armazenamento em disco disponível com você.
Configurações de armazenamento de disco - https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html

No armazenamento de memória no cluster NDB, também é bastante maduro e você pode definir o uso da memória no arquivo de gerenciamento do Node Config.ini. Exemplo - DatameMory = 3072m indexMemory = 384m

Em uma tabela média (depende de dados armazenados em colunas) O tamanho total de dB deve ser menor que 1 GB, que podem ser facilmente configurados.

Nota - Na minha própria implementação, enfrentei um desafio de desempenho como desempenho de degradações do NDB com o aumento do número de linhas na tabela. Sob Leitura de concorrência de alta carga, se degradará com o número de linhas crescentes. Certifique -se de não optar por uma varredura completa da mesa e forneça o predicado de cláusula suficiente. Para desempenho adequado, defina o índice secundário corretamente, conforme seu padrão de consulta. A definição do índice secundário aumentará novamente o consumo de memória, então planeje seu padrão de consulta e recursos de memória de acordo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top