Servidor Couchbase

Couchbase vs. MongoDB: equívocos sobre NoSQL Parte 3

As concepções errôneas sobre o NoSQL existem há tanto tempo quanto o próprio NoSQL. É sempre bom conhecer perspectivas diferentes e, por isso, esta série do blog continua. Discutirei os conceitos errôneos sobre NoSQL, especificamente quando se trata de duas das principais empresas de banco de dados de documentos do mundo: Couchbase e MongoDB.

Nesta postagem, examinarei novamente alguns dos concepções errôneas que o Mongo fez sobre o Couchbase e o NoSQLE um dos equívocos e mal-entendidos mais comuns que ouvi no comunidade de desenvolvedores sobre o NoSQL em geral.

Não deixe de conferir as postagens anteriores desta série:

O NoSQL é seguro?

Alguns dos primeiros (e até relativamente recentes) dias do NoSQL tiveram alguns problemas de segurança evidentes e de alto nível. Aqui estão apenas alguns deles:

Qualquer pessoa que esteja lendo casualmente notícias sobre NoSQL pode ter a impressão de que o NoSQL é o oeste selvagem quando se trata de segurança. Por um tempo, foi assim. "Fácil de começar" geralmente significava "Inseguro por padrão".

Mas NoSQL não precisa ser sinônimo de "sem segurança". O Couchbase Capella e os provedores de serviços em nuvem, como a AWS e a Microsoft, trabalharam muito para tornar a segurança uma prioridade.

E se você quiser executar e gerenciar o Couchbase Server em vez do Capella, ainda terá acesso a toda a gama de recursos de segurança.

 

 

O NoSQL perderá meus dados?

Você pode ter visto manchetes como esta: Jepsen contesta as alegações de consistência de dados do MongoDB.

Muitos sistemas NoSQL fazem diferentes compensações com as operações de dados, a fim de reduzir a latência e aumentar o desempenho (um dos principais motivos pelos quais as pessoas mudam para o NoSQL em primeiro lugar). É difícil acertar e, no passado, isso levou a problemas extremos que podem resultar em perda de dados.  A "consistência eventual" também é motivo de reticência para muitos.

Essas compensações foram feitas para obter números melhores que ficassem bem nos benchmarks de marketing. Mas, na realidade, o que o NoSQL moderno e maduro (como o Couchbase) oferece a você é: controle.

A história curta é:

    • O Couchbase é altamente consistente.
    • O Couchbase é totalmente testado com o Jepsen.
    • Jangada é usado para consenso de metadados.
    • Se quiser reduzir o risco contra casos extremos extremamente raros, você tem o controle para fazer isso.

A história mais longa:

    • O armazenamento de dados em um cluster do Couchbase é altamente consistente. Se você salvar os dados, eles serão salvos na memória, depois no disco e, em seguida, em outros nós (de forma automática e assíncrona).
    • Se estiver preocupado com casos extremos devido ao assíncrono, você pode especificar um Requisitos de durabilidade. Você pode fazer isso por operação se você quiser.
    • Os índices de consulta no Couchbase são atualizados de forma assíncrona (eventualmente), para evitar lentidão, tendo que esperar nos índices ao criar/atualizar dados.
    • MAS, ao fazer a consulta, você pode especificar nível de consistêncianovamente, em um por consulta base. Quando você precisa ler os resultados da consulta em milissegundos, pode compensar a latência para fazer isso.

Armazenamento de dados quando você tem dois ou mais clusters sincronização entre data centers é eventualmente consistente. Isso significa que se você fizer uma alteração em um documento, por exemplo, no Leste dos EUA, o documento correspondente no Oeste dos EUA será atualizado alguns microssegundos depois. (E conflitos pode ser gerenciado automaticamente). Esse somente aplica-se se você estiver usando vários data centers.

Sempre há casos extremos com qualquer banco de dados, não apenas NoSQL. No entanto, o Couchbase NoSQL moderno tem padrões sensatos incorporados, com uma variedade de opções quando você precisar delas.

NoSQL significa "sem ACID"?

Novamente, para fornecer inicialmente leituras e gravações de baixa latência e alto desempenho, Transações ACID não faziam parte dos primeiros dias do NoSQL. Para um usuário de banco de dados relacional, isso geralmente era visto como uma bandeira vermelha.

No entanto, como eu observadas no passadoO ACID não se refere apenas a transações, e muitos bancos de dados NoSQL podem oferecer garantias de ACID.

Dito isso, transações ACID com vários documentos estão disponíveis no Couchbase Server desde a versão 6.5.

No Mongo's página de comparaçãoNa seção "Transações ACID", as transações ACID do Couchbase são caracterizadas como "extremamente limitadas". Não há mais detalhes do que isso, então só posso especular que essa é uma referência desatualizada às transações inicialmente disponíveis como uma prévia para desenvolvedores Java (e Scala/Kotlin por extensão). Mas, nesse meio tempo, as transações ACID foram adicionadas aos SDKs de .NET, Node, PHP, Go, Python e C, e outras ainda estão por vir. E não é só isso, as transações ACID estão disponíveis para Qualquer pessoa que esteja usando o novo Recurso BEGIN/COMMIT/ROLLBACK no SQL++.

E cenários complexos de fragmentação nem sequer entram na equação, ao contrário do Mongo.

Resumo

    • O NoSQL moderno é seguro.
    • O NoSQL moderno não perderá seus dados.
    • O NoSQL moderno oferece suporte a transações ACID.

Não há problema em outros Os bancos de dados NoSQL não oferecem suporte a esses recursos: há muito espaço para especialização de nicho. Mas para o Couchbase, esses são recursos maduros usados por grandes organizações em casos de uso críticos.

Portanto, se você não conhece o NoSQL há anos, talvez seja hora de Inscreva-se para uma avaliação gratuita do Couchbase Capella. Não é necessário cartão de crédito.

O que vem a seguir?

Na próxima postagem, abordarei mais conceitos errôneos: o NoSQL é realmente tão bom em termos de escalabilidade? Qual NoSQL é o mais popular e por que isso é importante?

Quer discutir mais? Você é bem-vindo a participar do Discórdia do Couchbase para mais conversas, perguntas e respostas com a equipe e a comunidade do Couchbase.

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

Autor

Postado por Matthew Groves

Matthew D. Groves é um cara que adora programar. Não importa se é C#, jQuery ou PHP: ele enviará solicitações de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente sênior de marketing de produtos da Couchbase. Seu tempo livre é passado com a família, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele é autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.

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.