Servidor Couchbase

O MongoDB não funciona e fica sem combustível

O desempenho ainda é um problema para o MongoDB?

A Avalon fez um benchmarking do Couchbase Server e do MongoDB no ano passado, e muita coisa mudou desde então. O Couchbase Server 4.0 introduziu uma linguagem de consulta baseada em SQL, a N1QL. O Couchbase Server 4.1 adicionou instruções preparadas e índices de cobertura, e o desempenho da consulta melhorou.

O Couchbase Server 4.5 adicionou índices otimizados para memória, indexação de matriz e junções de índices, além de melhorias no armazenamento (gravações circulares) e na consistência (read-your-own-writes). O Couchbase Server tem um mecanismo de consulta mais avançado, mas, com esses aprimoramentos, será que ele é o mais rápido?

Desta vez, o Avalon avaliou o desempenho de leitura/gravação e de consulta.

Os resultados de leitura/gravação não devem ser uma surpresa.

O Couchbase Server tem uma taxa de transferência de leitura/gravação 6 vezes maior do que o MongoDB? Como? Por quê?

Tudo se resume a arquitetura, utilização de recursos e eficiência.

Quando se trata de desempenho de gravação, o MongoDB sofre com uma arquitetura mestre/escravo herdada. Com um nó primário e um secundário em execução em cada servidor, e com gravações limitadas aos nós primários, somente metade dos recursos do servidor pode ser utilizada para gravações.

Quando se trata de desempenho de leitura, o Couchbase Server se beneficia de uma arquitetura centrada na memória. Embora grave todos os dados no disco, ele mantém o maior número possível de documentos em um cache de objeto gerenciado, o que é muito mais eficiente do que armazenar em cache blocos de dados de arquivo.

Os resultados da consulta podem ser surpreendentes.

O Couchbase Server tem uma taxa de transferência de consulta 3x maior que o MongoDB? Como? Por quê?

Como eu disse, tudo se resume a arquitetura, utilização de recursos e eficiência.

O MongoDB executa cada consulta em cada nó porque depende de índices locais - cada nó contém apenas uma parte do índice. Como resultado, o desempenho da consulta é limitado ao de um único nó. Por exemplo, se um único nó pode executar 7.500 consultas por segundo, adicionar mais nós não ajuda - cada nó ainda precisa executar as mesmas 7.500 consultas por segundo.

O Couchbase Server se beneficia de índices globais otimizados para memória, bem como de serviços independentes para leitura e gravação de dados, indexação e consulta.

Quando se trata de latência de varredura, o Couchbase Server pode aproveitar os índices secundários globais (GSI), em que o serviço de índice mantém um índice completo (e não uma parte dele). Isso permite que o serviço de consulta identifique os documentos a serem retornados com uma única varredura de índice, limitando as solicitações de busca apenas aos nós que contêm um ou mais dos documentos a serem retornados. Com o armazenamento otimizado para memória, o índice inteiro não é armazenado apenas na memória, mas também em uma lista de saltos sem bloqueio, o que é muito mais eficiente do que uma árvore B, uma estrutura de dados otimizada para disco.

Quando se trata de latência de inserção, o Couchbase Server se beneficia do isolamento. Os serviços de índice e de dados, estejam eles em execução em nós diferentes ou não, são isolados com índices sendo atualizados de forma assíncrona. Como resultado, enquanto a latência de inserção do MongoDB foi severamente afetada pelas consultas, a latência de inserção do Couchbase Server não foi.

Você pode encontrar todos os detalhes na seção relatório completo.

Se (usuários > 100) retornar "Couchbase Server"; caso contrário, retornar "MongoDB";

Discuta no Hacker News

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

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.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.