Cassandra: planejamento de capacidade [duplicado]

1
Estou investigando mover alguns grandes bancos de dados do MySQL para o Cassandra e estou tentando descobrir como planejar o cluster. Historicamente, seria apenas comprar discos para conter os dados relevantes, mas não estou claro sobre como Cassandra usa espaço em disco versus espaço em disco.

No planejamento de um cluster, a questão de quantas máquinas, quanto disco, RAM, etc. por máquina será exibida. Como eu respondo isso por 1 TB? 10Tb Mais?

    
por ethrbunny 10.08.2011 / 19:03

2 respostas

1

Basicamente, a fórmula para o disco por nó é D x RF / N x O / C com as variáveis definidas abaixo:

  • D é o tamanho total dos seus dados.
  • RF é o seu fator de replicação. A maioria dos clusters usa pelo menos 2 (para durabilidade) ou 3 (para durabilidade e disponibilidade combinadas em CL = Quorum).
  • N é o número de nós em seu cluster. Isso tem que ser pelo menos RF. Você também desejará aumentar esse número até chegar a um resultado "disco por nó" confortável.
  • O é um multiplicador de sobrecarga para índices e sstables não mesclados no disco. Eu usaria pelo menos um fator O = 2 a menos que você não tenha quase nenhum índice e dados extremamente estáveis.
  • C é o fator que você economizará com o suporte à compactação Cassandra 1.0+, desde que você o ative. Essa será aproximadamente a economia obtida ao compactar um arquivo com conteúdo representativo. Use C = 1 se a compactação estiver desativada. Se a compactação tende a reduzir o tamanho de seus dados pela metade, tente C = 0.6 ou mais, porque a compactação não é usada em tudo (por exemplo, índices).

Depois de obter alguns números, você deve segmentar um "disco por nó" que não é mais do que 30% do armazenamento local disponível, para que não seja necessário o crescimento imediato do cluster e, portanto, os instantâneos sejam possíveis. / p>

O planejamento de memória depende muito mais de como seu esquema se parece, mas você vai querer pelo menos 4 GB dedicados ao Cassandra em cada nó. O sistema operacional será capaz de usar qualquer coisa além disso para um cache de disco altamente benéfico. Mais memória só se torna completamente inútil, uma vez que excede substancialmente a quantidade real de dados residentes no disco.

    
por 22.11.2011 / 02:06
1

Planejamento de capacidade realmente é uma ciência (em termos de matemática / estatística). Uma vez que os modelos matemáticos não o levarão a qualquer lugar, você realmente terá que configurar uma cama de teste que possa ser usada para responder às suas perguntas, já que ninguém aqui pode lhe fornecer um modelo teórico que pareça pedir.

Como responder a isso:

  1. Obtenha um testbed (escalável)
  2. Preencha com seus dados
  3. Gravar ferramentas de geração de carga adequadas
  4. Aplicar carga e medir
  5. Avalie e execute a verificação de integridade nos seus resultados
  6. Opcionalmente, ajuste e talvez vá para 3. ou 4. novamente

ou contratar um profissional.

    
por 10.08.2011 / 19:09