Talend

Un gain de temps conséquent grâce à la solution Talend Change Data Capture

Introduction

Talend dispose de solutions pour permettre aux entreprises de gagner un temps d’intégration des données non négligeable. En effet, le groupe Talend a récemment fait l’acquisition d’un fournisseur français innovant de Change Data Cature, et propose à présent l’extension Talend Change Data Capture. Mais le CDC peut également être mis en place grâce aux composants intégrés dans le studio Talend.

Qu’est-ce que le Change Data Capture ?

Les données sont partout autour de nous, de plus en plus présente, et avec une volumétrie exponentielle. Lorsque de nouvelles données arrivent dans les systèmes d’informations, ou que celles-ci changent, la réplication devient de plus en plus compliquée.

Le Change Data Capture (CDC) est un concept qui vous permet de suivre et de capturer les changements de données effectués dans une base de données (Insertion, Mise à jour, Suppression) et de répliquer ces changements vers un ou plusieurs systèmes cibles. Il est conçu pour aider les entreprises à maintenir la synchronisation de leurs données entre plusieurs systèmes et environnements, par exemple pour les tâches de data warehousing, de migration de données et d’intégration de données en temps réel.

Alors, comment fonctionne le Change Data Capture ?

Le Change Data Capture tourne en continue, et permet donc de réplique les données en temps réel, au lieu d’envoyer, en une fois, un volume de données important.

Le CDC identifie les modifications de données dans la source et les propage dans la destination, la cible. Lors de l’utilisation de CDC, seules les petites portions de données sont synchronisées en cas de modifications telles que l’ajout de données, la suppression ou encore la mise à jour de données.

Fonctionnement Data Change Data Capture

Après avoir réalisé une seule et unique réplication des données, le CDC importe uniquement les données modifiées et non des bases de données entières, le traitement des données est largement accéléré et les analyses en temps réel sont désormais disponibles sans perte de temps.

Alors, comment fonctionne le Change Data Capture ?

La mise en place du CDC peut être faite de plusieurs façons différentes, impliquant des avantages et inconvénients :

  • CDC basé sur des scripts

Cette solution est la plus artisanale, et la moins performante. Elle est complexe à mettre en place et à maintenir car elle nécessite une modification des schémas de base de données, ainsi que des développements spécifiques. Il s’agit, pour chaque table souhaitant être répliquée, de rajouter des colonnes dédiées à la capture des données : Date du changement, et type de changement. Ainsi, un flux d’intégration planifié à très court intervalle permettrait de récupérer les nouvelles données en quasi temps réel.

L’avantage de cette solution est qu’elle peut s’implémenter avec un simple ETL, comme TOS, sans coût logiciel supplémentaire.

  • CDC basé sur des triggers

Les triggers de bases de données peuvent être utilisés pour capturer les changement (Insertion, Modification ou suppression) en base de données, en quasi temps réel. Il existe des composants spécifiques dans les produits Talend nécessitant une souscription (avec les composants tDBCDC). Cette méthodologie sera présentée dans la suite de l’article.

Nous pouvons trouver, comment inconvénient, que cette solution est intrusive pour la base de données à répliquer, et ses tables, puisqu’elle implique la création de triggers (un par table) et de vues, et donc une charge supplémentaire à la base de données. Les triggers peuvent être désactivés manuellement, rendant inopérant le CDC.

  • CDC basé sur les journaux de transactions

Le CDC basé sur les journaux de transaction est la solution la plus efficace. En effet, ces journaux de transactions de la base de données source sont surveillés afin de capturer les changements et les reproduire en cible, en temps réel.

Ces journaux de transactions sont initialement conçus pour assurer la cohérence de la base de données, et pouvoir la remonter en cas de plantage ou d’accident. Ils sont donc fiables, et cette technique n’a pas d’impact sur la base de données, puisqu’elle ne nécessite pas de modification, contrairement aux 2 solutions décrites précédemment. Talend dispose désormais d’un produit : Talend Change Data Capture, permettant de mettre ne place cette solution en un temps record. Elle sera présentée dans le prochain chapitre.

L’inconvénient de cette solution est qu’elle ne fonctionne qu’avec des bases de données qui utilisent les journaux de transactions.

Change Data Capture appliqué à Talend

Le Change Data Capture appliqué à Talend Studio

Talend CDC est disponible dans le cadre de la plateforme Talend Data Fabric, qui fournit une large gamme d’outils et de services pour l’intégration, la gestion et la gouvernance des données. Vous pouvez utiliser Talend CDC en conjonction avec d’autres outils Talend pour construire des pipelines de données robustes et évolutifs, capables de traiter de grands volumes de données et de gérer efficacement les changements de données.

Cette fonctionnalité CDC fait partie des versions du Studio Talend avec souscription. Vous n’avez donc pas besoin d’installer quoi que ce soit sur Talend Studio pour utiliser la fonction CDC :

  • Créer dans le référentiel de métadonnées les connexions aux bases de données sources, cibles, et monitoring :
Connexions bases de données Talend Studio
  • Configurez le CDC sur la base de données source, en le liant sur base de données de monitoring. Cela va créer une Table « d’abonnement » : tsubscribers
Configuration Change Data Capture Monitoring Talend
Table d'abonnement tSubscribers - Talend
  • Spécifiez quelle table doit être surveillée par le CDC. Cela va créer des objets SQL nécessaires à la capture des changements de la table surveillée :
Création objets SQL Talend
  • Alimentation de la table TSUSCRIBERS avec le nouveau souscripteur
  • Création d’une table qui stockera les changements de la table source, et d’une vue qui récupérera le dernier changement de la table source
Création table et vue Talend
  • Création des triggers sur la table source qui insèreront dans la table les changements capturés. Nous avons choisi ici de capturer les insertions (I), suppressions (D) et mises à jour (U). Il y a donc 3 triggers :
Création Triggers table source

Nous pouvons constater, dans le référentiel Source, que l’icône de la table a changé et contient la mention « CDC »

Référentiel source icone Change Data Capture
  • Après avoir appliqué des changements dans votre base de données source, l’utilisation du composant tDBCDC permet de capturer les changements mis en place précédemment :
Composants tDBCDC capture changements

Dans notre exemple, nous avons appliqué 2 changements : une insertion et une mise à jour. Le composant tDBCDC récupère le type de modification, la date de la modification, et les valeurs des enregistrements associés :

Exemple insertion et mise à jour tDBCDC

Cette solution est pratique et facile à mettre en place si l’on dispose déjà d’une licence Talend.

Talend CDC sur Le Studio Talend dispose de différents biais de connexion. Ainsi il peut interagir avec un grand nombre de systèmes de données tels que :

  • Les bases de données relationnelles : MS SQL Server, MySQL, SQLite, …
  • Le stockage cloud : MS Azure SQL, SAP Hana, Salesforce, Sybase, …
  • Les moteurs de streaming : Kafka, Teradata, MS Azure Event Hub, AWS Kinesis, …
  • Le Big Data : Snowflake, Oracle, Netezza, Vectorwise
  • Les services Web

L’extension Talend Change Data Capture

Grâce à l’acquisition de Gamma Soft en avril 2022, Talend dispose d’un nouveau logiciel, Talend Change Data Capture qui, contrairement au CDC du Studio, est un logiciel à part entière se présentant comme ceci :

Extension Talend Change Data Capture

1 : Comme son nom l’indique, la source vous permet de sélectionner la source à laquelle vous souhaitez vous connecter. Si le bouton de connexion est vert, cliquez dessus pour vous connecter. S’il est rouge comme ici, cliquez pour vous déconnecter.

2 : La barre de menu permet de vous abonner ou de vous désabonner à une source, configurer et activer le journal ou encore créer un nouvel environnement.

3 : C’est ici que vous créez et gérez vos environnements.

4 : Ces deux volets actuellement vides vous permettent de créer et de gérer des modèles de réplication, de les déployer sur des cibles, ainsi que d’exécuter et de surveiller la réplication.

5 : Cette console affiche les informations, les avertissements et les erreurs lors des exécutions.

6 : Le centre aide vous permet d’ajouter des commentaires sur le composant sélectionné dans le gestionnaire. Il peut également être utilisé pour laisser des messages à votre équipe comme des avertissements ou des instructions.

Dans Talend Change Data Capture, vous pouvez configurer votre base de données pour envoyer des données de log à un service CDC. Ce service traite les données et génère des événements de modification qui peuvent être utilisés pour mettre à jour le ou les systèmes cibles. Vous pouvez également utiliser le service CDC pour surveiller les changements de la base de données en temps réel, et répliquer immédiatement ces changements lorsqu’ils se produisent. Ainsi, l’entreprise dispose des avantages suivants :

  • Les multi-scénarios : chaque système qui est une source dans un pipeline de données peut également être la cible d’une autre source. Les cibles peuvent être créées à l’aide de données agrégées provenant de plusieurs sources, la synchronisation peut même être bidirectionnelle.
  • Non intrusif : aucune modification n’est apportée directement à l’environnement source ou cible. Ainsi, vous pouvez utiliser CDC sans risque dans votre environnement de production.
  • Analyses en temps réel : comme expliqué précédemment, CDC réplique les données en temps réel pour éviter les pertes et garantir l’actualisation lors d’analyse.
  • Historisation des données : CDC peut journaliser les données capturées dans une chronologie. Ainsi, chaque modification d’un même événement peut être stockée dans la cible et réutilisée. C’est le point clé permettant l’analyse prédictive et le machine learning.

L’ajout de ce produit complète l’offre de Talend Data Fabric en lui offrant de nouvelles options d’intégration pour la réplication des données en temps réel. Cette fonction fournit de nouvelles technologies de réplication d’entreprise telles que le bidirectionnel et la diffusion.

Cela libère les entreprises de leur dépendance à d’autres solutions et leur permet de tirer parti du logiciel Talend CDC pour la gestion des données.

CONCLUSION DE L’EXPERTE

La technologie de CDC est très puissante pour faire de la réplication de données rapidement et quasi en temps réel. Nous avons vu qu’il existe plusieurs solutions pour la mettre en place, en allant du développement depuis un Studio Talend Open Source (CDC basé sur des scripts), jusqu’à l’acquisition de Talend Change Data Capture (CDC basé sur des logs). Chaque solution a ses avantages est ses inconvénients.

Tableau technologie Talend Change Data Capture
Un projet ? Une question ?

Laissez-nous vos coordonnées et nous vous recontactons dans les plus brefs délais !

Évènements à venir
Articles récents