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:
- 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.
- 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.
- 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".
- 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
- Saiba mais sobre o BigQuery Graph.
- Saiba mais sobre o Spanner Graph.