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 Capture, et propose à présent l’extension Talend Change Data Capture. Toutefois 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ésentes 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épliquer 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.
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.
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 c’est 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 changements (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 engendrant ainsi une charge supplémentaire à la base de données. Les triggers peuvent être désactivés manuellement, rendant le CDC inopérant.
- CDC basé sur les journaux de transactions
Le CDC basé sur les journaux de transaction est la solution la plus efficace. En effet, les journaux de transactions de la base de données source sont surveillés afin de capturer les changements et de 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 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 puisque, contrairement aux deux autres solutions, elle ne nécessite pas de modification. Talend dispose désormais d’un produit : Talend Change Data Capture, permettant de mettre ne place cette solution en un temps record. Celle-ci 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.
Inscrivez-vous à la newsletter DeciVision !
Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !
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 :
- 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
- 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 :
- 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 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 :
Nous pouvons constater, dans le référentiel Source, que l’icône de la table a changé et contient la mention « CDC »
- 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 :
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 :
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 :
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.