Qu’est-ce que la capture des données modifiées (CDC) ?

Capture des données modifiées, définition

La capture des données modifiées (CDC) est une technique permettant de détecter et de capturer les modifications apportées aux données dans une base de données et de transmettre ces modifications aux systèmes en aval. Elle permet la synchronisation des données en temps quasi réel ou en temps réel, la réplication et le traitement piloté par les événements entre les systèmes après que des modifications ont été apportées à la base de données.

La capture des données modifiées est une méthode d’intégration des données en temps réel qui combine et harmonise les données qui pourraient autrement rester cloisonnées ou incohérentes au sein d’une entreprise. D’autres méthodes d’intégration de données incluent l’intégration de flux de données, la virtualisation des données et l’intégration d’applications.

La capacité de la CDC à maintenir les processus et systèmes en aval à jour en temps quasi réel ou en temps réel avec une faible latence est déterminante pour le succès de l’analyse de données en temps réel, des migrations cloud et des modèles d’intelligence artificielle (IA). Elle prend en charge une variété de cas d’utilisation dans divers secteurs, notamment la détection de fraude, la gestion de la chaîne d’approvisionnement et la conformité réglementaire dans des secteurs tels que la vente au détail, la finance et la santé.

Il existe plusieurs approches de la capture des données modifiées, les plus courantes étant : la CDC basée sur les journaux (log-based), la CDC basée sur les horodatages (timestamp-based) et la CDC basée sur les déclencheurs (trigger-based). Les entreprises peuvent mettre en œuvre la capture des données modifiées à l’aide d’outils intégrés aux bases de données, de plateformes open source ou de solutions tierces.

Quels sont les avantages de la capture des données modifiées ?

Dans la gestion moderne des données, la capture des données modifiées s’impose comme un mécanisme essentiel d’ingénierie des données. Les environnements de données des entreprises sont aujourd’hui de plus en plus vastes et complexes. Ils peuvent inclure des données issues d’objets connectés (Internet des objets ou IdO), de bases de données distribuées, d’applications et de nombreuses autres sources hétérogènes. Maintenir une qualité et une cohérence des données à l’échelle de cet écosystème en constante expansion est un défi permanent.

Dans le même temps, les entreprises ont besoin d’informations exactes et à jour, exploitables pour la prise de décision en temps réel. La capture des données modifiées fait partie des méthodes qui permettent de répondre à cette exigence.

Elle permet de créer un pipeline de données à faible latence, capable de transmettre des données actualisées de manière plus efficace et moins gourmande en ressources que d’autres méthodes d’intégration des données. Par exemple, la réplication des données consiste à copier des jeux de données entiers. En revanche, la CDC ne transmet que les données qui ont été modifiées, ce qui réduit la charge sur les systèmes sources, le trafic réseau et la consommation de ressources informatiques.

Cela permet d’accéder rapidement et efficacement à des informations récentes et fiables, avec de nombreux avantages à la clé :

  • Une prise de décision plus rapide.
  • Migrations sans temps d’arrêt
  • Amélioration des processus ETL
  • Amélioration des performances de l’IA

Une prise de décision plus rapide.

La CDC aide les entreprises à acheminer leurs données opérationnelles vers des plateformes d’analyse des données en temps réel et des tableaux de bord, afin d’améliorer la précision et l’actualité des rapports, des informations métier et de la prise de décision. Grâce à ces capacités, les entreprises peuvent répondre aux exigences d’un environnement économique régi par l’instantanéité et la disponibilité 24 h/24.

Migrations sans temps d’arrêt

La synchronisation continue entre les sources de données et les systèmes cibles prend en charge les migrations de données entre les bases de données, les environnements cloud ou les applications avec un minimum de temps d’arrêt ou de perturbations. Par exemple, lors de migrations vers le cloud, la capture des données modifiées permet de transmettre rapidement les changements intervenus sur site vers les tables de données dans le cloud, garantissant la cohérence entre les deux environnements.

Amélioration des processus ETL

Les pipelines de données ETL (extraction, transformation, chargement) sont essentiels à l’analyse des données et aux flux de travail en machine learning. Mais l’exécution de l’ETL, qui repose sur un traitement par lots, est souvent lente et consommatrice de ressources. L’intégration de la CDC dans les processus ETL permet d’optimiser l’utilisation des ressources et d’accélérer le transfert des données.

Meilleures performances en intelligence artificielle

La mise en œuvre de la capture des données modifiées permet de garantir l’actualité des données sources utilisées par les modèles, afin que les grands modèles de langage (LLM) produisent des résultats précis et à jour. Par exemple, dans les cas d’utilisation de type génération augmentée de récupération (RAG), les modèles d’IA peuvent interagir avec des bases de connaissances externes pour fournir des réponses plus pertinentes.

AI Academy

La gestion des données est-elle le secret de l’IA générative ?

Découvrez pourquoi des données de haute qualité sont essentielles pour une utilisation réussie de l’IA générative.

Comment fonctionne la capture des données modifiées ?

La CDC identifie et enregistre les insertions, les mises à jour et les suppressions qui se produisent dans les systèmes de données sources. Ces sources peuvent inclure des bases de données relationnelles telles qu’Oracle Database, PostgreSQL, MySQL, Microsoft SQL Server et Azure SQL Database, ainsi que des bases de données non relationnelles (NoSQL) telles qu’Apache Cassandra et MongoDB.

Les systèmes modernes de CDC utilisent généralement une méthode basée sur les journaux, dans laquelle les outils lisent les journaux de transactions de la base de données (fichiers qui enregistrent les modifications apportées à une base de données) afin d’identifier les changements. Chaque événement de modification dans un journal de transactions est associé à une position de journal ordonnée, telle qu’un numéro de séquence de journal (LSN). Ces informations aident les systèmes CDC à déterminer précisément quand les modifications surviennent.

Une fois les changements capturés, ils sont transmis en temps réel ou quasi réel vers des systèmes en aval tels que les data lakes, les entrepôts de données, les plateformes de données en continu telles qu’Apache Kafka, les moteurs de traitement en continu tels qu’Apache Spark, et les pipelines ETL/ELT.

Approches du CDC : l’envoi ou l’extraction

La capture des données modifiées peut être initiée soit par le système source (approche basée sur l’envoi) soit par le système cible (approche basée sur l’extraction). La différence fondamentale réside dans le système responsable de la capture et de la transmission des changements.

CDC basée sur l’envoi

Dans un modèle de CDC basée sur l’envoi, le système source détecte les changements et les « transmet » ou les envoie immédiatement aux systèmes cibles. Cette approche est couramment mise en œuvre à l’aide de journaux de transactions de bases de données, de flux d’événements ou de courtiers de messages tels qu’Apache Kafka.

Puisque les changements sont envoyés au fur et à mesure qu’ils se produisent, la CDC basée sur l’envoi prend généralement en charge des cas d’utilisation nécessitant un mouvement de données en temps réel ou quasi réel, tels que l’analyse en continu, les architectures pilotées par les événements et les systèmes d’IA/ML.

CDC basée sur l’extraction

Dans la CDC basée sur l’extraction, le système cible interroge régulièrement le système source et « tire » les modifications dès qu’elles sont détectées. L’interrogation peut avoir lieu selon un calendrier fixe, ce qui rend la CDC basée sur l’extraction bien adaptée aux workloads orientés par lots ou aux systèmes qui ne nécessitent pas de mises à jour immédiates.

Bien que cette approche soit plus simple et nécessite une infrastructure moins complexe que la CDC basée sur l’envoi, elle peut introduire une latence plus élevée et augmenter la charge des requêtes sur les bases de données sources, affectant ainsi les performances. De nombreuses plateformes de données modernes prennent en charge les deux approches selon les besoins en données et les exigences opérationnelles.

Méthodes courantes de capture des données modifiées

Il existe plusieurs méthodes pour mettre en œuvre la capture des données modifiées. Les plus courantes sont les suivantes : 

  • CDC basée sur les journaux (log-based CDC)
  • CDC basée sur les horodatages (timestamp-based CDC)
  • CDC basée sur les déclencheurs (trigger-based CDC)

CDC basée sur les journaux (log-based CDC)

Les journaux de transactions sont une fonctionnalité standard des bases de données, utilisée pour enregistrer toutes les opérations effectuées. (Ces fichiers journaux peuvent également servir à restaurer une base de données en cas de défaillance système.)

Dans la CDC basée sur les journaux, une application CDC traite les modifications enregistrées (des données et métadonnées) dans le journal et transmet les mises à jour aux autres systèmes. La CDC basée sur les journaux est devenue de plus en plus populaire grâce à son efficacité : elle s’appuie sur des journaux plutôt que sur des requêtes, ce qui peut imposer une charge importante aux systèmes sources. Cependant, la diversité des formats de journaux de transactions peut compliquer la mise en œuvre de la CDC basée sur les journaux sur différents types de bases de données.

CDC basée sur les horodatages (timestamp-based CDC)

La capture des données modifiées basée sur les horodatages – également appelée CDC par requêtes – nécessite que les schémas des tables de la base de données comportent des colonnes (comme des colonnes de type timestamp) indiquant la date et l’heure des modifications apportées aux enregistrements. Un outil de CDC peut alors utiliser cette colonne d’horodatage pour identifier les enregistrements modifiés dans une table source, puis transmettre les mises à jour aux systèmes cibles.

Bien que la CDC basée sur les horodatages soit relativement simple à mettre en œuvre, elle peut entraîner une charge supplémentaire et invasive sur le système lorsque les interrogations des colonnes d’horodatage sont fréquentes. Elle présente également une limite importante : les opérations de suppression ne sont pas capturées si la colonne d’horodatage est supprimée en même temps que le reste de la ligne.

CDC basée sur les déclencheurs (trigger-based CDC)

Dans la CDC basée sur les déclencheurs, des procédures stockées ou fonctions, appelées déclencheurs, sont exécutées dès qu’une modification spécifique (insertion, suppression ou mise à jour) se produit dans une base de données. Les données modifiées sont enregistrées dans ce qu’on appelle une table de changement (parfois aussi appelée table miroir).

À l’instar de la méthode basée sur les horodatages, la CDC par déclencheurs est généralement facile à implémenter. Cependant, elle peut également alourdir les systèmes sources, car les déclencheurs sont « déclenchés » à chaque transaction dans la table source.

Sources et destinations courantes des CDC

Pour vous aider à dresser un portrait complet de la CDC, passons en revue quelques sources et destinations courantes de la CDC.

Les sources de la CDC sont les systèmes d’origine des données, tels que :

Les destinations de la CDC sont les systèmes vers lesquels les données sont diffusées ou répliquées, par exemple :

  • Plateformes de diffusion de données en continu (Apache Kafka, Amazon Kinesis, Google Cloud Pub/Sub)

  • Entrepôts de données et lakehouses (Snowflake, Amazon Redshift, Google BigQuery)

  • Stockage d’objets cloud (AWS S3, Azure Blob Storage, Google Cloud Storage)

La connexion des sources et des destinations nécessite généralement des outils CDC, des connecteurs et des plateformes d’intégration de données.

ETL et CDC : principales différences

L’ETL (extraction, transformation, chargement) et la capture des données de modification sont deux approches d’intégration de données largement utilisées, mais conçues pour des objectifs différents.

Voici quelques-unes des principales différences entre ETL et CDC :

  • Transfert de données : les pipelines ETL ingèrent généralement des jeux de données entiers ou de grands lots de données. Le CDC ne capture et transmet que les changements.

  • Vitesse de traitement et latence : l’ETL est généralement orienté par lots à intervalles réguliers. La CDC est conçu poure des mouvements de données à faible latence et une synchronisation continue.

  • Cas d’utilisation : l’ETL est souvent utilisé pour la business intelligence, les rapports historiques et le machine learning. La CDC est couramment utilisée pour l’analyse en temps réel, la détection de fraude et les architectures pilotées par événements.

  • Transformation des données : les pipelines ETL nettoient et transforment les données avant leur chargement. Les systèmes CDC se contentent d’identifier et de répliquer les changements sans traitement supplémentaire.

  • Impact sur le système : les processus ETL traditionnels exercent une pression plus importante sur les systèmes sources avec des workloads par lots répétées. La CDC minimise les charges en ne transmettant que les changements.

Les entreprises d’aujourd’hui utilisent couramment l’ETL et la CDC, souvent ensemble. Par exemple, la CDC complète les pipelines ETL en transmettant des mises à jour incrémentales après le chargement initial des données. Cela permet aux jeux de données de rester à jour en temps réel au fur et à mesure que des modifications se produisent dans les systèmes sources, sans avoir à attendre l’exécution de la prochaine tâche ETL.

SCD et CDC : en quoi diffèrent-ils ?

Les CDC et les dimensions à évolution lente (SCD) fonctionnent ensemble pour maintenir les systèmes cibles précis et à jour.

Alors que la CDC capture et transmet les modifications des systèmes sources, les SCD définissent la gestion et le stockage de ces modifications dans des tables de dimensions dans un entrepôt de données.

(Dans ce contexte, les données de dimension font généralement référence aux tables de dimension des entrepôts de données qui stockent des attributs descriptifs tels que les adresses des clients ou les numéros de téléphone).

Il existe deux types courants de SCD : le type 1 et le type 2.

SCD de type 1 : écrase les données existantes d’une table de dimensions avec de nouvelles données, sans conserver l’historique.

SCD de type 2 : ajoute une nouvelle ligne à une table de dimensions, préservant l’historique complet des changements au fil du temps.

Outils de capture des données modifiées

Les outils de capture des données modifiées (CDC) capturent et diffusent les modifications des bases de données en temps réel, aidant les entreprises à prendre en charge l’intégration moderne des données, l’analyse et les architectures pilotées par événements.

Les capacités CDC peuvent être propres à des environnements de base de données spécifiques, tels que le service de migration de base de données (DMS) d’AWS, ou peuvent être mises en œuvre de manière plus large. Les solutions CDC courantes incluent des outils open source tels que Debezium et des plateformes commerciales telles qu’IBM StreamSets et Oracle GoldenGate.

De nombreuses entreprises utilisent Apache Kafka comme fondation pour les pipelines CDC. Les architectures CDC basées sur Kafka peuvent enregistrer les modifications des bases de données, les diffuser via des sujets Kafka et les transmettre aux applications en aval, aux entrepôts de données, aux plateformes analytiques et aux systèmes d’IA.

Lors de l’évaluation des outils CDC, les entreprises prennent souvent en compte les éléments suivants :

  • Évolutivité
  • Tarification
  • Latence
  • Support de connecteur
  • Intégration Kafka
  • Fiabilité
  • Flexibilité de déploiement
  • Prise en charge des API

Cas d’utilisation de la capture des données modifiées

Les entreprises peuvent mettre en œuvre la CDC dans de nombreux cas d’usage, notamment :

Détection des fraudes

Le suivi continu des modifications apportées aux enregistrements financiers grâce à la CDC peut permettre de détecter des activités frauduleuses avant qu’elles n’occasionnent des pertes importantes.

Intégration de l’Internet des objets (IdO)

La CDC permet d’intégrer efficacement les volumes massifs de données en temps réel générés par les objets connectés, facilitant ainsi la maintenance prédictive et la surveillance en temps réel.

Gestion des stocks et de la chaîne d’approvisionnement

L’accès en temps réel aux données de ventes, de stocks et de chaîne d’approvisionnement, rendu possible par la CDC, aide les entreprises à éviter les ruptures de stock et à prendre des décisions tarifaires stratégiques.

Conformité réglementaire

La CDC permet aux entreprises fortement réglementées de maintenir des enregistrements précis, nécessaires aux obligations de déclaration et à la conformité avec des réglementations telles que le RGPD, le Sarbanes-Oxley Act (SOX) ou encore la loi HIPAA aux États-Unis.

Auteurs

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Solutions connexes
IBM® watsonx.data intégration

Transformez les données brutes en données adaptées à l’IA, grâce à une expérience utilisateur simplifiée pour l’intégration de n’importe quelle donnée avec n’importe quel style;

Découvrir watsonx.data integration
Solutions d’intégration de données

Créez des pipelines de données résilients, performants et optimisés en termes de coûts pour vos initiatives d’IA générative, vos analyses en temps réel, la modernisation de vos entrepôts et vos besoins opérationnels avec les solutions d’intégration des données d’IBM.

Découvrir les solutions d’intégration de données
Services de conseil en données et en IA

Réussissez le passage à l’échelle de l’IA avec la bonne stratégie, les données, la sécurité et la gouvernance adaptées.

Découvrir les services de conseil en données et en IA
Passez à l’étape suivante

Intégrez à la fois des données structurées et des données non structurées à l’aide d’un mélange de styles, y compris les lots, la diffusion en continu en temps réel et la réplication, afin d’éviter de perdre du temps et de l’argent à passer d’un outil à l’autre.

  1. Découvrir IBM watsonx.data integration
  2. Découvrir les solutions d’intégration de données