Behavior Overview

Comportement et cas d'utilisation

Datastream permet aux utilisateurs d'importer les données sources d'un système de gestion de base de données relationnelle (SGBDR) et d'autres sources vers des destinations telles que Cloud Storage quasiment en temps réel. Cela permet de traiter des cas d'utilisation en aval, tels que le chargement de données dans BigQuery pour l'entreposage de données et la création de lacs de données, ou l'exécution de tâches Spark sur les données pour les cas d'utilisation de l'intelligence artificielle et du 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 permettant de déterminer (et de suivre) les données ayant été modifiées afin de pouvoir prendre des mesures à l'aide de ces données. La CDC est également une approche d'intégration des données basée sur l'identification, la capture et la livraison des modifications apportées aux sources de données d'entreprise.

Approvisionnement d'événements

Introduit en 2005, l'provisionnement 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. Avec l'approvisionnement 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 point), recalculer l'état en cas de changement de logique ou activer la conception de séparation de la responsabilité des requêtes de commande (CQRS). Avec l'évolution des outils pour le traitement d'événements en temps réel, de nombreuses applications adoptent le modèle d'approvisionnement basé sur les événements. Auparavant, 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 que la base de données va effectuer est généralement écrit dans un journal WAL (Write-Ahead Log) avant l'exécution d'opérations sur le moteur de stockage. Une fois qu'une opération est exécutée sur le moteur de stockage et est validée dans un journal WAL, elle est considérée comme réussie. L'utilisation de WAL permet 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 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 consignent une instruction logique (ou une ligne) complète pouvant être réexécutée sur un moteur de stockage différent.

Événements et flux

Datastream ingère de nombreuses données en temps réel à partir de diverses sources et met ces données à disposition afin 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 possèdent leurs propres types, certains spécifiques à la base de données elle-même, et d'autres génériques et partagés entre plusieurs 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 un moyen unifié et standard de 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 dans toutes les sources afin qu'ils puissent être consommés de manière cohérente. Les types unifiés compatibles avec Datastream représenteront le sur-ensemble de tous les types normalisés sur tous les systèmes sources compatibles, afin que tous les types puissent être acceptés 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 se fait 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 au flux.
  • Les objets représentent une sous-partie d'un flux. Par exemple, un flux de base de données possède 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é.

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 accepte également 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.

Une fois que vous avez 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é privée et les profils de connexion peuvent être gérés séparément des flux pour une réutilisation facile. En effet, dans les entreprises, il arrive souvent que la personne qui établit la connectivité à une source ou à une destination ne soit 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 et diminuent, les fonctionnalités d'autoscaling de Datastream allouent des ressources pour assurer le transfert automatique des données 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.
  • Diffuser les données de l'historique et de la CDC : Datastream diffuse à la fois les données sources de l'historique et de la CDC en temps réel.
  • 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 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 être facilement utilisées pour des traitements supplémentaires, directement sur place ou via un chargement en aval vers une autre destination telle que BigQuery.

Cas d'utilisation

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

  • Intégration des données : les flux de données des bases de données et des services cloud SaaS (Software as a Service) peuvent alimenter un pipeline d'intégration des données en quasi-temps réel en chargeant des données dans BigQuery via Dataflow ou 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.
  • Disponibilité en quasi-temps réel des modifications de données : la disponibilité des modifications de données en quasi-temps réel alimente l'intelligence artificielle et les applications de machine learning pour éviter toute perte d'utilisateurs ou augmenter l'engagement grâce à des efforts marketing ou à un retour sur les systèmes de production.

Behavior Overview

Datastream permet aux clients de diffuser des modifications en cours depuis plusieurs sources de données directement dans Google Cloud.

Sources

  • Une tâche de configuration est nécessaire pour qu'une source soit 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.

Destination

Datastream accepte Cloud Storage comme destination. Une fois le flux créé, le bucket Cloud Storage souhaité est défini.

Diffusion d'événements

  • L'ordre des événements n'est pas garanti. Les métadonnées d'événement incluent des informations permettant d'ordonner les événements.
  • La distribution des événements a lieu au moins une fois. Les métadonnées d'événement incluent des données pouvant être utilisées pour supprimer les données en double dans la destination.
  • La taille d'un événement est limitée à 3 Mo.

Pour en savoir plus sur les événements, consultez la page Événements et flux.

Performances

  • Datastream garantit un débit d'au moins 5 Mo par seconde (ou 5 000 événements par seconde à 1 000 par événement), mais le débit peut varier en fonction de la source selon des contraintes de la source.
  • La latence du service de bout en bout (de la lecture des données dans la source à leur diffusion dans la destination dans Cloud Storage) est inférieure à 120 secondes (lors de l'utilisation des paramètres de flux par défaut).

Haute disponibilité et reprise après sinistre

Cette section contient des informations sur la manière dont 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 en cours d'exécution dans cette région sont indisponibles pendant toute la durée de la panne. Une fois la panne résolue, Datastream continue exactement là où il s'est arrêté, et les données qui n'ont pas été écrites dans la destination sont récupérées à partir de la source. Dans ce cas, des doublons de données peuvent résider dans la destination. Pour en savoir plus sur la suppression des données en double, consultez la section Livraison d'événements.

Données initiales et données CDC

Comme les sources de données contiennent des données qui existaient avant l'heure de connexion de la source à un flux (données de l'historique), Datastream génère des événements à partir des données d'historique et des modifications de données effectuées en temps réel.

Pour garantir un accès rapide aux données, les données de l'historique et les modifications des données en temps réel sont répliquées simultanément sur la destination. Les métadonnées de l'événement indiquent si l'événement provient du remplissage ou de la CDC.