Usar o BigQuery Graph e o Spanner Graph

Este documento ajuda você a determinar qual solução de gráfico usar comparando o BigQuery Graph e o Spanner Graph.

Essa comparação serve como uma recomendação e não é absoluta. Há uma sobreposição significativa de recursos entre o BigQuery Graph e o Spanner Graph. Os usuários precisam identificar as próprias necessidades de carga de trabalho para determinar qual recurso usar.

Quando usar o BigQuery Graph e o Spanner Graph

O BigQuery Graph e o Spanner Graph atendem a diferentes tipos de cargas de trabalho de gráficos. O BigQuery Graph é para análises detalhadas em grande escala, enquanto o Spanner Graph é para operações em tempo real.

Gráfico do BigQuery

O BigQuery Graph é otimizado para executar consultas complexas em gráficos grandes. Você pode analisar padrões globais, identificar tendências históricas e descobrir relações ocultas em grandes conjuntos de dados.

As características técnicas incluem desempenho otimizado em escala, processamento paralelo, consultas complexas em uma parte significativa do gráfico, computação intensiva e agregações complexas.

Os casos de uso comuns incluem:

  • Detecção de fraude off-line:encontre outros usuários suspeitos conectados a fraudadores conhecidos em toda a rede em um gráfico de clientes, em alguns graus de conexões que compartilham o mesmo e-mail, telefone ou endereço. Para um tutorial sobre detecção de fraude, consulte Spanner e BigQuery: defesa contra fraudes em tempo real Shield.
  • Otimização da cadeia de suprimentos:crie um gráfico da lista de materiais que represente as relações entre os produtos finais e os componentes deles para o planejamento de inventário. Calcule datas de entrega de produtos e entenda a disponibilidade de materiais analisando os produtos de nível superior até os componentes principais em todas as linhas de produtos.
  • Segmentação do Customer 360:crie um grafo do Customer 360 para entender as jornadas dos clientes em assinaturas de produtos, conversões e desistências. Use isso para identificar por que os clientes desistem, identificar padrões de uso e usar o gráfico para segmentação de clientes e segmentação por público-alvo em todo o público.

Spanner Graph

O Spanner Graph é para operações em tempo real. Ele é otimizado para aplicativos que precisam realizar consultas k-hop que tocam um pequeno conjunto de elementos de grafo instantaneamente, detectar fraudes em milissegundos, realizar rastreamento de linhagem para verificação de identidade e dependência e disponibilizar recomendações em tempo real.

As características técnicas incluem latência previsível com jitter mínimo, consultas por segundo (QPS) que escalonam linearmente com o número de nós do Spanner e escala praticamente ilimitada. Ele também apresenta armazenamento de gráficos integrado com intercalação de tabelas de nós e arestas, disponibilidade sempre ativa, consistência global e consultas de pesquisa pontual e de vários hops a partir de um único nó ou um conjunto de nós de gráfico.

Os casos de uso comuns incluem:

  • Detecção de fraude em tempo real:verifique uma transação com cartão de crédito em um grafo de dispositivos e contas fraudulentas conhecidas em milissegundos.
  • Operações de rede autônomas:crie um gêmeo digital da sua rede para monitoramento e otimização da performance em tempo real.
  • Resolução de entidades:crie clusters de identidades vinculadas como uma fonte de verdade de diferentes PIIs (e-mail, telefone, ID do Vemo). Use os perfis canônicos para pesquisa de identidade antes de veicular anúncios, faça detecção de fraudes em tempo real e treine repositórios de recursos.

Como o BigQuery Graph e o Spanner Graph funcionam juntos

O BigQuery Graph e o Spanner Graph trabalham juntos para oferecer uma solução abrangente. Por exemplo, em um caso de uso de 360 graus do cliente:

  1. Insights em tempo real:um agente de serviço ao cliente usa o Spanner Graph para lidar com reclamações de usuários sobre o envio do produto errado com base em estatísticas de compra e entrega em tempo real.
  2. Replicação ou consulta:é possível replicar dados do Spanner para o BigQuery usando fluxos de mudanças do Spanner sem extração, transformação e carregamento (ETL) complexos ou consultar dados do Spanner diretamente do BigQuery usando consultas federadas do BigQuery.
  3. Analisar padrões:um cientista de dados usa o BigQuery Graph para identificar um "ponto de rotatividade" nos mesmos dados e rotular o cliente como "em risco".
  4. Ciclo de feedback:os rótulos "em risco" são enviados para o Spanner Graph com suporte de extração, transformação e carregamento (ETL) inversos para gerar um código do cupom para esse cliente e evitar o cancelamento.

Mover dados entre o BigQuery Graph e o Spanner Graph

Você pode mover dados entre o Spanner Graph e o BigQuery Graph para atender aos requisitos da sua carga de trabalho:

  • ETL de encaminhamento:para mover dados do Spanner para o BigQuery em consultas analíticas, use um modelo do Dataflow.

  • ETL reverso:embora seja possível consultar dados do Spanner diretamente do BigQuery Graph, pode haver cenários em que é necessário trazer dados do BigQuery para o Spanner Graph. Use a instrução SQL EXPORT DATA. Para mais detalhes, consulte Entender o pipeline de ETL reverso.

Comparação dos recursos

A tabela a seguir mostra um detalhamento detalhado dos recursos por produto para o qual eles são mais otimizados:

Recurso Gráfico do BigQuery (off-line/em lote) Spanner Graph (on-line/em tempo real)
Modelo, consulta e visualização de gráficos Modelagem e linguagem de consulta de gráficos unificadas, tudo com tecnologia do GoogleSQL, parte do padrão ISO SQL. Mesma interface para visualização de gráficos. Modelagem e linguagem de consulta de gráficos unificadas, tudo com tecnologia do GoogleSQL, parte do padrão ISO SQL. Mesma interface para visualização de gráficos.
Carga de trabalho principal Off-line (em lote): agregações em conjuntos de dados enormes. On-line (em tempo real): alto volume de leituras/gravações de baixa latência.
Latência da consulta Segundos a horas. Otimizado para verificação de terabytes/petabytes. Milissegundos para segundos. Essencial para apps voltados ao usuário.
Padrão de consulta Global ou gráfico inteiro: "Quem tem um 'Alcance da rede' de mais de 5.000 pessoas?" Local ou bairro: "Quem são os amigos dos meus amigos que não estão no meu círculo imediato?"
Escala Em escala de petabytes, praticamente ilimitado e otimizado para dados históricos em grande escala. Escalonamento horizontal, escala praticamente ilimitada e otimização para dados ativos.
Atualização de dados Quase em tempo real ou em lote. Acessar dados de diferentes fontes (por exemplo, dados do Spanner Graph usando o Data Boost para Spanner, Bigtable, Cloud Storage ou Amazon S3). Consistência forte e em tempo real.
Entrada de dados Data lakes, registros históricos, dados de transações arquivados. Fluxos de aplicativos ativos, interações do usuário.
Movimentação de dados Spanner para BigQuery (extração, transformação e carregamento (ETL) diretos) com modelos pré-criados (em lote, streaming). BigQuery para Spanner (ETL reverso) com EXPORT_DATA. Federação de consultas (ETL zero) com esquema externo. Spanner para BigQuery (extração, transformação e carregamento (ETL) diretos) com modelos pré-criados (em lote, streaming). BigQuery para Spanner (ETL reverso) com EXPORT_DATA. Federação de consultas (ETL zero) com esquema externo.

A seguir