Comparação: Aérospike vs Cassandra [fechado]
Referência : http://java.dzone.com/articles/benchmarking-cassandra-right e alguns outros.
Alguém usou os dois?O Aerospike é tão bom como dizem?
Finalmente, é aconselhável substituir Cassandra por Aerospike?
4 answers
To responda às suas 2 segundas perguntas, sim, é tão bom quanto afirma, armazenamos cerca de 5B chaves e fazer ~1m TPS em carga de pico e ele faz isso sem quebrar um suor (embora leve quase 20 nós por aglomerado para fazer isso com 120GB ram cada). E quanto a isso é aconselhável substituir Cassandra por Aerospike, para nós foi uma vitória definitiva e a decisão certa. Se a sua aplicação se encaixa no design da Aerospike e funciona para ser rentável, então é definitivamente aconselhável fazer a mudança. Quando resume-se a isso, embora seja sobre o seu caso de uso. Se não está claro qual é o melhor para você, então experimente ambos e ver como eles jogam fora. Boa sorte.
Editar:
Uma das razões para escolher Cassandra em vez de Aerospike é para quando as aplicações precisam de certas garantias de consistência. Para aplicações como contadores, por exemplo, Aerospike pode se tornar em um estado inconsistente devido a uma partição de rede, enquanto Cassandra é capaz de tais através do uso de conflitos tipos de dados replicados gratuitos (CRDT). Em uma boa rede e também para muitos casos de uso em geral isso não é um problema, mas como afirmado anteriormente o desempenho da Aerospike não pode ser batido e é tipicamente por isso que é escolhido.Editar 2:
A Aerospike v4 introduziu agora a sua versão de um modo consistente (verificado por Jepsen: https://jepsen.io/analyses/aerospike-3-99-0-3 além disso, a Aerospike implementou-o através de uma forte coerência, enquanto a Cassandra apenas tem eventual consistência através do uso de CRDTs para que ainda seja possível ler dados obsoletos. Também a partir de testes pessoais posso dizer que o desempenho durante a operação normal não sofreu para o nosso caso de uso ao usar o seu modo fortemente consistente.Ambos os produtos dependem do caso de uso que você está usando, mas eu definitivamente não hesitaria em dizer, que a Aerospike pode escala melhor do que Cassandra e de forma econômica com SSDs e ter menos número de nós para manter.
Também, sobre o uso de memória com grande número de chaves em Aerospike, você poderia balde de seus registros em diferentes conjuntos/escaninhos do espaço de nomes, por exemplo, se você tiver 10 mil milhões de registros, em seguida, você pode balde em 5 jogos e 5 bandejas dentro do espaço de nomes ter o valor de hash para as chaves, que serviria como um valor de pesquisa. Então, você pode ter apenas 2 bilhões de registros no espaço de nomes e isso reduziria seu número de chaves na memória.