Análise do Couchbase

Seu guia para funções definidas pelo usuário no Couchbase Analytics

Funções definidas pelo usuário colocadas você no banco do motorista quando se trata de consultar e analisar seus dados.

No ecossistema do Couchbase, as funções definidas pelo usuário (UDFs) são reutilizáveis e parametrizáveis Consultas SQL++ que permitem modularizar as consultas e aumentar a reutilização do código, ao mesmo tempo em que oferecem mais controle sobre como uma determinada consulta interage com a lógica comercial.

Dito isso, tenho o prazer de anunciar que a versão 7.0 do Couchbase Server agora oferece suporte a funções definidas pelo usuário (UDFs) no Serviço de análise.

Confira a postagem de ontem no blog para mais informações sobre funções definidas pelo usuário na linguagem de consulta SQL++.

Funções definidas pelo usuário 101

No Couchbase Analytics, as funções definidas pelo usuário têm duas partes:

  1. A assinatura da função: A assinatura consiste no nome da função mais o número de parâmetros. Uma função recebe zero, um ou mais parâmetros. Cada função pertence a um universo de dados (ou Escopo na terminologia 7.0) e deve ter uma assinatura exclusiva dentro desse dataverse. Isso significa que você pode criar duas funções no mesmo dataverse que tenham o mesmo nome, mas com um número diferente de parâmetros. Como a assinatura da função é distinta (nome + número de parâmetros), isso é permitido.
  2. Corpo funcional: O corpo de uma função pode ser uma expressão ou uma subconsulta e pode fazer referência a conjuntos de dados ou para outras funções no mesmo dataverse ou em um dataverse diferente.

Aqui estão dois exemplos que mostram a assinatura da função - my_dataverse.GetOrders(...) - e o corpo da função (tudo o que estiver entre chaves abaixo):

Se o CRIAR FUNÇÃO DE ANÁLISE não fornecer um nome de dataverse, a função será criada no dataverse ativo. Se um dataverse não for especificado, a função será criada no dataverse "Padrão".

Um dataverse pode ser fornecido por meio de um USE <> na consulta ou por meio de uma instrução contexto_de_consulta Parâmetro da API REST.

Histórico: Escopos e coleções no Couchbase Analytics

Antes de mostrar a você o ciclo de vida completo de um UDF do Couchbase Analytics, vamos primeiro nos atualizar sobre um contexto importante.

O diagrama A abaixo representa um exemplo de dados que poderiam ser usados por uma empresa de viagens para gerenciar reservas de companhias aéreas e hotéis.

An architecture diagram of how Couchbase Analytics parallel the Bucket, Scopes and Collections of the Data Service

Diagrama A

Nessa arquitetura, temos um Bucket chamado viagens (semelhante a um banco de dados em um banco de dados relacional), que contém um escopo chamado inventário (semelhante a um esquema em um RDBMS) e quatro coleções denominadas companhia aérea, aeroporto, hotel e rota (semelhante a tabelas em um RDBMS). Para cada uma dessas coleções, temos quatro coleções analíticas correspondentes (também conhecidas como conjuntos de dados) e as organizamos dentro da seção travel.inventory Escopo (também conhecido como dataverse).

Um exemplo de UDF usando o Couchbase Analytics

Para este exemplo, vamos supor que sua equipe de análise de dados precise consultar com frequência quais companhias aéreas de um determinado país voam mais rotas e quais são suas classificações percentuais.

Veja como os UDFs ajudam sua equipe a concluir essas consultas complexas.

Como gerenciar seus UDFs

A primeira etapa é criar a função definida pelo usuário no Analytics Scope (ou dataverse) designada como travel.inventory.

Abaixo está a instrução Data Definition Language (DDL) para criar um UDF que torna sua consulta mais sucinta:

O UDF acima usa o parâmetro em_país como entrada para o nome do país e o usa como um filtro para a consulta. Em seguida, a consulta executa um JOIN entre o companhia aérea e rota Coleções e realiza agregações para cada companhia aérea a fim de:

  1. Contar o número de rotas de companhias aéreas
  2. Calcule a classificação percentual das contagens de rotas usando o PERCENT_RANK com a função SOBRE cláusula.

(O SOBRE recupera um conjunto específico de linhas em relação à linha atual e executa uma agregação sobre o conjunto de linhas id campo. Saiba mais sobre as funções de janela nesta postagem do blog.)

Como avaliar seus UDFs

Em seguida, vamos testar sua nova UDF.

A consulta a seguir determina as três principais companhias aéreas de um determinado país ("Estados Unidos", neste exemplo).

O resultado da avaliação dessa consulta mostra as três principais companhias aéreas que voam com a maioria das rotas, juntamente com suas classificações percentuais:

Como eliminar seus UDFs

Quando não precisar mais do UDF, você poderá descartá-lo usando a instrução DDL abaixo:

Fácil, não é?

Conclusão

As funções reutilizáveis definidas pelo usuário são úteis para simplificar e modularizar o seu código e, ao mesmo tempo, proporcionar mais flexibilidade ao seu sistema. Espero que essa nova funcionalidade de UDF seja útil para seu trabalho com o Couchbase Analytics.

Gostaria muito de ouvir suas opiniões e comentários abaixo sobre o que você acha do novo recurso UDF e como o está usando. Ou inicie uma conversa na seção Fóruns do Couchbase. Aguardo ansiosamente seu contato.

Dê uma olhada em seus próprios UDFs com o Couchbase Analytics:
Teste o Couchbase 7 hoje mesmo

 

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

Autor

Postado por Idris Motiwala

Idris é gerente de produto principal de análise na Couchbase, com mais de 20 anos de experiência em design, desenvolvimento e execução de produtos de software em empresas da Fortune 500 e startups, liderando equipes de transformação digital, nuvem e análise. Idris tem mestrado em gerenciamento de tecnologia e certificações em gerenciamento de produtos.

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.