O Workbench de consulta é uma ferramenta indispensável para os desenvolvedores que estão trabalhando com Servidor Couchbaseespecialmente aqueles que trabalham com N1QL.

Com certeza o Ferramenta de linha de comando cbq é útil, mas o Query Workbench tem uma interface de usuário agradável e também exibe o novo recurso de inferência de esquema Bucket Analysis.

Para acessar o Query Workbench, basta direcionar seu navegador para o Console do Couchbase e clicar na nova guia "Query" (Consulta) na parte superior da página.

Navigate to Query Workbench in Couchbase Console

 

Sou um desenvolvedor voltado para a Microsoft há algum tempo e uso o SQL Server Management Studio o tempo todo. Essa nova ferramenta Query Workbench parece confortável para mim.

Há três áreas principais para as quais quero chamar sua atenção:

  • A área do Editor N1QL

  • A área de resultados

  • A área de análise de balde

Área do editor N1QL

Nessa área, você pode digitar/colar/editar consultas N1QL adhoc.

N1QL Editor in the Query Workbench

 

Observe que você obtém um bom realce de sintaxe com seu N1QL. Clique em "Execute" (Executar) para executar uma consulta. Como exemplo, acabei de fazer uma simples consulta SELECT * do balde de amostras de viagem.

À medida que continuar a executar consultas, você criará um histórico. Você pode voltar a essas consultas usando a seta de navegação na parte superior da área e limpar o histórico a qualquer momento.

Há também um botão conveniente para salvar uma consulta em um arquivo de texto.

Área de resultados

Nessa área, você verá os resultados da consulta N1QL que você executou.

Supondo que a consulta tenha sido bem-sucedida, você verá os resultados dela aqui. Por exemplo, aqui estão os resultados da consulta ilustrada acima.

Query Workbench Results area

 

Às vezes, é útil visualizar os resultados de uma maneira diferente. Você pode alternar entre o JSON padrão, uma exibição de tabela (que tenta organizar os resultados em tabelas da melhor forma possível) e uma exibição em árvore (que é uma versão um pouco mais concisa da exibição JSON). Aqui estão os mesmos resultados da consulta, exibidos de três maneiras diferentes.

JSON, Table, and Tree results view

 

Há um botão para salvar o resultado JSON em um arquivo de texto.

Observe também que são exibidas algumas informações sobre os resultados: Status (bem-sucedido ou não), Tempo decorrido, Tempo de execução, Contagem de resultados e Tamanho do resultado.

Se a sua consulta não for bem-sucedida, você obterá um resultado com algumas informações que poderão ajudá-lo a corrigir a consulta em que está trabalhando.

Por exemplo, se eu tiver cometido um erro de digitação no nome do balde:

Unsuccessful result of N1QL query

Análise de balde

Deixei o melhor para o final. O Couchbase Server é um banco de dados de documentos sem esquema. Não há restrições para a estrutura dos documentos JSON que você insere e para os campos desse documento. Se você quisesse, cada documento poderia ser totalmente exclusivo.

No entanto, é comum que os documentos tendam a assumir uma forma regular. Uma porcentagem dos documentos compartilhará aproximadamente os mesmos campos e a mesma estrutura. Com isso em mente, se pegássemos uma amostra aleatória de todos os documentos em um bloco e os examinássemos, poderíamos "inferir" um esquema. É exatamente isso que você pode fazer na área Bucket Analysis.

Observe que esse é um recurso da Enterprise Edition e não está disponível na Couchbase Community Edition. Se você receber uma mensagem como "Not Implemented INFER", isso significa que você provavelmente está usando a Community Edition.

Clique para expandir um bucket, e o Couchbase pegará uma amostra (padrão de 1.000 documentos) e construirá um esquema implícito. A análise do bucket listará cada "sabor" de documento encontrado e a porcentagem de documentos amostrados que correspondem a esse sabor. Por exemplo, na análise cesto de viagemVejo 5 sabores listados. Você também pode usar um comando N1QL como INFERir amostra de viagem; os resultados brutos.

Bucket Analysis of travel sample bucket

 

No amostra de viagemComo a análise do Bucket Analysis encontrou os tipos que correspondem convenientemente aos valores do campo documents' 'type': airport, airline, landmark, route e hotel. Agora que sei que esses tipos existem, posso criar consultas e/ou índices N1QL que usam o campo type. Por exemplo: SELECT * FROM travel-sample WHERE type='route' LIMIT 5;.

A análise de compartimento pode ser muito útil na construção de consultas N1QL ou apenas para descobrir a forma dos dados em um compartimento.

Resumo

Pessoalmente, não sei como sobreviveria sem o Query Workbench. É a minha ferramenta preferida ao trabalhar com N1QL, criar índices e fazer experiências com o Couchbase Server.

Então, o que você acha do Query Workbench? Que tipo de coisas legais você planeja fazer com ele? Me envie um ping no TwitterDeixe um comentário ou envie um e-mail para mim (matthew.groves AT couchbase DOT com).

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.

Deixar uma resposta