Hoje, a Thumbtack Technology publicou uma postagem no blog destacando os resultados finais do benchmark NoSQL (link).

Em junho, os bancos de dados foram comparados em 4 servidores físicos. Eu podia ver o MongoDB e o DataStax no espelho retrovisor (link). Em seguida, os bancos de dados foram comparados em 4, 6 e 8 servidores físicos.

Os testes de desempenho foram executados com duas cargas de trabalho.

  • Leitura intensiva (95% leitura / 5% gravação)
  • Equilibrado (50% leitura / 50% gravação)

Leitura intensiva

O MongoDB foi dimensionado de 130 mil operações / segundo com 4 servidores para 227 mil operações / segundo com 8 servidores. A latência média foi inferior a um milissegundo. A latência é ótima, a taxa de transferência é não.

O Apache Cassandra (DataStax) foi dimensionado de 60 mil operações / segundo com 4 servidores para 99 mil operações / segundo com 8 servidores. A latência média ficou abaixo de 3ms. A latência não é boa, nem a taxa de transferência.

O Couchbase Server foi dimensionado de 903 mil operações / segundo com 4 servidores para 1,71 milhão de operações / segundo com 8 servidores. A latência média foi inferior a um milissegundo. A latência é excelente, a taxa de transferência é excelente.

Equilibrado

O MongoDB foi dimensionado de 50 mil operações / segundo com 4 servidores para 85 mil operações / segundo com 8 servidores. A latência média foi inferior a 2 ms. A latência é muito boa, a taxa de transferência é muito boa ruim.

O Apache Cassandra (DataStax) foi dimensionado de 53 mil operações / segundo com 4 servidores para 89 mil operações / segundo com 8 servidores. A latência média ficou abaixo de um milissegundo. A latência é ótima, o througput é não.

O Couchbase Server foi dimensionado de 800 mil operações / segundo com 4 servidores para 1,24 milhão de operações / segundo com 8 servidores. A latência média foi inferior a dois milissegundos. A latência é muito boa, a taxa de transferência é excelente.

Conclusão

O Apache Cassandra (DataStax) atende aos requisitos de baixa latência para solicitações de gravação, com baixa taxa de transferência. Ele não foi projetado para desempenho de leitura. Ele não aproveita a memória de forma eficaz (link). O Apache Cassandra foi projetado para uma época em que os servidores tinham pouca memória e discos giratórios.

O MongoDB atende aos requisitos de baixa latência para solicitações de leitura, com baixa taxa de transferência. Ele não foi projetado para desempenho de gravação. Ele é limitado por uma topologia mestre/escravo, bloqueio em todo o banco de dados (um por db por instância) e muito mais. O MongoDB foi projetado para... bem, não tenho certeza para o que foi projetado.

O Couchbase Server atende aos requisitos de baixa latência para leitura e solicitações de escrita, em qualquer rendimento. Ao contrário do MongoDB, ele não tem problemas de topologia e bloqueio. Ao contrário do Apache Cassandra, ele aproveita a memória de forma eficaz com um cache de objetos integrado e gerenciado. O Couchbase Server foi projetado para leitura e desempenho de gravação.

Não consigo ver o MongoDB e o DataStax no retrovisor. Não mais. Onde está você?

Tudo isso está no white paper (aqui).

Veja a opinião de Doug sobre os resultados de benchmark (aqui).

Hacker News (link)
Reddit (link)

Autor

Postado por Shane Johnson, diretor de marketing de produtos da Couchbase

Shane K Johnson foi diretor de marketing de produtos da Couchbase. Antes da Couchbase, ele ocupou várias funções de desenvolvimento e evangelismo com experiência em Java e sistemas distribuídos. Ele prestou consultoria a organizações dos setores financeiro, de varejo, telecomunicações e mídia para elaborar e implementar arquiteturas que dependiam de sistemas distribuídos para dados e análises.

Um comentário

  1. Talvez precisemos de uma seção do Couchbase se/após desenvolvermos conteúdo para esse banco de dados NoSQL também.

Deixar uma resposta