Algo para ter em mente, se você executar o Cassandra, você desejará decidir entre manter tudo dentro do JVM e aumentá-lo conforme necessário, ou deixá-lo no JNA e permitir que seu cache de linha fique na memória do sistema.
A melhor prática atualmente é executar com o JNA, porque ele também permite capturar instantâneos sem espaço de memória (já que o JNA permite que o Java defina links físicos), mas quando você começa a compartilhar a memória do sistema não-JVM entre o cassandra e outros aplicações, é provável que você comece a chorar silenciosamente consigo mesmo em momentos desprotegidos. Se você puder, considere executar o cassandra em máquinas separadas.
Mas, se não, você só obtém tolerância a falhas no Cassandra se tiver mais de um nó e o fator de replicação e os níveis de consistência das leituras e gravações forem calculados corretamente. Para um anel de três nós, se sua principal preocupação for tolerância a falhas / disponibilidade de dados, eu definiria o fator de replicação como 3 e seu nível de consistência como UM para leituras e gravações.