Supondo que todos os dados estejam na RAM, essa é uma máquina enorme e cara.
Felizmente, na maioria dos aplicativos, você não precisa manter todos os seus dados na memória, mas apenas seus dados ativos / ativos.
O Cassandra é capaz de recuperar automaticamente dados do HD para a RAM quando a entrada está ausente da memória. Por outro lado, quando o registro em não acessos é expulso da memória (dados "frios"). Você pode comparar o Cassandra como um cache no nível do aplicativo, em que as entradas são linhas da conta. Os acertos / erros do cache, neste caso, podem ser interpretados como registros no disco do sistema de arquivos do cassandra, que devem ser trazidos de volta na memória.
Então, em termos de dimensionamento:
- O HDD é dimensionado para o conjunto de dados total
- A RAM é dimensionada para reduzir "falhas de cache"
- O fator de replicação afeta a taxa de transferência e a resiliência
Então, falando sobre RAM: Você só precisa manter dados suficientes na memória para evitar re-buscar desnecessariamente do disco. É muito dependente de aplicativos. Gostaria de sugerir a execução de alguns testes comparativos para verificar quantas sessões ativas você recebe por dia em relação à quantidade total de sessões armazenadas no sistema. Isso se aplica bem se o seu sistema é lido dominado e lê exibir localidade temporal.
Verifique também este tópico para mais inspiração link
Esta relação de dados em tempo real versus dados totais determina os requisitos de RAM para o seu sistema. Essencialmente, é uma desvantagem dos custos com cassandra e RAM. Considerações semelhantes - em um nível diferente - aplicam-se ao design do cache da cpu.