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 deve ser considerada absoluta. Há uma sobreposição significativa de recursos entre o BigQuery Graph e o Spanner Graph, e 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 grafo. O BigQuery Graph é para análises profundas em larga 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. É possível analisar padrões globais, identificar tendências históricas e descobrir relações ocultas em conjuntos de dados massivos.

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 são:

  • Detecção de fraudes off-line:encontre outros usuários suspeitos que estão conectados a fraudadores conhecidos em toda a rede em um gráfico de clientes, com alguns graus de conexões que compartilham o mesmo e-mail, telefone ou endereço. Para um tutorial sobre detecção de fraudes, consulte Spanner e BigQuery: Real-Time Fraud Defense 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 as datas de entrega dos produtos e entenda a disponibilidade de materiais analisando os produtos de nível superior até os componentes raiz em todas as linhas de produtos.
  • Segmentação de clientes em 360°:crie um gráfico de clientes em 360° para entender as jornadas dos clientes em relação a 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-alvo.

Spanner Graph

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

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

Os casos de uso comuns são:

  • Detecção de fraudes em tempo real:verifique uma transação de cartão de crédito em um gráfico de dispositivos e contas fraudulentos conhecidos em milissegundos.
  • Operações de rede autônomas:crie um gêmeo digital da sua rede para monitoramento e otimização de desempenho em tempo real.
  • Resolução de entidades:crie clusters de identidades vinculadas como uma fonte de informações de diferentes PIIs (e-mail, telefone, ID do Venmo). Use os perfis canônicos para pesquisa de identidade antes de veicular anúncios, realize detecção de fraudes em tempo real e treine Feature Stores.

Como o BigQuery Graph e o Spanner Graph funcionam juntos

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

  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 os fluxos de alterações do Spanner sem extração, transformação e carregamento (ETL) complexos ou consultar dados do Spanner diretamente do BigQuery usando as consultas federadas do BigQuery.
  3. Analisar padrões:um cientista de dados usa o BigQuery Graph para identificar "pontos de acesso de cancelamento" 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) reverso para gerar um código do cupom para esse cliente e evitar o desligamento.

Mover dados entre o BigQuery Graph e o Spanner Graph

É possível mover dados entre o Spanner Graph e o BigQuery Graph para atender aos requisitos da carga de trabalho:

  • ETL de encaminhamento:para mover dados do Spanner para o BigQuery para 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 você precise transferir 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 dos recursos de acordo com o produto para o qual eles são mais otimizados:

Recurso BigQuery Graph (off-line/em lote) Spanner Graph (on-line/em tempo real)
Modelo de gráfico, consulta e visualização Modelagem de gráficos unificada e linguagem de consulta de gráficos, tudo com tecnologia do GoogleSQL, parte do padrão ISO SQL. Mesma interface para visualização de gráficos. Modelagem de gráficos unificada e linguagem de consulta de gráficos, 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 verificar 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 de rede' de mais de 5.000 pessoas?" Local ou vizinhança: "Quem são os amigos dos meus amigos que não estão no meu círculo imediato?"
Escala Escala de petabytes, praticamente ilimitada, otimizada para dados históricos em grande escala. Escalonável horizontalmente, com escala praticamente ilimitada, otimizado para dados quentes.
Atualização de dados Quase em tempo real ou em lote. Pode 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 em tempo real.
Entrada de dados Data lakes, registros históricos, dados de transações arquivados. Transmissões de aplicativos ao vivo, interações do usuário.
Movimentação de dados Spanner para BigQuery (extração, transformação e carregamento (ETL) de encaminhamento) com modelos pré-criados (lote, streaming). BigQuery para Spanner (ETL reverso) com EXPORT_DATA. Federação de consultas (zero-ETL) com esquema externo. Spanner para BigQuery (extração, transformação e carregamento (ETL) de encaminhamento) com modelos pré-criados (lote, streaming). BigQuery para Spanner (ETL reverso) com EXPORT_DATA. Federação de consultas (zero-ETL) com esquema externo.

A seguir