Utiliser BigQuery Graph et Spanner Graph

Ce document vous aide à déterminer quelle solution graphique utiliser en comparant BigQuery Graph et Spanner Graph.

Cette comparaison sert de recommandation et n'est pas absolue. Les fonctionnalités de BigQuery Graph et de Spanner Graph se chevauchent considérablement. Les utilisateurs doivent identifier leurs propres besoins en termes de charge de travail pour déterminer quelle fonctionnalité utiliser.

Quand utiliser BigQuery Graph et Spanner Graph

BigQuery Graph et Spanner Graph sont adaptés à différents types de charges de travail graphiques. BigQuery Graph est destiné à l'analyse approfondie à grande échelle, tandis que Spanner Graph est destiné aux opérations en temps réel.

Graphique BigQuery

BigQuery Graph est optimisé pour exécuter des requêtes complexes sur de grands graphiques. Vous pouvez analyser des tendances mondiales, identifier des tendances historiques et découvrir des relations cachées dans des ensembles de données volumineux.

Ses caractéristiques techniques incluent des performances optimisées à grande échelle, un traitement parallèle, des requêtes complexes sur une partie importante du graphique, un calcul intensif et des agrégations complexes.

Voici quelques cas d'utilisation courants :

  • Détection de la fraude hors connexion : identifiez d'autres utilisateurs suspects liés à des fraudeurs connus sur l'ensemble de votre réseau dans un graphique client, à quelques degrés de connexion partageant la même adresse e-mail, le même numéro de téléphone ou la même adresse. Pour consulter un tutoriel sur la détection des fraudes, consultez Spanner et BigQuery : protection contre les fraudes en temps réel.
  • Optimisation de la chaîne d'approvisionnement : créez un graphique de la nomenclature qui représente les relations entre les produits finaux et leurs composants pour la planification des stocks. Calculez les dates de livraison des produits et comprenez la disponibilité des matériaux en analysant les produits de premier niveau jusqu'à leurs composants de base dans toutes les gammes de produits.
  • Segmentation client à 360° : créez un graphique client à 360° pour comprendre les parcours client pour les abonnements aux produits, les conversions et le churn. Utilisez-le pour identifier les raisons pour lesquelles les clients se désabonnent, identifier les schémas d'utilisation et utiliser le graphique pour la segmentation des clients et le ciblage d'audience dans l'ensemble de l'audience.

Spanner Graph

Spanner Graph est conçu pour les opérations en temps réel. Il est optimisé pour les applications qui doivent effectuer des requêtes k-hop touchant instantanément un petit ensemble d'éléments de graphique, détecter les fraudes en quelques millisecondes, effectuer le traçage de l'ascendance pour la vérification de l'identité et des dépendances, et diffuser des recommandations en direct.

Ses caractéristiques techniques incluent une latence prévisible avec un minimum de gigue, des requêtes par seconde (RPS) qui évoluent de façon linéaire avec le nombre de nœuds Spanner et une évolutivité pratiquement illimitée. Il inclut également un stockage de graphiques intégré avec entrelacement des tables de nœuds et d'arêtes, une disponibilité permanente, une cohérence globale, ainsi que des requêtes de recherche ponctuelle et multihop à partir d'un seul nœud de graphique ou d'un ensemble de nœuds de graphique.

Voici quelques cas d'utilisation courants :

  • Détection de la fraude en temps réel : vérifiez si une carte de crédit a été utilisée sur un appareil ou un compte frauduleux connu en quelques millisecondes.
  • Opérations réseau autonomes : créez un jumeau numérique de votre réseau pour surveiller et optimiser les performances en temps réel.
  • Résolution d'entités : créez des clusters d'identités associées comme source de vérité à partir de différentes informations permettant d'identifier personnellement l'utilisateur (adresse e-mail, numéro de téléphone, ID Vemo). Utilisez les profils canoniques pour rechercher des identités avant de diffuser des annonces, détecter les fraudes en temps réel et entraîner les feature stores.

Fonctionnement conjoint de BigQuery Graph et Spanner Graph

BigQuery Graph et Spanner Graph fonctionnent ensemble pour fournir une solution complète. Par exemple, dans un cas d'utilisation de vue à 360° du client :

  1. Insights en temps réel : un agent du service client utilise Spanner Graph pour traiter les réclamations des utilisateurs concernant la livraison du mauvais produit en se basant sur les statistiques d'achat et de livraison en temps réel.
  2. Réplication ou requête : vous pouvez répliquer des données de Spanner vers BigQuery à l'aide des flux de modifications Spanner sans avoir à effectuer d'extraction, de transformation ni de chargement (ETL) complexes, ou interroger des données Spanner directement depuis BigQuery à l'aide des requêtes fédérées BigQuery.
  3. Analyser les tendances : un data scientist utilise BigQuery Graph pour identifier un "point chaud de désabonnement" sur ces mêmes données afin de marquer le client comme "à risque".
  4. Boucle de rétroaction : les libellés "à risque" sont envoyés à Spanner Graph avec une assistance pour l'extraction, la transformation et le chargement (ETL) inversés afin de générer un code promotionnel pour ce client et d'éviter ainsi le churn.

Déplacer des données entre BigQuery Graph et Spanner Graph

Vous pouvez déplacer des données entre Spanner Graph et BigQuery Graph en fonction des exigences de votre charge de travail :

  • ETL direct : pour transférer des données de Spanner vers BigQuery pour les requêtes analytiques, utilisez un modèle Dataflow.

  • ETL inversé : vous pouvez interroger les données Spanner directement depuis BigQuery Graph, mais il peut arriver que vous deviez importer des données BigQuery dans Spanner Graph. Utilisez l'instruction SQL EXPORT DATA. Pour en savoir plus, consultez Comprendre le pipeline d'ETL inversé.

Comparatif des fonctionnalités

Le tableau suivant fournit une répartition détaillée des fonctionnalités par produit pour lequel elles sont les plus optimisées :

Fonctionnalité Graphique BigQuery (hors connexion/par lot) Spanner Graph (en ligne/en temps réel)
Modèle, requête et visualisation de graphiques Modélisation et langage de requête graphiques unifiés, le tout optimisé par GoogleSQL, qui fait partie de la norme ISO SQL. Même interface pour la visualisation des graphiques. Modélisation et langage de requête graphiques unifiés, le tout optimisé par GoogleSQL, qui fait partie de la norme ISO SQL. Même interface pour la visualisation des graphiques.
Charge de travail principale Hors connexion (par lot) : agrégations sur des ensembles de données volumineux. En ligne (en temps réel) : volume élevé de lectures/écritures à faible latence.
Latence des requêtes De secondes à heures. Optimisé pour l'analyse de téraoctets/pétaoctets. Millisecondes en secondes. Critique pour les applications destinées aux utilisateurs.
Schéma de requête Graphique global ou complet : "Qui a une "Couverture du réseau" de plus de 5 000 personnes ?" Local ou quartier : "Qui sont les amis de mes amis, mais qui ne font pas partie de mon cercle proche ?"
Évoluer À l'échelle du pétaoctet, pratiquement illimité, optimisé pour les données historiques à grande échelle. Évolutivité horizontale, capacité pratiquement illimitée, optimisé pour les données actives.
Fraîcheur des données en quasi-temps réel ou par lot. Accès aux données provenant de différentes sources (par exemple, les données Spanner Graph à l'aide de Data Boost pour Spanner, Bigtable, Cloud Storage ou Amazon S3). Cohérence forte et en temps réel.
Saisie des données Lacs de données, journaux historiques, données de transaction archivées. Flux d'applications en direct, interactions des utilisateurs.
Transfert de données Spanner vers BigQuery (extraction, transformation et chargement (ETL) en avant) avec des modèles prédéfinis (par lot, par flux). BigQuery vers Spanner (ETL inversé) avec EXPORT_DATA. Fédération de requêtes (sans ETL) avec un schéma externe. Spanner vers BigQuery (extraction, transformation et chargement (ETL) en avant) avec des modèles prédéfinis (par lot, par flux). BigQuery vers Spanner (ETL inversé) avec EXPORT_DATA. Fédération de requêtes (sans ETL) avec un schéma externe.

Étapes suivantes