Clientes

3 razões pelas quais os clientes mudam do MongoDB para o Couchbase

Vamos encarar os fatos. O MongoDB é um banco de dados NoSQL popular sobre o qual se pode criar aplicativos.

Mas, assim como muitos projetos de análise de dados para "iniciantes" que começam em uma planilha, quando chega a hora de levar a sério, também é hora de fazer um upgrade. E quando os aplicativos das empresas passam de "uso geral" para escala corporativa, elas geralmente descobrem que o MongoDB é não equipados para atender às suas necessidades.

Quando conversamos com clientes corporativos sobre por que eles mudaram do MongoDB para o Couchbase. Aqui estão os três motivos mais comuns pelos quais os clientes do MongoDB trocaram de banco de dados.

1. Desempenho e escalabilidade

Uma das principais vantagens do Couchbase é a excepcional taxa de transferência e a baixa latência em escala. Isso é impulsionado por uma arquitetura que prioriza a memória.

Todas as operações de recuperação e processamento de dados de valor-chave do Couchbase ocorrem na memória, resultando em um desempenho abaixo de milissegundos. Além disso, todos os nós de um cluster estão ativos - não há um único ponto de estrangulamento de nó primário que passe para os "nós secundários" e deixe tudo mais lento. Todos os nós realizam consultas e gravações diretamente.

Além disso, o processamento de gravação é separado das atividades de leitura e consulta, o que significa que as gravações nunca interferem nas ações de leitura e consulta. Por fim, o Couchbase oferece opções avançadas de indexação para acelerar as consultas e com o lançamento iminente da versão 7.0Em alguns casos, o desempenho aumenta de 10 a 100 vezes.

O Couchbase oferece alta disponibilidade e confiabilidade, aproveitando várias tecnologias que trabalham juntas para garantir que seus dados e bancos de dados estejam "sempre ativos", mesmo sob condições extremas. Muitos desses recursos, como replicação contínua, failover automático, rebalanceamento rápido, replicação entre data centers (XDCR) em clusters e sharding automático, ocorrem por padrão em segundo plano ou podem ser gerenciados sem a necessidade de derrubar o sistema.

A arquitetura do MongoDB é focada em uma configuração de nó único, e muitos recursos importantes, como JOINs por meio de seu $lookup ou agrupamento, têm um desempenho ruim em configurações de vários nós e vários shards. Quando você descobre esses problemas, pode ser tarde demais para corrigi-los. Por exemplo:

    • O Couchbase é facilmente escalonável, bastando adicionar os nós necessários, um de cada vez, enquanto o MongoDB precisa adicionar pelo menos três novos nós de cada vez para introduzir um novo shard no cluster, o que aumenta o custo total de propriedade (TCO). Enquanto isso, o Couchbase cria shards automaticamente e reequilibra a distribuição para todos os nós disponíveis.
    • O failover automático do Couchbase é robusto e rápido, baseado em vários sinais de vivacidade. A tecnologia de failover do MongoDB, por outro lado, é mais lenta e limitada, pois se baseia apenas em batimentos cardíacos entre os nós do conjunto de réplicas.

Não acredite apenas em nossa palavra

Recentemente, conversei com MicroliseA Couchbase é uma empresa que é cliente da Couchbase e capacita operadores de frota e logística em 195 países a gerenciar e otimizar suas operações e entregas. Eles processam cerca de 100 milhões de eventos por dia!

Como outros que primeiro explorar a tecnologia NoSQLNo início, essa equipe começou com o MongoDB para seus aplicativos de microsserviços. À medida que a demanda e a criticidade da missão desses aplicativos aumentaram, a equipe de desenvolvimento mudou para o Couchbase.

Muitos de nossos microsserviços foram desenvolvidos inicialmente com base no MongoDB, mas, à medida que os problemas de memória e as falhas no banco de dados aumentavam, não conseguíamos atender aos nossos níveis de serviço. Nossas equipes de DBA, suporte e desenvolvimento estavam insatisfeitas. Nosso benchmarking interno com milhões de registros mostrou que o Couchbase superava o MongoDB no cumprimento desses SLAs."
-Wayne Chandler, arquiteto de dados da Microlise

Saiba mais sobre o desempenho em escala e a alta disponibilidade do Couchbase neste whitepaper: Couchbase vs. MongoDB™ para aumento de escala e alta disponibilidade.

2. N1QL, a linguagem de consulta do Couchbase

O segundo motivo pelo qual muitas empresas mudam do MongoDB para o Couchbase é a N1QLa linguagem de consulta do Couchbase.

O N1QL (pronuncia-se "nickel") parece familiar porque é SQL - mas ampliado para suportar a sintaxe do documento JSON. O SQL é expressamente poderoso e universalmente conhecido, portanto a equipe do Couchbase baseou o N1QL no padrão ANSI SQL92 para oferecer suporte à sintaxe SQL que os desenvolvedores já conhecem. É claro que não são apenas os desenvolvedores que conhecem o SQL, mas toda a sua equipe: DBAs, analistas, arquitetos, equipes de BI e outros. As duas linguagens de consulta são tão semelhantes que às vezes nos referimos ao N1QL como "SQL++".

Basta comparar a linguagem de consulta do MongoDB com a do Couchbase N1QL lado a lado na imagem abaixo. A diferença é notável.

Query language comparison between Couchbase N1QL and MongoDB

A equipe com quem conversei também adorou a linguagem de consulta N1QL:

"A linguagem de consulta do Couchbase [N1QL] e o gerenciamento de backup foram muito mais fáceis para nossas equipes. Todos os nossos aplicativos críticos de microsserviço foram transferidos do MongoDB para o Couchbase. E, a longo prazo, planejamos padronizar o Couchbase."
-Wayne Chandler, arquiteto de dados da Microlise

Aqui estão apenas alguns dos desafios que os usuários dizem enfrentar com a linguagem de consulta do MongoDB:

    • Proprietário: A linguagem de consulta do MongoDB rompe com a poderosa e familiar linguagem de banco de dados SQL, forçando os usuários a aprender e dominar uma linguagem totalmente nova.
    • Complexo: Embora os métodos processuais do MongoDB sejam eficazes para consultas direcionadas (ou seja, para localizar documentos com condições de filtro específicas), eles se tornam complexos para consultas que exigem JOINs e agregações de documentos. Isso pode ser bom para alguns desenvolvedores, mas a comunidade de pessoas que gerenciam ou acessam seus dados é muito maior, o que torna isso um problema de toda a empresa. Além disso, o MongoDB tem um suporte muito limitado para unir documentos em coleções fragmentadas porque o $lookup não é compatível com essa funcionalidade.
    • Aplicação intensiva: Os aplicativos precisam compensar as deficiências do banco de dados fazendo um processamento de dados complexo no lado do cliente, o que aumenta a complexidade e geralmente resulta em baixo desempenho após a implantação.

Se tiver interesse em saber mais sobre o N1QL e o Couchbase, recomendo que você experimente você mesmo com este tutorial on-line gratuito sobre N1QL. Ou, compare o N1QL com a linguagem de consulta do MongoDB nesta avaliação de terceiros.

3. Serviços integrados para desenvolvimento flexível e acesso a dados

Outro fator importante que os clientes do Couchbase adoram são os vários serviços integrados que a plataforma oferece para acessar e gerenciar dados sem usar bancos de dados adicionais. Para os desenvolvedores, isso significa menos aprendizado, código, integração e manutenção. Para as equipes de DevOps, o resultado é menos ferramentas para licenciar, implementar e dar suporte.

A plataforma de dados Couchbase oferece várias maneiras integradas de armazenar, consultar e manipular dados com um modelo de dados uniforme e uma única interface de programação, incluindo:

    • O modelo universal do Couchbase - um banco de dados de documentos com as opções de integridade de esquema de um banco de dados relacional - abrange um amplo conjunto de casos de uso que abordam os problemas de desempenho, transacionalidade e disponibilidade de dados exigidos pelos aplicativos modernos atuais.
    • O cache gerenciado de valor-chave na memória oferece desempenho de milissegundos sem a necessidade de um produto de cache separado.
    • A linguagem de consulta N1QL significa que os desenvolvedores, DBAs, analistas e outras pessoas com conhecimento de SQL podem se desenvolver rapidamente com o "SQL++".
    • Até mesmo usuários iniciantes podem consultar o banco de dados usando a Pesquisa de texto completocom recursos geoespaciais.
    • Os eventos estão disponíveis imediatamente com o CouchbaseNão há necessidade de integração com fornecedores externos.
    • Análise de dados em tempo real pode ser realizado em um processo massivamente paralelo sem afetar outros serviços e sem ETL para outro banco de dados
    • Ao contrário da maioria dos bancos de dados móveisSe o servidor e os dispositivos estiverem sincronizados, oferecemos sincronização bidirecional com sincronização ponto a ponto para uma estratégia off-line primeiro

Conclusão

Se você está pronto para ir além de um banco de dados de "uso geral" e criar aplicativos empresariais robustos, então está pronto para experimentar o Couchbase.

Inscreva-se para uma avaliação gratuita do Couchbase Cloud ou iniciar uma conversa com alguém da equipe do Couchbase.

 

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

Autor

Postado por Tim Rottach, diretor de marketing de linha de produtos

Tim Rottach é diretor de marketing da linha de produtos da Couchbase.

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.