Pilotez votre activité en continu : Debezium + Iceberg, les clés de votre plateforme de données
Debezium est une implémentation de Change Data Capture basée sur le journal d'événements des bases de données dont il capture toutes les opérations : une manière efficace de propager vos données.
Vous êtes directeur produit et vous devez réaliser l’analyse comparative des ventes hebdomadaires de la semaine en cours par rapport à la précédente. Votre malheur, c’est que vous n’avez ni data warehouse, ni data lake, ni même data lakehouse. Vous demandez aux personnes qui gèrent les applications et les bases de données. Et là… c’est la quatrième dimension ! Il vous est expliqué qu'on ne peut pas interroger la base de données transactionnelle directement ! Heureusement, il y a une réplication de celle-ci ! Mais, on ne peut pas plus interroger cette réplication pour y exécuter des requêtes qui pourraient la surcharger ; il y a de nombreux petits traitements qui propagent les données vers les autres applications de l’organisation.
Ce scénario existe malheureusement.
Il y a eu de nombreux progrès dans l’architecture des bases de données. Toutefois, il y a quelques points de celle-ci qui n’évoluent pas assez vite. Les bases de données dites opérationnelles ne vont pas être efficientes pour traiter massivement les données qui y sont stockées. Il y a encore une vraie dichotomie entre base de données qui stockent les données des logiciels opérationnels et les bases de données dites analytiques.
Notre directeur produit est donc bien embêté pour obtenir une vision un peu plus instantanée de son activité tout en la comparant par rapport à l’historique.
Un peu de technique ! Au sein d'une base de données, lorsqu’une transaction est validée, toutes les opérations connexes et contiguës sont enregistrées dans un journal. Et par chance, lire ce journal n’affecte pas les performances de la base de données.
C’est ce que l’on appelle le “Change Data Capture”.
Change Data Capture
Le “Change Data Capture” - CDC pour les intimes - renvoie aux mécanismes qui captent les modifications de données dans une base de données opérationnelles et transactionnelles - la source - sous forme d'événements pour les diffuser vers divers systèmes - les cibles - tels que les lacs de données, les entrepôts, des moteurs de recherche ou une autre base de données relationnelle. Toutes les opérations réalisées depuis la base de données source sont prises en compte : insertion de nouvelle données (INSERT), mise à jour (UPDATE) ou suppression (DELETE). De fait, les systèmes cibles connaissent très exactement la même série d’événements issus du système source : les deux environnements sont “synchronisés”.
Il existe plusieurs architectures de Change Data Capture. Leur implémentation consiste le plus souvent, pour des questions de performance, à lire le journal d’événements de la base de données.
Cas d’usage
Les cas d’usage du Change Data Capture sont nombreux :
- Réplication de données entre bases de données. Par exemple, vous pouvez répliquer les données issues de votre solution e-commerce vers le data warehouse ou le lakehouse.
- Migration des données sur site vers le cloud ou vers un autre site. Vous avez pris le parti de déménager vos applications d’un site vers un autre. Vous montez votre infrastructure dans l’environnement cible. Avant le lancement en production, vous synchronisez les bases de données source et cible afin qu’au moment de votre bascule toutes les données en cible sont bien celles de la source.
- Intégration de données avec les architectures microservices. Dans le cadre de pareilles architectures, il est important de que les microservices aient les données utiles à leurs bonnes marches. Les données stockées dans la base de données d’un service A sont en partie synchronisées vers le service B.
- Maintenir les caches et les index des applications opérationnelles. Par exemple, dans le cadre de l'e-commerce, lorsque la base produits est mise à jour, il faut synchroniser les modifications avec un moteur de recherche.
- Mise en œuvre de rapports et d'analyses en temps réel. Avec les données aussi fraîches, on peut clairement éclairer les opérationnels au plutôt.
- Maintenir des journaux d'audit pour la conformité. Conserver un journal des transformations de la données prend tellement de sens aujourd’hui avec le RGPD ou tout autre norme.
Debeium
Comme nombre d’éléments en informatique, tout ceci n’est pas tant une nouveauté !

Néanmoins le CDC devient une commodité ! Et ça c’est grâce à Debezium qui est désormais embarqué partout ! Qui plus est, la simple librairie prend son envol et s’émancipe de son cocon d’origine ! Debezium Server est de plus en plus plébiscité pour sa simplicité vis à vis d’une architecture certes plus robustes mais plus complexe lorsqu’elle est soutenue par Apache Kafka.
Debezium offre aux organisations la capacité à bâtir des stratégies d’intégration de données fiable, robuste, et en temps réel ! Ces organisations peuvent aisément embrasser les analyses temps réel, la synchronisation de bases de données, la réplication de leur données vers un data lakehouse pour conserver leur données dans un format ouvert, interopérable et pérenne.
Toute l’organisation profite des bénéfices du change data capture avec Debezium :
- Le métier. Avec une donnée qui est régulièrement remontée sans discontinuité, les métiers peuvent prendre des décisions grâce à des données tout le temps à jour à l’image immédiate de leur base de données opérationnelles.
- Le data analyste. Avec des données toujours à jour, le data analyste construit des rapports ou tableaux de bord toujours plus proches de la réalité, toujours plus proches des derniers événements de l’activité.
- Le pôle data (décisionnel, business intelligence). Cette division met à disposition des documents analytiques qui reflètent les données les plus récentes. La capacité à mettre à jour en temps réel améliore la qualité et la fiabilité des outils et stratégies BI.
- Le data scientist. Avec Debezium le data scientist met à jour les modèles d’apprentissage de manière plus automatisée et en continue. Basés sur les informations les plus récentes, les modèles s’en trouvent améliorée, plus précis et plus pertinents.
- Le data engineer. Le métier le plus sexy du 21ème ! Le plus important de la chaîne de la donnée. Le data engineer rationalise processus d’intégration de données et devient immédiatement productif ! Un paramétrage et hop on collecte toute une base de données et l’on ne produit pas autant de traitements qu’il n’y a de tables. Le data engineer se concentre sur les transformations de données ayant une véritable valeur pour l’organisation.
- Les administrateurs de bases de données. Ici, Debezium va accomplir des tâches encore plus techniques : répliquer des bases de données ! Les administrateurs de base de données s'assurent de l’intégrité des données. L’administrateur de bases de données peut dès lors préparer son PRA et non se préoccuper d’une charge trop importante induite par un trop grand nombre de traitements extrayant des données…
- Les développeurs de logiciels. Les développeurs de logiciels peuvent intégrer Debezium dans leurs applications pour activer des fonctionnalités en temps réel et propager des données vers d’autres services.
Déployer Debezium
- Kafka Connect. Debezium a démarré tel un connecteur de collecte pour Apache Kafka Connect ! Ce mode de déploiement offre effectivement de nombreux avantages comme la scalabilité et la performance. Son inconvénient réside dans le fait que tout le monde ne souhaite pas gérer un cluster Apache Kafka dans le seul but de mettre en place du Change Data Capture. Voilà pourquoi Debezium Server a fait son entrée.
- Debezium Server. Debezium Server est finalement une simple application cloud native développée avec Quarkus qui prend en compte un fichier de paramétrage afin qu’il sache quelle est la source, quelle est la cible. Ca en fait un système de synchronisation de données très léger ! Sa robustesse s’articule autour d’un mécanisme qui renseigne tout au long de son exécution en continue où il en est ! Si bien que s’il échoue ou il doit être arrêté pour la maintenance de la machine, il reprend là où il en était. Debezium Server peut être déployé là où on le souhaite : bare metal, VM, container. Un opérateur pour Kubernetes existe. Debezium Server embarque Debezium engine.
- Debezium Engine. Le cœur de Debezium ! Debezium Engine facilite la mise en œuvre d’outil de capture de données ! Debezium se trouve donc embarqué dans un nombre de solutions toujours plus importantes mois après mois. Un bel exemple est Apache Flink qui est une implémentation significative de Debezium Engine.
Debezium Server Iceberg
Toute cette lecture pour vous amener à Debezium Server Iceberg !
Le format Table Apache Iceberg est devenu le standard pour stocker la donnée afin de pouvoir l’analyser de manière performante !
La communauté attendait avec impatience un outil aussi puissant que celui-ci : une solution qui simplifie et optimise le transfert de vos données vers Apache Iceberg ! Tirez pleinement parti d'Apache Iceberg, en toute simplicité, même lorsque vos données sont en constante évolution. La configuration est un jeu d'enfant : remplissez simplement un fichier et assurez-vous que vos données sont acheminées vers la bonne destination.
La bonne nouvelle est que vos données se retrouvent dans un format ouvert, interopérable et pérenne !
L’autre bonne nouvelle : vous pouvez initier vos analyses en toute quiétude. Avec des solution comme Dremio et son catalog pour Apache Iceberg vous êtes en mesure de “versionner” vos données. Si bien que vous ne prenez en compte que les versions des données que vous validez ! Vous mettez un processus de qualité en place où vous contrôlez les données que vous diffusez.
Une chose intéressante avec Debezium Server Iceberg réside dans sa capacité à pousser en toute sécurité la donnée là où elle va vous être utile. Par exemple, vous pouvez monter votre catalogue Apache Iceberg dans l’infrastructure de votre choix et stocker les données chez le fournisseur en qui vous avez placé votre confiance. Bien sûr ce peut être au sein de votre propre infrastructure.
Apache Iceberg vous offre la liberté et la souveraineté par les données ; Debezium Server Iceberg vous transporte vos données en toute sécurité là où elles vous sont utiles.
Conclusion
Nombre d’organisations pensent que toutes ces avancées ne sont pas pour elles. Hors, Apache Iceberg, le Change Data Capture avec Debezium sont totalement accessibles ! Il faut insister ! Si MySQL a une autre époque à connu un grand boom et des installations au sein de nombre de nombre d’organisations, Debezium Server Iceberg est tout aussi simple ! C’est un programme et un fichier de configuration. Rien de plus. C’est donc à la portée de toutes et tous. Pour se transformer, pour bénéficier de l'IA, organiser ses données est une nécessité. Franchissez donc le pas !
Cet article fait partie d’une série consacrée à Apache Iceberg