Jump to section

Was ist Change Data Capture (CDC)?

URL kopieren

Change Data Capture (CDC, deutsch: Änderungsdatenerfassung) ist ein bewährtes Muster der Datenintegration. Dabei wird nicht nur nachverfolgt, welche Datenänderungen wann stattgefunden haben, sondern es werden zudem andere Systeme und Services benachrichtigt, die auf diese Änderungen reagieren müssen. Mit Change Data Capture können Unternehmen die Konsistenz und Funktionalität in allen Systemen aufrechterhalten, die auf Daten basieren.

Daten sind für Organisationen fundamental. Dass diese Daten kontinuierlich aktualisiert und geändert werden, stellt Unternehmen vor eine enorme Herausforderung, da sie mit diesen Änderungen Schritt halten müssen. Egal, ob es sich um Informationen zu Transaktionen, Bestellungen, Inventories oder Kunden handelt – der Zugriff auf aktuelle Daten in Echtzeit ist für den Geschäftsbetrieb wesentlich. Damit wichtige Geschäftsprozesse abgeschlossen werden können, müssen Anwendungen im gesamten Unternehmen darüber informiert werden, wenn eine Bestellung aktualisiert, ein neues Kundenkonto erstellt oder eine Zahlung empfangen wurde.

Bei der Aktualisierung von Quelldatenbanken – oft relationale Datenbanken wie Oracle, Microsoft SQL Server, Postgres oder mysql – müssen Sie gegebenenfalls mehrere damit zusammenhängende Ressourcen wie Caches oder Suchindizes aktualisieren. Bei einem einfachen Ansatz müssten Sie ein Upgrade Ihrer Anwendungen durchführen, um diese Ressourcen gleichzeitig zu aktualisieren. Diese geänderten Daten ständig in mehreren Zieldateien überschreiben zu müssen, führt jedoch zu zahlreichen Herausforderungen und zusätzlichem Koordinierungsaufwand. Mithilfe von CDC können Sie Probleme wie doppelten Schreibaufwand vermeiden und Ressourcen stattdessen gleichzeitig und genau aktualisieren.

CDC schafft dies, indem Änderungen auf Zeilenebene in Datenbank-Quelltabellen nachverfolgt und festgehalten werden, kategorisiert als Einfügungs-, Update- oder Löschungs-Event. Anschließend werden diese Änderungsbenachrichtigungen für andere Systeme oder Services verfügbar gemacht, die auf denselben Daten basieren. Die Änderungsbenachrichtigungen werden in derselben Reihenfolge ausgegeben, in der sie in der ursprünglichen Datenbank erfolgt sind. So stellt CDC sicher, dass alle beteiligten Stellen eines bestimmten Datensatzes genau über Änderungen informiert sind und entsprechend reagieren können, indem sie entweder ihre eigene Version der Daten aktualisieren oder bestimmte geschäftliche Prozesse auslösen.

In modernen Microservice-Architekturen hat CDC an Bedeutung gewonnen, da es eine unverzichtbare Brücke zwischen traditionellen Datenbanken und cloudnativen event-gesteuerten Architekturen schafft. Durch den Einsatz von CDC können Unternehmen ihre Legacy-Datenbanken weiterhin verwenden und ihre Daten gleichzeitig mithilfe von neuen Technologien nutzen. Bei neuen Deployments ist mit CDC die Verwendung von hilfreichen Mustern und Schemas wie der „Outbox" möglich, dank der Microservices die konsolidierten Daten aus Datenbanktransaktionen austauschen können.

CDC erfasst zwar Änderungen in Datenbanken, aber dennoch ist ein Messaging-Service erforderlich, um die Änderungsbenachrichtigungen an die jeweiligen Systeme und Anwendungen zu senden. Die effizienteste Möglichkeit dafür ist, Änderungen als Events zu behandeln – wie in einer event-gesteuerten Architektur (EDA) – und sie dann asynchron zu versenden.

Apache Kafka ist eine ideale Möglichkeit zur asynchronen Kommunikation zwischen Datenbanken und deren Nutzern, die wiederholbare Nutzungsmuster mit großen Datenmengen benötigen. Kafka ist eine verteilte Streaming-Plattform, mit der Sie Events in Echtzeit veröffentlichen, abonnieren, speichern und verarbeiten können. Mit ihr können Sie Daten-Streams aus mehreren Quellen handhaben und die Daten an verschiedene Ziele weiterleiten – mit hohem Durchsatz und Skalierbarkeit.

Change Data Capture stellt sicher, dass von Kafka übermittelte Events mit den Änderungen in den ursprünglichen Quellsystemen oder -datenbanken übereinstimmen. Da das Messaging in Kafka asynchron ist, werden Events von den Nutzern entkoppelt, was eine zuverlässige Bereitstellung der Änderungen ermöglicht.

CDC-Plattformen wie Debezium verfolgen Änderungen in der Datenbank, indem sie das Transaktionsprotokoll beim Festschreiben von Änderungen überwachen. Eine Alternative zu diesem Ansatz ist ein einfacher polling- oder abfragebasierter Prozess. 

Demgegenüber bietet CDC, basierend auf dem Transaktionsprotokoll, mehrere Vorteile:

  • Erfassung aller Änderungen: CDC ist darauf ausgelegt, sämtliche an der Datenbank vorgenommenen Änderungen zu erfassen. Ohne CDC kann es vorkommen, dass Änderungen und neue Daten zwischen zwei Polling-Schleifen, etwa Updates oder Löschungen, nicht erfasst werden.
  • Geringer Aufwand: Die Kombination aus CDC und Kafka stellt Datenänderungen nahezu in Echtzeit bereit. Dadurch lässt sich eine erhöhte CPU-Last aufgrund von häufigem Polling vermeiden.
  • Keine Auswirkungen auf das Datenmodell: Bei der Verwendung von CDC sind Zeitstempelspalten zur Bestimmung der letzten Datenaktualisierung nicht mehr erforderlich.

Die folgenden Beispiele zeigen einige der vielfältigen Use Cases für Change Data Capture.

Microservice-Integration

CDC kann zur Synchronisierung von Microservices mit traditionellen monolithischen Anwendungen verwendet werden und ermöglicht so eine reibungslose Übertragung der Datenänderungen von Legacy-Systemen auf Microservice-Anwendungen.

Datenreplikation

Mit CDC lassen sich Daten in mehreren Datenbanken, Data Lakes oder Data Warehouses replizieren, um sicherzustellen, dass jede Ressource über die neueste Version der Daten verfügt. Dadurch kann CDC mehreren verteilten (und sogar vollkommen isolierten) Teams den Zugriff auf dieselben aktualisierten Daten ermöglichen. 

Analyse-Dashboards

Mit CDC können Sie Datenänderungen in Analyse-Dashboards für Business Intelligence oder andere Zwecke einspielen und so die zeitkritische Entscheidungsfindung unterstützen.

Auditing und Compliance

Zur Einhaltung von strengen Daten-Compliance-Anforderungen und aufgrund schwerer Sanktionen bei Nichteinhaltung ist es unerlässlich, eine Historie der Datenänderungen zu speichern. CDC kann genutzt werden, um Datenänderungen für Audit- oder Archivierungsanforderungen zu speichern. 

Cache-Invalidierung

CDC lässt sich für die Cache-Invalidierung verwenden, damit veraltete Cache-Einträge ersetzt oder entfernt werden, um die neuesten Versionen anzuzeigen.

CQRS-Modell-Updates

CDC kann genutzt werden, um CQRS-Lesemodelle (Command Query Responsibility Separation) mit primären Modellen zu synchronisieren.

Volltextsuche

Mit CDC kann ein Volltextsuchindex automatisch mit der Datenbank synchronisiert werden.

Change Data Capture kann Sie dabei unterstützen, schnelle datengestützte Entscheidungen zu treffen und so den Zeit-, Arbeits- und Kostenaufwand zu reduzieren.

Wert Ihrer Daten maximieren

Mit CDC können Unternehmen den Wert ihrer Daten maximieren, indem sie die Informationen für mehrere Zwecke nutzen. Durch die Möglichkeit zur laufenden Aktualisierung derselben Daten in verschiedenen Silos lässt sich der maximale Nutzen aus den Daten ziehen, ohne die Datenintegrität zu beeinträchtigen.

Auf dem neuesten Stand bleiben

CDC ermöglicht die Synchronisierung mehrerer Datenbanken und Anwendungen mit den neuesten Daten, wodurch Stakeholder stets aktuelle Informationen erhalten.

Bessere, schnellere Entscheidungen treffen

CDC gibt geschäftlichen Nutzern die Möglichkeit, genauere und schnellere Entscheidungen zu treffen – auf Grundlage der neuesten Informationen. Da für die Entscheidungsfindung genutzte Daten oft schnell an Wert verlieren, müssen sie unbedingt so schnell wie möglich für alle Stakeholder zur Verfügung gestellt werden, was über CDC und Kafka möglich ist. Für Ihren Wettbewerbsvorteil ist es wesentlich, dass Sie den entscheidenden Personen Zugriff auf genaue Analysen nahezu in Echtzeit bieten können.

Geschäftsbetrieb ohne Verzögerungen aufrechterhalten

Wenn Daten in mehreren Systemen nicht synchronisiert werden, können bei diesen Systemen Probleme auftreten, wie etwa beim Abstimmen von Bestellungen, Verarbeiten von Transaktionen, Generieren von Berichten, Einhalten von Produktionsterminen oder beim Kundenservice. Diese Situationen können zu Verzögerungen in Ihrem Unternehmen führen. Das wiederum bedeutet Umsatzeinbußen. CDC ermöglicht das Synchronisieren von Daten mit niedrigen Latenzzeiten und über eine Vielzahl von Systemen hinweg, damit Ihre Abläufe reibungslos ausgeführt werden.

Red Hat Integration bietet CDC-Funktionen über Debezium in Kombination mit Red Hat AMQ Streams and Apache Kafka. Debezium ist eine verteilte protokollbasierte Open-Source-CDC-Plattform, mit der sich Änderungen aus vielen verschiedenen Datenbanksystemen erfassen lassen. Debezium ist schnell und dauerhaft, sodass Ihre Anwendungen schnell reagieren können und dabei keine Events verpassen.

Weiterlesen

Artikel

Was ist Integration?

Sie möchten wissen, was Integration ist? Erfahren Sie alles über Integration, wie man sie einsetzt und warum sie in Verbindung mit Open Source noch viel wertvoller ist.

Artikel

Was ist Apache Kafka?

Apache Kafka ist eine verteilte Data-Streaming-Plattform, mit der Sie Daten in Echtzeit veröffentlichen, abonnieren, speichern und verarbeiten können.

Artikel

Was ist eine API?

APIs (Application Programming Interfaces) bestehen aus mehreren Definitionen und Protokollen zur Entwicklung und Integration von Anwendungssoftware.

Mehr über Integration erfahren

Produkte

Red Hat® Integration umfasst diverse Integrations- und Messaging-Technologien für die Daten- und Anwendungsintegration in Hybrid Cloud-Umgebungen. Es enthält Red Hat 3scale API Management, Red Hat AMQ, Red Hat Runtimes, Erfassung von Änderungsdaten und Service-Registry. 

Red Hat Runtimes umfasst eine Reihe von Produkten, Tools und Komponenten, mit denen cloudnative Anwendungen entwickelt und gewartet werden können. Es enthält Red Hat AMQ, Red Hat Data Grid, Red Hat JBoss® Enterprise Application Platform, Red Hat JBoss Web Server, Red Hat build of OpenJDK, Red Hat build of Quarkus, Cloudnative Runtimes, Red Hat Migration Toolkit für Anwendungen, Single Sign-On (SSO) und Launcher-Service.

Red Hat Application Foundations umfasst zahlreiche Integrations- und Runtimes Technologien, um die Entwicklung, Bereitstellung und Nutzung von Anwendungen sicher und in großem Umfang in der Hybrid Cloud zu unterstützen.

Gehostete und gemanagte Plattform-, Anwendungs- und Datenservices, die das Hybrid Cloud-Erlebnis optimieren und die Betriebskosten sowie die Komplexität der Bereitstellung cloudnativer Anwendungen verringern.

Ressourcen

Training

Kostenloser Trainingskurs

Red Hat Agile Integration Technical Overview