Observação: Esta postagem usa a linguagem de definição de dados do Couchbase Analytics a partir da versão 5.5. Para obter atualizações e informações sobre mudanças significativas em versões mais recentes, consulte Alterações no Couchbase Analytics Service.

O Couchbase Analytics Service, às vezes chamado de CBAS, é excelente para o Couchbase e para suas necessidades de dados NoSQL, pois permite que você crie e execute consultas potencialmente complexas em grandes quantidades de dados de forma eficiente usando um dialeto SQL familiar.

Veremos como usar esse serviço de análise, novo a partir de Couchbase 5.5com o SDK do Node.js para Couchbase.

Para este exemplo, trabalharemos com o amostra de viagem Bucket de exemplo que pode ser instalado opcionalmente com o Couchbase Server. Ele não é considerado um conjunto de dados enorme, mas funcionará com este exemplo.

Configuração de um conjunto de dados do Couchbase Analytics

Dentro do Análises do Painel de controle administrativo do Couchbase, execute a seguinte consulta:

A consulta acima criará um arquivo viagens Balde do Analytics baseado no Couchbase amostra de viagem Balde.

Com o bucket criado, podemos criar um conjunto de dados sombra para trabalhar. Execute as seguintes consultas:

As consultas acima criarão dois conjuntos de dados shadow com base nos dados existentes no amostra de viagem balde. Enquanto os conjuntos de dados shadow são criados, eles precisam ser inicializados:

Depois de inicializado, o serviço Analytics começará a fazer sua cópia dos documentos e a monitorar ativamente as alterações. Podemos testar os dados executando uma consulta como a seguinte:

A consulta acima encontrará todos os documentos do nosso conjunto de dados shadow. Em outras palavras, obteremos todos os documentos que têm um tipo propriedade de companhia aérea.

Tudo isso é ótimo, mas, até o momento, só usamos o painel administrativo do Couchbase. Queremos poder executar consultas em nosso conjunto de dados do Analytics a partir do Node.js.

Consulta ao CBAS a partir de um aplicativo Node.js

Supondo que você tenha o Node.js instalado, crie um novo diretório de projeto e execute o seguinte comando:

O comando acima criará um novo package.json no caminho de sua CLI. Para nos comunicarmos com o Couchbase, precisaremos do SDK. Ele pode ser instalado executando o seguinte na CLI:

Agora podemos começar a desenvolver nosso aplicativo. Criar um app.js em seu projeto com o seguinte:

Não há muita coisa acontecendo no código acima, mas vamos detalhá-lo de qualquer forma.

Antes de começarmos a executar as consultas, precisamos nos conectar ao cluster e ativar as interações com o serviço do Analytics. Também precisamos nos autenticar no cluster com um usuário que tenha permissão para usar o Analytics. Neste exemplo, o Analytics está ativo no nó ao qual estamos nos conectando.

Observe que não estamos nos conectando a um Bucket. Se quiséssemos usar o N1QL, abriríamos um Bucket, mas não estamos usando o N1QL, mesmo que pareça semelhante.

Usando uma consulta simples do Analytics, podemos analisá-la e executá-la. Os resultados da consulta serão retornados e impressos nos registros.

Não é tão ruim, certo?

Como o Analytics usa SQL++, você pode tornar suas consultas muito mais complicadas usando outros operadores, como ONDEsubconsultas e operações em coleções.

Conclusão

Você acabou de ver como criar um aplicativo Node.js simples que usa o Couchbase Analytics Service (CBAS) em vez do N1QL. O Analytics e o SQL++ não substituem o N1QL, mas são um complemento para conjuntos de dados muito maiores ou complicados, enquanto o N1QL se destaca em conjuntos de dados menores.

Para saber mais sobre o Analytics ou o SDK do Couchbase Node.js, visite o site Portal do desenvolvedor do Couchbase. Saiba mais sobre outros novos recursos disponíveis no Lançamento do Couchbase Server 5.5.

Autor

Postado por Nic Raboy, defensor dos desenvolvedores, Couchbase

Nic Raboy é um defensor das modernas tecnologias de desenvolvimento móvel e da Web. Ele tem experiência em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experiências de desenvolvimento relacionadas a tornar o desenvolvimento móvel e da Web mais fácil de entender.

Deixar uma resposta