Como se sentir confortável com o Couchbase Mobile: Couchbase Server via linha de comando

The Couchbase Mobile Stack

Introdução

Esta será a terceira postagem de uma série sobre o Couchbase Mobile pilha. Você pode encontrar a primeira e a segunda postagens aqui e aquirespectivamente. Eles cobrem a instalação de Servidor Couchbase e algumas partes interessantes de Console da Web do Couchbase. Nesta postagem, falaremos sobre como trabalhar com o Couchbase Server a partir da linha de comando.

Histórico

Para se familiarizar com toda a pilha, é ótimo instalar e executar tudo em sua máquina de desenvolvimento. Nesta série de postagens, explicarei as etapas para começar a usar cada componente. Também mostrarei como fazer uma pequena exploração extra ao longo do caminho.

Farei apenas a configuração mínima. O objetivo não é explicar o que você precisa para um ambiente de produção. Presumo que você conheça alguns conceitos básicos de NoSQL, tenha algum conhecimento sobre o Couchbase e saiba como criar aplicativos em algo como Java, Android ou iOS. Se quiser ler sobre bancos de dados NoSQL ou sobre o Couchbase, você pode encontrar muitos recursos no site Couchbase local.

O Couchbase é de código aberto. Tudo o que usarei aqui é gratuito para ser testado. Consulte o final da postagem para obter mais recursos se precisar de ajuda.

Linha de comando

O Couchbase Server tem várias ferramentas de linha de comando. Ele também tem uma API REST extensa. Vamos dar uma olhada em alguns pontos interessantes.

Utilitários de linha de comando

Em um Mac, geralmente você pode encontrar as ferramentas de linha de comando em /Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin.

Você pode descobrir os locais dos comandos para Linux e Windows aqui: http://developer.couchbase.com/documentation/server/current/cli/cli-intro.html

couchbase-cli: a ferramenta de gerenciamento de cluster de linha de comando

Essa ferramenta pode funcionar em nós únicos ou em clusters inteiros. Ela oferece suporte a comandos para tudo, desde a manipulação de buckets até replicações entre centros de dados. Aqui estão apenas alguns exemplos.

Lista de servidores

O próximo comando retornará uma breve lista de servidores em um cluster.

Saída

Como era de se esperar, isso mostra que temos um servidor ativo em execução localmente.

(Observação: para ser breve, deixarei de lado as opções de cluster, nome de usuário e senha daqui para frente. No entanto, você precisará delas para os comandos reais).

Coleta de registros

Podemos ativar o registro. Há opções para carregar automaticamente os dados para o suporte.

Saída

Em seguida, verifique o status.

Saída

E pare de registrar.

Saída

Os arquivos de registro são extensos. A amostra aqui continha muitos arquivos e mais de um megabyte de informações. Tudo isso é texto que você pode examinar. Se você precisar de suporte para uma instalação do CB Server, é bom saber como obter esses dados.

cbq: o shell de linha de comando para N1QL

A outra ferramenta que examinaremos é o cbq, o shell interativo para executar consultas N1QL.

Nesse caso, o comando fará um loop solicitando a entrada de dados. Comece executando sem opções.

Você deverá ver imediatamente alguns avisos e o prompt de comando.

Criar um índice primário

Para executar consultas, você precisará pelo menos de um índice primário. Algumas versões dos dados da amostra de cerveja vêm com um, outras não.

Saída

Consultas em execução

Aqui está um exemplo de uma consulta bastante simples.

Saída

Selecionamos todas as cervejas que têm "Imperial" como parte de sua descrição de estilo.

Observe os ticks posteriores em torno da amostra de cerveja. Eles são necessários por causa do traço no nome.

O N1QL deve lhe parecer familiar se você conhece SQL. O N1QL é um superconjunto do SQL. Os dados JSON geralmente não são planos como os dados relacionais. O N1QL tem extensões para fazer coisas como desenrolar matrizes. Você pode ler mais sobre o N1QL aqui.

Para entender o N1QL com mais profundidade, recomendo que você experimente este excelente tutorial interativo.

Você pode encontrar uma postagem útil de Nic Raboy sobre recursos mais avançados do cbq aqui.

API REST

O Couchbase Server tem um conjunto extenso de Pontos de extremidade REST. A maioria deles tem a ver com o gerenciamento de implementações.

Mostrarei exemplos usando o curl. Há uma ferramenta muito boa que eu recomendo como substituta do curl, httpie. É um pouco mais fácil de usar e cria uma saída colorida. Não o usarei aqui, pois o curl é mais comumente encontrado.

Acho outros pontos de extremidade interessantes para ver o que eles produzem, mas, para nossos propósitos, vou me concentrar nas consultas.

Ver consultas

Em minha postagem anterior sobre o Console da Web do CouchbaseNa última semana, demos uma olhada nas visualizações. As visualizações criam um índice estático que você pode usar para recuperar informações. Você pode controlar a resposta com várias opções. Grande parte do valor das visualizações vem de como você define as funções de mapa/redução, mas essas opções aprimoram ainda mais o uso das visualizações para consultar dados. A filtragem por chave é especialmente útil. Vamos dar uma olhada.

Você acessa as visualizações usando URIs do tipo

Para nossa amostra de cerveja, podemos obter todas as informações sobre a cervejaria e a cerveja da seguinte forma.

Isso gera muitas informações. Aqui está apenas uma pequena amostra da saída.

Você pode ver as principais informações. Podemos usar isso para restringir os resultados. Aqui está um exemplo usando uma única chave.

E o resultado.

Observe que adicionei um sinalizador -g. Por padrão, o Curl permite certos tipos de correspondência de padrões (globbing). Isso funciona usando os caracteres especiais {} e []. Precisamos deles para especificar a chave no JSON. A maneira mais fácil é desativar o globbing. Não se esqueça também das aspas simples ao redor do parâmetro.

Esse exemplo foi filtrado por uma chave. Aqui está um que mostra como obter resultados que correspondem a mais de uma chave de cada vez.

Observe que a saída não está classificada.

Além do uso na depuração (ou apenas na compreensão do que está acontecendo) de exibições, já vi algumas coisas legais escritas usando apenas scripts de shell e esse tipo de consulta.

Consultas N1QL

Acontece que você também pode executar consultas N1QL a partir da linha de comando. Aqui está um exemplo simples que extrai tudo do balde de amostras de cerveja.

A saída inclui algumas estatísticas e os documentos completos. (As estatísticas são enviadas para stderr em um Mac).

The N1QL command must have certain characters encoded to work properly. In this case, you can probably guess that %20 is the encoding for a single space. You can read more about that on this Postagem no Stack Overflow.

Próximas etapas

Passamos um bom tempo analisando o Couchbase Server. Em seguida, entraremos na área de dispositivos móveis, mergulhando no Gateway de sincronização. Seguirei mais ou menos o mesmo formato. No caso do Sync Gateway, porém, veremos que há muito mais a fazer usando as APIs REST. Isso incluirá alguns truques para ajudar no diagnóstico de problemas comuns. Depois disso, daremos uma olhada no Couchbase Lite e, em seguida, encerraremos tudo examinando a movimentação de dados de ponta a ponta em toda a pilha. Fique ligado.

[buttongroup][button style="btn-link btn-lg" icon="fa fa-arrow-left" align="left" iconcolor="#dd3333″ type="link" target="false" title="Anterior: Console da Web do Couchbase" link="https://www.couchbase.com/blog/comfortable-couchbase-mobile-couchbase-web-console/" linkrel=""][button style="btn-link btn-lg" icon="fa fa-arrow-right" align="left" iconcolor="#dd3333″ type="link" target="false" title="Next: Instalando o Sync Gateway" link="https://www.couchbase.com/blog/getting-comfortable-couchbase-mobile-installing-sync-gateway/" linkrel=""][/buttongroup]

Pós-escrito

Confira mais recursos em nosso portal do desenvolvedor e nos siga no Twitter @CouchbaseDev.

Você pode postar perguntas em nosso fóruns. E participamos ativamente de Estouro de pilha.

Você pode me seguir pessoalmente em @HodGreeley

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

Autor

Postado por Hod Greeley, Advogado do desenvolvedor, Couchbase

Hod Greeley é um defensor dos desenvolvedores da Couchbase e mora no Vale do Silício. Ele tem mais de duas décadas de experiência como engenheiro de software e gerente de engenharia. Trabalhou em diversas áreas de software, incluindo física e química computacional, segurança de computadores e redes, finanças e dispositivos móveis. Antes de ingressar na Couchbase em 2016, Hod liderou as relações com desenvolvedores para dispositivos móveis na Samsung. Hod é Ph.D. em física química pela Universidade de Columbia.

2 Comentários

  1. [...] Anterior: Instalando o Couchbase Server Próximo: Couchbase Server via linha de comando [...]

  2. [...] Anterior: Couchbase Server via linha de comando Próximo: Sync Gateway por meio da linha de comando [...]

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.