Comparação: Aérospike vs Cassandra [fechado]

Tanto a Aerospike como a Cassandra dizem que são melhores do que os outros nos seus respectivos padrões de referência.

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?

Author: Community, 2014-08-22

4 answers

Escolher entre a Cassandra e a Aerospike depende mais do teu caso de Uso do que tudo. Eu usei pessoalmente tanto como um sistema de produção para o mesmo projeto e para Meérospike foi o vencedor claro, mas isso é porque nosso caso de uso é ter altamente concorrente, baixa latência, transacional, pequenas atualizações para bilhões de entradas com ~10x mais leitura do que o volume de escrita. Isto é o que Aerospike se destaca, tem a latência mínima que eu já vi em um banco de dados desse tipo, mesmo quando usando um espaço de nomes SSD. Por estas razões, a Aerospike foi a escolha clara para nós. Por outro lado, a Cassandra é melhor para um alto volume de escrita e consegue lidar com discos maiores. Tudo é baseado em página para que funcione bem em não-SSDs, mas nunca pode dar-lhe a latência extrema baixa que Aerospike pode, a menos que seus registros se encaixem no cache. Também vale a pena notar que Cassandra é muito mais difícil de manter a partir de uma perspectiva de operações do que Aerospike é. Para nós, pessoalmente, foi um a operations nightmare e eu sabemos que a Netflix tem de empregar uma equipa considerável de engenheiros de operações apenas para gerir os seus Cassandra clusters. Além disso, enquanto o sistema pode ter amadurecido mais agora, quando nós estávamos usando (em torno da versão 1.0) precisamos acertar estranho ocasionais afirmar erros e exceções que parar de banco de dados internas acções de tomar lugar e tinha, normalmente, para limpar os dados a partir de nós, a fim de corrigi-lo o tempo todo. Outro fator aqui é o custo que pode ou não jogar em sua decisão, dependendo de sua aplicação. Quanto maior o espaço de chave, mais caro o seu grupo Aerospike será de uma perspectiva de hardware. Todas as chaves precisam ser armazenadas na memória, independentemente de ser um namespace em memória ou ssd. Uma vez que você entrar no intervalo de bilhões de chaves você vai precisar de terabytes de ram em seu conjunto para suportar isso com um fator de replicação de 2. Cassandra obviamente não tem este problema, uma vez que as chaves e os valores são ambas as lojas no disco.

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.
 58
Author: user1084563, 2018-06-01 18:31:07
Se você precisa de um desempenho previsível estável com baixa latência e sem problemas com a manutenção, vá com a Aerospike. Se queres jogar, vai Cassandra. Eu trouxe Cassandra há mais de 4 anos para a minha empresa, sem arrependimento, mas hoje pelas razões acima eu escolho Aerospike, que é fonte aberta e mais disponível do que há um ano e biult como um tanque russo - com razão. Só tens de conhecer os limites de ambas as plataformas. Jogar com ambos, escolher sabiamente.
 14
Author: Viktor Jevdokimov, 2014-08-22 18:03:36

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.

 9
Author: Anand Prakash, 2014-11-05 19:26:25
Enquanto muitas pessoas utilizam a Aerospike como uma base de dados pura de memória, ela também suporta uma configuração de memória híbrida, espalhando a base de dados através de RAM, SSD / Flash e disco giratório. Aqui estão alguns links de resposta curta e mais longa para abordar a questão. Certamente as pessoas querem o melhor de ambos os mundos: dados mais persistentes armazenados em disco mais barato, e dados mais rápidos, mais Efêmeros sendo armazenados em MEMÓRIA RAM mais caros por GB ou SSD.

Http://www.aerospike.com/hybrid-memory/

Http://www.aerospike.com/docs/architecture/storage.html

Eu gostaria de ouvir comentários sobre a experiência das pessoas em termos de tais destacamentos.
 9
Author: Peter Corless, 2014-11-18 00:25:12