Datastream vous permet d'ingérer des données provenant de bases de données relationnelles et d'autres sources dans des destinations telles que BigQuery, des tables Apache Iceberg et Cloud Storage en temps quasi réel. Vous pouvez ensuite utiliser les données répliquées dans BigQuery pour l'entreposage et l'analyse de données, ou exécuter des jobs Apache Spark pour des charges de travail d'intelligence artificielle et de machine learning.
Concepts
Cette section décrit les principaux concepts que vous devez comprendre pour utiliser Datastream efficacement.
Capture des données modifiées
La capture des données modifiées (CDC, Change Data Capture) est un ensemble de modèles de conception logicielle utilisés pour déterminer et suivre les données modifiées afin que les applications puissent traiter les mises à jour. La CDC est également une approche d'intégration de données basée sur l'identification, la capture et la diffusion des modifications apportées aux sources de données d'entreprise.
Approvisionnement d'événements
Le modèle de conception d'approvisionnement d'événements capture chaque modification de l'état d'une application dans un objet d'événement. En utilisant l'approvisionnement d'événements, une application peut reconstruire son état, effectuer une récupération à un moment précis (en traitant les événements jusqu'à ce point), recalculer l'état lorsque la logique métier change ou activer une architecture de ségrégation des responsabilités de commande et de requête (CQRS). Avec l'évolution des outils de traitement des événements en temps réel, de nombreuses applications utilisent le modèle d'approvisionnement d'événements. Les bases de données transactionnelles sont intrinsèquement orientées événements pour répondre aux exigences d'atomicité, de cohérence, d'isolement et de durabilité (ACID).
Bases de données transactionnelles
Dans une base de données transactionnelle, l'ensemble d'opérations que la base de données effectue est
généralement écrit dans un journal WAL avant l'exécution des
opérations sur le moteur de stockage. Une fois qu'une opération est exécutée sur le moteur de stockage et validée dans le journal WAL, elle est considérée comme réussie. L'utilisation d'un journal WAL permet d'assurer l'atomicité et la durabilité, et permet également une réplication haute fidélité de la base de données. Certaines bases de données écrivent dans le journal l'opération exacte qui se produit au niveau du stockage (par exemple, write 0x41 at location 20), de sorte que ces actions ne peuvent être répliquées que sur le même moteur de stockage. D'autres bases de données enregistrent une instruction logique complète (ou une ligne) qui peut être réexécutée sur un autre moteur de stockage.
Événements et flux
Datastream ingère de grands volumes de données en temps quasi réel à partir de diverses sources et les met à disposition pour la consommation dans la destination. L'unité de données stockée par Datastream est un événement. Un flux représente l'ingestion continue d'événements à partir d'une source et leur écriture dans une destination.
Types unifiés
Les sources de données ont leurs propres types de données, certains spécifiques à la base de données elle-même, et d'autres génériques et partagés entre les bases de données. Étant donné que plusieurs sources génèrent des flux vers une destination unifiée, une représentation standard du type de source d'origine est requise pour toutes les sources. Le type unifié est une représentation commune et sans perte des types de données dans toutes les sources, de sorte que les données peuvent être consommées de manière cohérente. Les types unifiés compatibles avec Datastream représentent le sur-ensemble de tous les types normalisés dans les systèmes sources compatibles.
Contexte de l'entité
Datastream comporte cinq entités :
- Les configurations de connectivité privée permettent à Datastream de communiquer avec les sources de données via une connexion réseau privée et sécurisée. Cette communication s'effectue via l'appairage de cloud privé virtuel (VPC).
- Les profils de connexion représentent les informations de connectivité d'une base de données source ou de destination spécifique.
- Les flux représentent une paire de profils de connexion source et de destination, ainsi que des paramètres spécifiques au flux.
- Les objets représentent une partie d'un flux. Par exemple, un flux de base de données comprend un objet de données pour chaque table diffusée.
- Les événements représentent chaque modification du langage de manipulation de données (LMD) d'un objet donné.
Une fois que vous avez créé une configuration de connectivité privée, vous pouvez vous connecter à des sources hébergées dans Google Cloud ou ailleurs via un canal de communication privé. La connectivité privée est facultative. Datastream est également compatible avec d'autres modes de connectivité sur les réseaux publics.
Une fois que vous avez créé un profil de connexion pour une source et une destination, vous pouvez créer des flux qui utilisent les informations stockées dans les profils de connexion pour transférer des données de la source vers la destination.
Une fois que vous avez créé un flux, Datastream se connecte directement à la source, consomme du contenu, puis traite et écrit les événements dans la destination en fonction de la structure de l'événement.
Vous pouvez gérer les configurations de connectivité privée et les profils de connexion séparément des flux pour les réutiliser.
Fonctionnalités
Voici certaines des fonctionnalités de Datastream :
- Sans serveur : configurez un flux et les données commencent à se déplacer. Aucune installation, allocation de ressources ni maintenance n'est nécessaire. Lorsque les volumes de données changent, les fonctionnalités d'autoscaling de Datastream allouent automatiquement des ressources pour que les données continuent de se déplacer en temps quasi réel.
- Schéma de type unifié basé sur Avro : Datastream permet un traitement indépendant de la source en convertissant tous les types de données spécifiques à la source en un schéma de type Datastream unifié, basé sur les types Avro.
- Diffuser des données historiques et CDC : Datastream diffuse simultanément les données sources historiques et CDC en temps quasi réel.
- CDC Oracle sans licence supplémentaire : Datastream fournit une diffusion CDC basée sur LogMiner à partir de n'importe quelle version source Oracle 11.2 et ultérieure, sans nécessiter de licences supplémentaires ni d'installations logicielles.
- Destination BigQuery : les modifications apportées à la source sont répliquées en continu dans les tables BigQuery en temps quasi réel. Les données de BigQuery sont disponibles pour l'analyse avec un délai minimal.
- Destination Cloud Storage : les données CDC sont écrites en continu dans des fichiers Avro ou JSON auto-descriptifs dans Cloud Storage. Ces données sont disponibles pour un traitement supplémentaire, soit directement sur place, soit en les chargeant en aval vers une autre destination telle que Spanner.
- Gestion centralisée des métadonnées avec Knowledge Catalog : les ressources Datastream, telles que les flux, les profils de connexion et les configurations de connectivité, sont automatiquement synchronisées avec Knowledge Catalog. Vous pouvez ainsi rechercher et parcourir ces éléments directement dans l'interface utilisateur de Knowledge Catalog.
Cas d'utilisation
Il existe trois scénarios principaux d'utilisation de Datastream :
- Intégration de données : les flux de données provenant de bases de données et de services cloud Software as a Service (SaaS) peuvent alimenter un pipeline d'intégration de données en temps quasi réel en chargeant des données dans BigQuery.
- Analyse de flux : les modifications apportées aux bases de données sont ingérées dans des pipelines de streaming qui utilisent Dataflow pour la détection des fraudes, le traitement des événements liés à la sécurité et la détection d'anomalies.
- Disponibilité en temps quasi réel des modifications de données : la disponibilité des modifications de données en temps quasi réel permet aux applications d'intelligence artificielle et de machine learning d'empêcher le désabonnement ou d'accroître l'engagement grâce à des campagnes marketing ou en réinjectant des données dans les systèmes de production.
Behavior Overview
Datastream vous permet de diffuser en continu les modifications en cours provenant de plusieurs sources de données directement dans Google Cloud.
Sources
- Avant d'utiliser une source avec Datastream, vous devez configurer l'authentification et des options de source supplémentaires.
- Chaque source génère des événements qui reflètent toutes les modifications du langage de manipulation de données (LMD).
- Chaque flux peut remplir les données historiques et diffuser les modifications en cours dans la destination.
Destinations
Datastream est compatible avec BigQuery, les tables Apache Iceberg et Cloud Storage en tant que destinations. Lorsque vous créez un flux, vous définissez sa configuration de destination.
Diffusion d'événements
- L'ordre des événements n'est pas garanti. Les métadonnées d'événement incluent des informations qui peuvent être utilisées pour ordonner les événements.
- La diffusion d'événements se produit au moins une fois. Les métadonnées d'événement incluent des données qui peuvent être utilisées pour supprimer les données en double dans la destination.
- La taille des événements est limitée à 20 Mo par événement pour les destinations BigQuery et à 100 Mo par événement pour les destinations Cloud Storage.
Pour en savoir plus sur les événements, consultez Événements et flux.
Haute disponibilité et reprise après sinistre
Datastream offre une haute disponibilité entre les zones et gère la reprise après sinistre en cas de pannes régionales :
Haute disponibilité : Datastream est un service régional qui s'exécute dans plusieurs zones de chaque région. Une défaillance dans une seule zone d'une région n'a pas d'incidence sur la disponibilité ni la qualité du service dans les autres zones.
Reprise après sinistre : en cas de défaillance dans une région, tous les flux exécutés dans cette région sont indisponibles pendant la durée de la panne. Une fois la panne résolue, Datastream reprend là où il s'était arrêté, et toutes les données qui n'ont pas été écrites dans la destination sont récupérées à nouveau à partir de la source. Dans ce cas, des données en double peuvent exister dans la destination. Pour savoir comment supprimer les données en double, consultez Diffusion d'événements.
Données initiales et données CDC
Étant donné que les sources de données contiennent des données qui existaient avant que la source ne se connecte à un flux (données historiques), Datastream génère des événements à partir des données historiques et des modifications de données qui se produisent en temps réel.
Pour garantir un accès rapide aux données, les données historiques et les modifications de données en temps réel sont répliquées simultanément dans la destination. Les métadonnées d'événement indiquent si un événement provient d'un remplissage ou d'une CDC.
Étape suivante
- En savoir plus sur Datastream.
- En savoir plus sur les mappages de types unifiés.
- En savoir plus sur les sources compatibles.
- En savoir plus sur les destinations compatibles.
- Créer des configurations de connectivité privée, profils de connexion, et des flux.