Aprimoramentos do N1QL na versão 4.5.1 - Parte 2

Simplifique a transição do RDBMS

A versão 4.5.1 do Couchbase Server traz várias melhorias de funcionalidade, usabilidade e desempenho no N1QL para atender às necessidades dos aplicativos corporativos. Esses aprimoramentos abordam muitos dos problemas críticos de nossos clientes e simplificam Transição do RDBMS.

Experimente o Couchbase Server 4.5.1. Está pronto para produção, testado em campo por parceiros e clientes. Veja o que há de novo para obter a lista completa de aprimoramentos e melhorias.

Não perca parte1 do blog.

Nova configuração de consulta bonito

Muito bonito!!! Muito bonito!!! bonito!! Sim, bonito é uma nova e impressionante configuração de consulta no N1QL que pode ativar ou desativar a formatação bonita dos resultados da consulta. Você pode se perguntar: o que há de tão bom nisso? E por que alguém pode querer desativar a bela formatação da saída JSON.

Como diz o velho ditado, não há almoços grátis. A formatação bonita dos resultados da consulta tem suas próprias despesas:

  1. Primeiro, um fato rápido é que os caracteres de espaço em branco (tabulações, espaços, novas linhas) em um documento JSON bem formatado consomem quase um terço do seu tamanho.
    • Portanto, a simples redução do embelezamento economizará todos os bytes brutos que fluem pela rede.
    • Além disso, considere a economia correspondente nos recursos de memória e processamento do serviço N1QL.
    • No total, a economia é bastante significativa.
  2. O formato de saída bonito é bom para cenários legíveis por humanos, com tamanhos de resultados gerenciáveis por humanos.
    • No entanto, os aplicativos do mundo real e os programas de computador executam consultas com muito mais frequência do que os humanos e processam resultados de consultas muito maiores.
    • Para eles, o que importa é desempenho e eficiêncianão é uma formatação bonita. Na verdade, essa formatação é uma sobrecarga para o analisador e o aplicativo JSON, e geralmente é descartada. Normalmente, os aplicativos têm sua própria camada de apresentação para formatar os dados adequadamente para os respectivos usuários.
    • Por exemplo, considere um site de reservas de viagens, no qual você está pesquisando voos. Tenho certeza de que nenhum site de viagens despeja os voos disponíveis como um monte de documentos JSON.

O novo parâmetro de consulta bonito em 4.5.1 permite ativar/desativar a formatação de um resultado de consulta. O parâmetro pode ser:

  • definido como verdadeiro ou falso.
  • Passado para o mecanismo CBQ como parâmetros de linha de comando
  • Passado como parâmetro de consulta com chamadas REST.

Por padrão, ele é definido como verdadeiro. Quando definido como falsoos caracteres de espaço em branco são retirados dos resultados da consulta. Os benefícios de desempenho são significativamente visíveis quando as consultas produzem resultados grandes e, é claro, dependem da porcentagem de espaço em branco em seus documentos. Por exemplo, a consulta a seguir, que seleciona todos os documentos de travel-sample, é executada quase 3x mais rápido quando pretty = false. Além disso, observe o tamanho do conjunto de resultados, que é um terço do resultado bem formatado.

Com pretty = true

Com pretty = false

Observe que o total de resultSize agora é de apenas 36754457bytes, e a consulta foi executada em 2,2 segundos.

Aprimoramentos na construção de objetos dinâmicos em consultas N1QL

O N1QL já suporta a criação de objetos JSON dinamicamente em consultas. Isso ajuda imensamente na criação de objetos de resultados especificamente construídos em listas de projeção de consultas. O servidor Couchbase 4.5.1 amplia o poder das expressões e enriquece a criação dinâmica de objetos e o processamento de objetos em consultas N1QL.

  1. No Couchbase Server 4.5.1, o N1QL permite que os nomes e os valores dos campos de objeto sejam expressões arbitrárias. Nas versões anteriores, os nomes dos campos devem ser cadeias de caracteres estáticas. Se um nome não for avaliado como uma cadeia de caracteres, o resultado da construção do objeto será NULL. Por exemplo:
  2. Ao construir objetos em uma consulta N1QL, os nomes dos campos em pares nome-valor tornam-se opcionais no item 4.5.1. Por exemplo, a consulta a seguir atribui implicitamente os nomes "type" e "name" aos respectivos valores:

Nova função de matriz ARRAY_INTERSECT()

A função ARRAY_INTERSECT() recebe dois ou mais vetores como parâmetros e retorna a interseção dos vetores de entrada como resultado, ou seja, o vetor que contém os valores presentes em todos os vetores de entrada. Ela retorna uma matriz vazia se não houver elementos de matriz comuns. Para obter mais informações, consulte a documentação. Por exemplo, a consulta a seguir encontra os hotéis de que Brian ou Lilian gostam, no bucket de amostra de viagens enviado com Servidor Couchbase 4.5.1.

Baixar Servidor Couchbase 4.5.1 e experimente. Informe-me se tiver alguma dúvida/comentário ou se estiver achando o máximo ;-)
Saúde!!!

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

Autor

Postado por A equipe do Couchbase

Jennifer Garcia é gerente sênior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementação, conteúdo e desempenho.

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.