É Cassandra adequado para uso como um primária de armazenamento de dados?
Pergunta
Estou avaliando uma plataforma de armazenamento para um próximo projeto e manter a voltar para Cassandra.Para este projeto a perder qualquer quantidade de dados é inaceitável.Até agora temos usado um banco de dados (Microsoft SQL Server), mas os dados são tão variado e grande que tornou-se um problema para o armazenamento e consulta.
É Cassandra robusto o suficiente para usar como principal repositório de dados?Ou deve apenas ser utilizado para espelhar os dados existentes, para acelerar o acesso?
Solução
Curiosamente:sim, o Twitter, Digg, Ooyala, SimpleGeo, Mahalo, e os outros estão usando ou mover-se para Cassandra, por um primário de armazenamento de dados (http://n2.nabble.com/Cassandra-users-survey-td4040068.html).
Tecnicamente:sim;além de apoiar a replicação (incluindo vários datacenters), cada Cassandra nó tem um fsync gostaria de log de confirmação para certificar-se de que as gravações são duráveis;a partir daí escreve são transformados em SSTables que são imutáveis até a compactação (que combina vários SSTables para GC versões antigas).Instantâneo é suportada em qualquer momento, incluindo automático instantâneo-antes-de compactação.
Outras dicas
Se deve usar o Cassandra para o seu aplicativo ou não, depende apenas das cargas de trabalho de dados. O Cassandra é otimizado para cargas de trabalho intensivas em gravação; portanto, é adequado para aplicações em que uma grande quantidade de dados precisa ser inserida (como informações de registro de infraestrutura no Facebook).
Se, no entanto, você precisar de recuperações rápidas e a velocidade de inserção não for um problema, talvez você deva dar uma olhada no HBASE (que é otimizado sobre cargas de trabalho com leitura intensiva).