Concepts et fonctionnalités clés

Comportement et cas d'utilisation

Datastream permet aux utilisateurs d'importer des données sources depuis un système de gestion de bases de données relationnelles (SGBDR) et d'autres sources vers des destinations telles que BigQuery et Cloud Storage, presque en temps réel. Cela permet de réaliser des cas d'utilisation en aval tels que le chargement des données dans BigQuery à des fins d'entreposage et d'analyse de données, ou l'exécution de jobs Spark sur les données pour des cas d'utilisation d'intelligence artificielle et de machine learning.

Concepts

Capture des données modifiées

La capture de données modifiées (CDC, Change Data Capture) est un ensemble de modèles de conception logicielle qui permet de déterminer (et de suivre) les données modifiées afin de pouvoir agir en conséquence. La CDC est également une approche de l'intégration des données qui repose sur l'identification, la capture et la diffusion des modifications apportées aux sources de données d'entreprise.

Approvisionnement d'événements

Introduite en 2005, la source d'événements est un modèle de conception dans lequel chaque modification de l'état d'une application est capturée dans un objet d'événement. Grâce à la source d'événements, une application peut facilement recréer son état, effectuer une récupération à un moment précis (en traitant l'événement jusqu'à ce moment), recalculer l'état en cas de changement de logique ou activer la conception de ségrégation de responsabilité des requêtes de commande (CQRS). Suite à l'évolution des outils de traitement d'événements en temps réel, de nombreuses applications passent au modèle de recherche d'événements. Historiquement, les bases de données transactionnelles étaient toujours axées sur les événements, en raison des exigences d'atomicité, de cohérence, d'isolation et de durabilité (ACID).

Bases de données transactionnelles

Dans une base de données transactionnelle, l'ensemble des opérations qu'elle va effectuer est généralement écrite dans un journal WAL (write-ahead log) 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 de la journalisation WAL permet d'obtenir l'atomicité et la durabilité, ainsi que la 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 produira au niveau du stockage (par exemple, write 0x41 on location 20). Ces actions ne peuvent donc être répliquées (ou rétablies) que sur le même moteur de stockage. D'autres bases de données consigneront 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 nombreuses données en temps quasi réel à partir de différentes sources et les rend disponibles pour qu'elles soient consommées dans la destination. L'unité de données stockée par Datastream est un événement. Un flux représente l'ingestion continue des événements d'une source et leur écriture dans une destination.

Types unifiés

Les sources de données ont leurs propres types, certains sont spécifiques à la base de données elle-même, d'autres sont génériques et partagées entre les bases de données. Étant donné que de nombreuses sources différentes génèrent des flux vers une destination unifiée, il doit exister une méthode standard et unifiée pour représenter le type de source d'origine dans toutes les sources. Le type unifié est un moyen courant et sans perte de représenter les types de données de toutes les sources afin qu'ils puissent être utilisés de manière cohérente. Les types unifiés compatibles avec Datastream représenteront le sur-ensemble de tous les types normalisés dans tous les systèmes sources compatibles afin que tous les types puissent être pris en charge sans perte.

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 des informations de connectivité à 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 les paramètres spécifiques aux flux.
  • Les objets représentent une sous-partie d'un flux. Par exemple, un flux de base de données contient 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) pour un objet donné.

Après avoir 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.

Après avoir 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.

Après avoir créé un flux, Datastream se connecte directement à la source, utilise le contenu, puis traite et écrit les événements dans la destination en fonction de la structure des événements.

Les configurations de connectivité et les profils de connexion privés peuvent être gérés séparément des flux pour faciliter la réutilisation. Or, dans les entreprises, la personne qui peut établir la connectivité à une source ou à une destination n'est souvent pas la même que celle qui crée le flux.

Fonctionnalités

Les fonctionnalités de DataStream incluent :

  • Sans serveur : vous pouvez configurer un flux et le transfert des données commence. Il n'y a aucuns frais liés à l'installation, à l'allocation de ressources ou aux opérations de maintenance. À mesure que les volumes de données augmentent ou diminuent, les fonctionnalités d'autoscaling de Datastream allouent des ressources pour assurer le transfert automatique des données, quasiment en temps réel.
  • Un schéma de type unifié basé sur Avro : Datastream permet un traitement simple, indépendant de la source, en convertissant tous les types de données spécifiques à une source en un schéma de type DataStream unifié, basé sur des types Avro.
  • Diffusez des données historiques et des CDC:Datastream diffuse des données historiques et des données sources CDC en temps quasi réel et simultanément.
  • CDC Oracle sans licences supplémentaires : Datastream fournit un streaming CDC basé sur LogMiner à partir de n'importe quelle version d'Oracle 11.2g ou ultérieure, sans avoir à payer de licences ou d'installations logicielles supplémentaires.

  • Destination BigQuery:les modifications apportées à la source sont répliquées en continu dans les tables BigQuery, quasiment en temps réel. Dans BigQuery, les données sont presque immédiatement disponibles pour l'analyse.

  • Destination Cloud Storage : les données CDC sont écrites de manière continue dans des fichiers Avro ou JSON auto-descriptifs dans Cloud Storage. Ces informations peuvent facilement être utilisées pour un traitement supplémentaire, soit directement sur place, soit en les chargeant en aval vers une autre destination telle que Spanner.

Cas d'utilisation

Il existe trois scénarios principaux d'utilisation de Datastream :

  • Intégration des données: les flux de données provenant de bases de données et de services cloud SaaS peuvent alimenter un pipeline d'intégration de données en temps quasi réel en chargeant des données dans BigQuery à l'aide de Dataflow ou de Cloud Data Fusion.
  • Analyse des flux : les modifications apportées aux bases de données sont ingérées dans des pipelines de traitement par flux, tels que Dataflow pour la détection des fraudes, le traitement des événements de sécurité et la détection des anomalies.
  • La disponibilité des données change quasiment en temps réel: la disponibilité des données en temps quasi réel alimente les applications d'intelligence artificielle et de machine learning (apprentissage automatique) pour éviter la perte d'utilisateurs ou augmenter l'engagement grâce à des actions marketing ou à un retour dans les systèmes de production.

Behavior Overview

Datastream permet aux clients de diffuser les modifications continues de plusieurs sources de données directement dans Google Cloud.

Sources

  • Des opérations de configuration sont nécessaires pour qu'une source puisse être utilisée avec Datastream, y compris l'authentification et des options de configuration supplémentaires.
  • Chaque source génère des événements qui reflètent toutes les modifications apportées au langage de manipulation de données (LMD).
  • Chaque flux peut remplir des données de l'historique et diffuser des modifications continues vers la destination.

Destinations

Datastream est compatible avec BigQuery et Cloud Storage en tant que destinations. Lors de la création du flux, les ensembles de données BigQuery ou le bucket Cloud Storage souhaités sont définis.

Diffusion d'événements

  • L'ordre des événements n'est pas garanti. Les métadonnées d'événements incluent des informations qui peuvent être utilisées pour organiser les événements.
  • L'envoi d'un événement a lieu 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 à 30 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

Cette section explique comment Datastream gère les scénarios associés à la haute disponibilité et à la reprise après sinistre.

  • Haute disponibilité : Datastream est un service régional qui s'exécute sur plusieurs zones dans chaque région. Une défaillance affectant une seule zone dans une région n'affecte pas 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 seront indisponibles pendant toute la durée de la panne. Une fois la panne résolue, Datastream reprend exactement là où il s'était arrêté, et toutes les données qui n'ont pas été écrites sur la destination sont à nouveau récupérées depuis la source. Dans ce cas, des doublons de données peuvent résider 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 soit connectée à un flux (données historiques), Datastream génère des événements à partir des données historiques et des modifications des données 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 cet événement provient du remplissage ou de la CDC.