Introdução aos links remotos
O Couchbase tem o prazer de anunciar seu novo Links remotos Serviço de análise na última versão do Lançamento do Couchbase Server 6.6. Os links remotos permitem que a análise operacional em tempo real obtenha e analise dados de vários clusters de dados e data centers do Couchbase em um cluster separado dedicado ao Analytics Service.
Caso de uso do cliente
Antes da versão 6.6, o Analytics Service estava disponível em um cluster, mas o serviço e suas análises estavam vinculados a esse cluster. Vários de nossos clientes de varejo, estilo de vida e viagens estavam realizando análises para suas linhas de negócios (por exemplo, comércio eletrônico, marketing, cadeia de suprimentos etc.) em clusters separados do Couchbase. Eles expressaram o desejo de unificar os dados de vários aplicativos operacionais em um cluster de análise centralizado. Isso motivou nossas equipes de engenharia e de produtos a ajudar a atender a essa necessidade do cliente. Você pode ler mais sobre outros casos de uso do Analytics aqui.
Como funcionam os links remotos?
Os links remotos permitem a ingestão de dados do Data Service, um cluster remoto do Couchbase em um cluster do Analytics. Isso é feito em três etapas simples:
- Configure um link remoto usando uma chamada de API REST ou a interface de linha de comando (CLI)
- Crie um conjunto de dados no cluster do Analytics no link remoto configurado acima
- Consultar o conjunto de dados usando SQL++ (ou sua ferramenta de BI favorita)
Vamos ver um exemplo simples. A iWorks, uma empresa de comércio eletrônico, vende acessórios para iPhone on-line. Os dados do pedido são armazenados em um cluster do Couchbase em um bucket chamado "ecommerce" com docType "order". Os dados do cliente são armazenados em um segundo cluster do Couchbase em um bucket chamado "customer360" com docType "customer". A iWorks gostaria de usar o Analytics Service para combinar e analisar os dados do pedido junto com os dados do cliente para determinar os três principais clientes por vendas. A ilustração logo abaixo é anterior à configuração de links remotos:
Amostra de dados de clientes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[ { "custid": "C31", "name" (nome): "D. Pitts", "docType": "cliente", "endereço": { "rua": "360 Mountain Ave.", "cidade": "Louis, MO", "zipcode" (código postal): "63101" } }, { "custid": "C35", "name" (nome): "F. Robert", "docType": "cliente", "endereço": { "rua": "420 Green St.", "cidade": "Boston, MA", "zipcode" (código postal): "02115" }, "classificação": 565 } ] |
Dados de pedido de amostra:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[ { "orderno": 1004, "custid": "C35", "docType": "ordem", "order_date" (data do pedido): "2020-07-10", "ship_date": "2020-07-15", "itens": [ { "itemno": 680, "qty": 6, "price" (preço): 10.00 }, { "itemno": 195, "qty": 4, "price" (preço): 20.00 } ] } { "orderno": 1050, "custid": "C31", "docType": "ordem", "order_date" (data do pedido): "2020-06-05", "ship_date": "2020-06-12", "itens": [ { "itemno": 680, "qty": 4, "price" (preço): 10.00 }, { "itemno": 195, "qty": 2, "price" (preço): 20.00 } ] } ] |
Vamos seguir as três etapas acima com um exemplo de código de configuração e uma consulta SQL++.
Etapa 1: Configurar links remotos
Criaremos dois links remotos em um novo cluster do Analytics usando um API REST chamada. (Como alternativa, você pode usar o CLI para criar links remotos.) Primeiro, vamos configurar o link remoto "order". Precisaremos fornecer:
-
- Nome do host do cluster do Analytics
- Credenciais de usuário do Analytics
- Nome do link remoto (nesse caso, remoteOrders)
- Nome do dataverse (se for diferente do padrão)
- Tipo de link como couchbase
- Solicitar nome do host do cluster
- Solicitar credenciais de usuário
- Especifique o tipo de criptografia desejado (nesse caso, nenhum)
1 2 3 4 5 6 7 8 9 |
$ enrolar -u <nome de usuário>:<pwd> -X POST "http:///analytics/link" -d universo de dados=Padrão -d nome=remoteOrders -d tipo=couchbase -d nome do host=<nome_do_hostname_dos_pedidos> -d nome de usuário=<nome de usuário do pedido> -d senha=<senha_dos_pedidos> -d criptografia=nenhum |
Vamos agora configurar o link remoto do "cliente" no cluster do Analytics. Esta etapa é semelhante à listada acima, exceto pelo fato de que precisamos fornecer um novo nome de link remoto (neste caso, remoteCustomers) juntamente com os detalhes e as credenciais do host do cluster do cliente. Nesse caso, escolhemos "full" como o tipo de criptografia (para fins ilustrativos) e incluímos o parâmetro de certificado necessário.
1 2 3 4 5 6 7 8 9 |
$ enrolar -u <nome de usuário>:<pwd> -X POST "http:///analytics/link" -d universo de dados=Padrão -d nome=clientes remotos -d tipo=couchbase -d nome do host=<nome_do_cliente> -d nome de usuário=<nome de usuário do cliente> -d senha=<senha> -d criptografia=completo --dados-urlencode "certificate=$(cat ./targetClusterRootCert.pem)" |
O certificado em targetClusterRootCert.pem
podem ser recuperados no console da Web do cluster de destino.

A ilustração abaixo é feita após a configuração dos dois links remotos:
Etapa 2: Criar conjuntos de dados e conectar links remotos
Usando o Analytics Workbench, criaremos agora dois conjuntos de dados denominados "orders" (pedidos) e "customers" (clientes) nos dois links remotos que criamos acima:
1 2 3 |
CRIAR CONJUNTO DE DADOS pedidos ON `comércio eletrônico` AT remoteOrders ONDE docType = 'ordem'; |
1 2 3 |
CRIAR CONJUNTO DE DADOS clientes ON `cliente360` AT clientes remotos ONDE docType = 'cliente'; |
Em seguida, conectaremos os links remoteOrders e remoteCustomers para permitir que a ingestão de dados ocorra do cluster de dados Orders e Customers para o cluster do Analytics. Isso demonstra o poderoso recurso NoETL da análise JSON. Para deixar claro, não é necessário ETL para mover nossos dados JSON NoSQL de um sistema para outro antes de poder analisá-los. Isso economiza tempo e poder de processamento, o que nos permite analisar os dados imediatamente e em sua forma natural (aplicativo) no cluster do Analytics.
1 |
CONECTAR Link remoteOrders; |
1 |
CONECTAR Link clientes remotos; |
Etapa 3: Consulta usando o SQL++
Como última etapa, podemos agora executar a consulta SQL++ listada abaixo (parece exatamente com o SQL :)) para unir pedidos e clientes e obter os três principais clientes com as vendas mais altas.
1 2 3 4 5 6 |
SELECIONAR c.nome Cliente, SUM(i.quantidade * i.preço) Vendas DE pedidos o, o.itens i, clientes c ONDE o.custid = c.custid GRUPO BY c.nome ORDEM BY Vendas DESC LIMITE 3; |
Aqui estão os resultados da consulta JSON:
1 2 3 4 5 |
[ { "Cliente": "D. Pitts", "Vendas": 19005.31 }, { "Cliente": "F. Robert", "Vendas": 13036.8 }, { "Cliente": "S. Weaver","Vendas": 4639.92 } ] |
Uau! Os links remotos funcionaram e agora podemos combinar e analisar os dados de clientes e pedidos juntos. Os usuários agora podem desenvolver uma variedade de consultas ad hoc complexas para explorar mais os dados, responder a novas perguntas comerciais e trazer fontes de dados adicionais do Couchbase.
Benefícios
Aqui estão os principais benefícios do uso de links remotos:
- Ampliar o alcance do Analytics. A ingestão de dados de vários clusters permite que mais dados sejam consolidados. Os casos de uso incluem a combinação e a correlação de dados de vários locais ou vários aplicativos, como acabamos de ver.
- Reduzir o custo total de propriedade do Analytics. A possibilidade de um cluster independente do Analytics pode reduzir ou eliminar a necessidade de incluir nós do Analytics em cada cluster individual, novamente como vimos no exemplo acima.
- Permitir um tempo ainda mais rápido para obter insights. Os clientes podem obter mais insights imediatamente, realizando correlações entre diferentes conjuntos de dados sem precisar que os dados de interesse sejam publicados primeiro em um data warehouse. Observe como foram necessárias poucas etapas para que pudéssemos analisar nossos dados; não houve ETL e os dados ficaram imediatamente disponíveis.
Resumo
Os links remotos ajudam a reduzir o TCO, melhoram a utilização de recursos e permitem o processamento transacional/analítico híbrido (HTAP) para o desenvolvimento e as implementações de soluções NoSQL, como é frequentemente necessário em aplicativos modernos. Os links remotos permitem que os usuários reúnam mais dados em um único local, o que possibilita que as organizações obtenham mais insights e façam mais análises de estilo de correlação em diferentes conjuntos de dados extraídos de diferentes clusters.
Você pode saber mais sobre os Links Remotos aqui. Registro aqui para nosso próximo webinar "O que há de novo na versão 6.6".
Explore os recursos do Couchbase Server 6.6

Coautor
Idris Motiwala, gerente principal de produtos
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.