Servidor Couchbase

Comparação dos recursos do MongoDB MQL com o N1QL no Couchbase 6.5

Esta é uma breve nota que analisa os recursos da linguagem MQL do MongoDB destacados no blog de lançamento: MongoDB 4.4: Engenharia orientada ao usuário. Pronto para você. A versão 4.4 do MongoDB adicionou vários recursos para a linguagem MQL. O Couchbase lançou a versão 6.5 no início do ano com um número significativo de recursos no N1QL, tanto para o serviço de consulta quanto para o serviço de análise. Vamos nos aprofundar no assunto.

MongoDB 4.4 Couchbase 6.5
Liberado GA: julho de 2020 GA: janeiro de 2020
O que há de novo? https://www.mongodb.com/collateral/mongodb-4.4-guide https://docs.couchbase.com/server/current/introduction/whats-new.html
Operação do conjunto UNION Introduz o estágio de pipeline de agregação $UnionWith para dobrar os dados em um único
conjunto de resultados. Aproximadamente equivalente à operação de conjunto UNION ALL no SQL.
https://docs.mongodb.com/master/reference/operator/aggregation/unionWith/#pipe._S_unionWith
Oferece suporte a todas as operações de conjunto do SQL desde a versão inicial: UNION, UNION ALL,
EXCEPT, EXCEPT ALL, INTERSECT, INTERSECT ALL. O modificador ALL retorna duplicatas
documentos. O uso da operação sem ALL evita a etapa de classificação necessária em
o pipeline de agregação MQL. Essas operações de conjunto podem ser usadas em qualquer lugar onde um
A consulta SELECT é usada (subconsultas, tabelas derivadas, etc.).
https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/union.html
https://blog.jooq.org/2015/10/06/you-probably-dont-use-sql-intersect-or-except-often-enough/
Expressões de agregação personalizadas Introduz $function, permitindo trechos de JavaScript dentro da agregação
para personalizar o processamento. Agregações definidas pelo usuário podem ser criadas
usando $accumulate, $function, $merge e $group. Essa abordagem é detalhada
e deve ser reescrito para cada consulta. No SQL, uma vez que um agregado definido pelo usuário
é criado, ele pode ser reutilizado como qualquer outro agregado.
Outros aprimoramentos incluem funções escalares simples.
https://docs.mongodb.com/master/release-notes/4.4/#custom-aggregation-expressions
Versão prévia de funções SQL e funções JavaScript que podem ser usadas em qualquer lugar
são permitidas no N1QL. Elas podem fazer parte de consultas complexas e são
espera-se que seja GA na próxima versão principal.
O MongoDB ainda não possui funções de janela, que foram lançadas no Couchbase 6.5
e melhorar significativamente a produtividade do desenvolvedor.
O Couchbase oferece suporte à agregação baseada em JavaScript por meio de exibições de redução de mapas, embora
eles não são acessíveis por meio do N1QL.
As funções do Couchbase Eventing também são escritas em JavaScript e fornecem um
infraestrutura dimensionável para aplicativos modernos.
Pesquisa Apresenta o $search de texto completo baseado no Lucene, disponível somente no MongoDB Atlas.
O próprio MongoDB tem funcionalidade de pesquisa limitada e não é baseado em Lucene.
$search só pode ser usado como o primeiro estágio de um pipeline de agregação e
não pode ser usado em atualizações ou exclusões.
O Couchbase 6.5 introduziu a função SEARCH() e as funções de metadados relacionadas.
Ele oferece suporte à pesquisa simples de strings e à pesquisa de texto completo com profunda integração
no otimizador N1QL.
Transações Apresenta a capacidade de criar coleções e índices em um
transação não fragmentada. O uso de DDLs dentro de transações ainda é raro.
Lançou transações distribuídas para SDKs Java, permitindo que os aplicativos
para operar em vários documentos usando APIs get/set. Distribuído
não são compatíveis com os comandos N1QL.

Recursos:

  1. Documentos do Couchbase
  2. Tutorial N1QL
  3. Documentos do MongoDB
Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Keshav Murthy

Keshav Murthy é vice-presidente de P&D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experiência em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&D de SQL e NoSQL na IBM Informix. Ele recebeu dois prêmios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav é bacharel em Ciência da Computação e Engenharia pela Universidade de Mysore, Índia, e recebeu vinte e quatro patentes nos EUA.

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.