Was ist Change Data Capture?

Definition von Change Data Capture

Change Data Capture (CDC) ist eine Technik zur Erkennung und Erfassung von Änderungen an Daten in einer Datenbank sowie zur Übertragung dieser Änderungen an nachgelagerte Systeme. CDC ermöglicht Datensynchronisierung, Replikation und ereignisgesteuerte Verarbeitung über mehrere Systeme hinweg nach Datenbankänderungen nahezu in Echtzeit oder in Echtzeit.

Change Data Capture ist eine Methode der Echtzeit-Datenintegration, die Daten kombiniert und aufeinander abstimmt, die ansonsten in Silos gespeichert oder innerhalb des Unternehmens uneinheitlich bleiben könnten. Weitere Methoden der Datenintegration sind Stream-Datenintegration, Datenvirtualisierung und Anwendungsintegration.

Die Fähigkeit des CDC, nachgelagerte Prozesse und Systeme nahezu in Echtzeit oder in Echtzeit mit geringer Latenz zu aktualisieren, ist entscheidend für den Erfolg von Echtzeit-Datenanalysen, Cloud-Migrationen und KI-Modellen. Es unterstützt eine Vielzahl von Anwendungsfällen in verschiedenen Branchen, darunter Betrugserkennung, Lieferkettenverwaltung und regulatorische Compliance in Bereichen wie Einzelhandel, Finanzen und Gesundheitswesen.

Es gibt mehrere Ansätze zur Erfassung von Datenänderungen, wobei protokollbasiertes CDC, zeitstempelbasiertes CDC und triggerbasiertes CDC zu den gängigsten zählen. Unternehmen können die Erfassung von Datenänderungen über datenbanknative Tools, Open-Source-Plattformen und Lösungen von Drittanbietern implementieren.

Was sind die Vorteile der Erfassung von Änderungsdaten?

In der modernen Datenverwaltung hat sich die Erfassung von Änderungsdaten zu einem wichtigen Mechanismus des Data Engineering entwickelt. Moderne Datenumgebungen in Unternehmen werden immer größer und komplexer. Sie enthalten Daten von Geräten des Internets der Dinge (IoT), verteilten Datenbanken, Anwendungen und anderen unterschiedlichen Quellen. Die Aufrechterhaltung konstanter, qualitativ hochwertiger Daten in diesem wachsenden Datenökosystem ist eine ständige Herausforderung.

Gleichzeitig benötigt das Unternehmen genaue, aktuelle Informationen, die für Entscheidungen in Echtzeit genutzt werden können. Die Erfassung von Änderungsdaten ist eine von mehreren Methoden, mit denen Unternehmen diese Anforderung erfüllen können.

Die Change Data Capture ermöglicht eine Datenpipeline mit geringer Latenz, die aktuelle Daten effizienter und weniger ressourcenintensiv bereitstellt als andere Datenintegrationsmethoden. Bei der Datenreplikation werden beispielsweise vollständige Datensätze kopiert. Im Gegensatz dazu sendet CDC nur die Daten, die sich geändert haben, wodurch die Belastung der Quellsysteme, der Netzwerkverkehr und der Bedarf an Rechenleistung reduziert werden.

So können sie schnell und effizient auf die neuesten und genauesten Informationen zugreifen, was zahlreiche Vorteile mit sich bringt, darunter:

  • Schnellere Entscheidungsfindung
  • Migrationen ohne Ausfallzeiten
  • Verbesserung des ETL-Prozesses
  • Verbesserte KI-Leistung

Schnellere Entscheidungsfindung

CDC unterstützt Unternehmen dabei, operative Daten in Echtzeit-Datenanalyseplattformen und Dashboards zu streamen, um genauere und aktuellere Berichte, Erkenntnisse und Entscheidungsfindungen zu ermöglichen. Mit diesen Funktionen können Unternehmen die Anforderungen der zeitkritischen, rund um die Uhr verfügbaren Geschäftsumgebung von heute erfüllen.

Migrationen ohne Ausfallzeit

Die kontinuierliche Synchronisation zwischen Datenquellen und Zielsystemen unterstützt Datenmigrationen zwischen Datenbanken, Cloudsystemen oder Anwendungen mit minimaler Ausfallzeit oder Unterbrechung. Beispielsweise liefert das CDC während Cloud-Migrationen schnell lokale Datenänderungen an relevante cloudbasierte Datentabellen, um die Konstanz zwischen beiden Umgebungen sicherzustellen.

Verbesserung des ETL-Prozesses

ETL (Extrahieren, Transformieren, Laden)-Datenpipelines sind für Datenanalysen und Machine-Learning-Workstreams unverzichtbar. Die ETL-Ausführung, die auf Stapelverarbeitung beruht, verläuft jedoch in der Regel langsam und belastet die Systemressourcen. Die Integration von CDC in ETL kann die Ressourcennutzung optimieren und die Datenbewegung beschleunigen.

Bessere Leistung von künstlicher Intelligenz (KI)

Die Implementierung einer Änderungsdatenerfassung kann dazu beitragen, dass die Modellquelldaten auf dem neuesten Stand sind, sodass große Sprachmodelle (Large Language Models, LLMs) genaue und zeitnahe Ausgaben liefern können. Bei einem Anwendungsfall wie z. B.Retrieval-Augmented Generation (RAG) verbinden sich KI-Modelle mit externen Wissensdatenbanken, um relevantere Antworten zu erhalten.

AI Academy

Ist Datenverwaltung das Geheimnis generativer KI?

Erfahren Sie, warum qualitativ hochwertige Daten für den erfolgreichen Einsatz generativer KI unerlässlich sind.

Wie funktioniert Change Data Capture?

Change Data Capture identifiziert und protokolliert Einfügungen, Aktualisierungen und Löschungen, die in Quelldatensystemen auftreten. Zu diesen Datenquellen zählen relationale Datenbanken wie Oracle Database, PostgreSQL, MySQL, Microsoft SQL Server und Azure SQL Database sowie nicht-relationale (NoSQL) Datenbanken wie Apache Cassandra und MongoDB.

Moderne CDC-Systeme verwenden üblicherweise logbasiertes CDC, bei dem Tools Datenbank-Transaktionsprotokolle (Dateien, die Datenänderungen in einer Datenbank aufzeichnen) lesen, um Änderungen zu identifizieren. Jedes Änderungsereignis innerhalb eines Transaktionslogs ist mit einer geordneten Log-Position verknüpft, wie zum Beispiel einer Log-Sequenznummer (LSN). Diese helfen CDC-Systemen genau festzustellen, wann Änderungen stattfinden.

Sobald die Änderungen erfasst sind, werden sie in Echtzeit oder nahezu in Echtzeit an nachgelagerte Systeme wie Data Lakes, Data Warehouses, Streaming-Datenplattformen wie Apache Kafka, Stream-Processing-Engines wie Apache Spark und ETL/ELT Pipelines gestreamt.

CDC-Ansätze: Push vs. Pull

Change Data Capture kann entweder vom Quellsystem (Push-basierter Ansatz) oder vom Zielsystem (Pull-basierter Ansatz) initiiert werden. Der größte Unterschied besteht darin, welches System für die Erfassung und Übermittlung von Änderungen zuständig ist.

Push-basiertes CDC

Bei einem Push-basierten CDC-Modell erkennt das Quellsystem Änderungen und „pusht“ oder sendet diese sofort an die Zielsysteme. Dieser Ansatz wird meist mithilfe von Datenbank-Transaktionsprotokollen, Event Streams oder Message Brokern wie Apache Kafka umgesetzt.

Da Änderungen sofort nach ihrem Auftreten übertragen werden, unterstützt Push-basiertes CDC normalerweise Anwendungsfälle, die eine Datenübertragung in Echtzeit oder nahezu Echtzeit erfordern, wie z. B. Streaming Analytics, ereignisgesteuerte Architekturen und KI/ML-Systeme.

Pull-basiertes CDC

Beim Pull-basierten CDC fragt das Zielsystem regelmäßig die Quellsysteme ab und „zieht“ Änderungen, sobald diese gefunden werden. Das Pulling kann nach einem festen Zeitplan erfolgen, wodurch sich das Pull-basierte CDC gut für Workloads oder Systeme eignet, die keine sofortigen Aktualisierungen erfordern.

Dieser Ansatz ist zwar einfacher und erfordert eine weniger komplexe Infrastruktur als das Push-basierte CDC, kann aber zu hoher Latenzzeit führen und die Abfragelast in den Quelldatenbanken erhöhen, was die Leistung beeinträchtigt. Viele moderne Datenplattformen unterstützen je nach Datenbedarf und operativen Anforderungen beide Ansätze.

Gängige Methoden für die Erfassung von Änderungsdaten

Es gibt verschiedene Methoden zur Durchführung der Änderungsdatenerfassung. Zu den gängigen Arten von CDC gehören: 

  • Protokollbasiertes CDC
  • Zeitstempelbasiertes CDC
  • Triggerbasiertes CDC

Protokollbasiertes CDC

Datenbanktransaktionsprotokolle sind eine Standardfunktion von Datenbanken und dienen zur Aufzeichnung aller Datenbanktransaktionen. (Transaktionsprotokolldateien können verwendet werden, um Datenbanken im Falle eines Systemausfalls wiederherzustellen.)

Beim logbasierten CDC verarbeitet eine CDC-Anwendung die im Protokoll aufgezeichneten Datenbankänderungen (sowohl an Daten als auch an Metadaten) und teilt die Aktualisierungen mit anderen Systemen. Logbasiertes CDC erfreut sich aufgrund seiner Effizienz zunehmender Beliebtheit – es stützt sich auf Protokolle anstelle von Abfragen, die eine erhebliche Belastung für die Quellsysteme darstellen. Allerdings können unterschiedliche Formate von Transaktionsprotokollen die protokollbasierte CDC-Ausführung über verschiedene Datenbanken hinweg erschweren.

Zeitstempel-basierte CDC

Die zeitstempelbasierte Erfassung von Änderungsdaten, auch als abfragebasierte CDC bezeichnet, erfordert, dass die Schemata der Datenbanktabellen Spalten enthalten, beispielsweise Zeitstempelspalten, in denen das Datum und die Uhrzeit von Datensatzänderungen vermerkt werden. Ein CDC-Tool kann verwendet werden, um geänderte Datensätze anhand der Zeitstempel-Spalte in einer Quelltabelle zu identifizieren und anschließend Aktualisierungen an die Zielsysteme zu übermitteln.

Während das zeitstempelbasierte CDC einfach zu implementieren sein kann, übt es mitunter auch zusätzliche, invasive Lasten auf Systeme aus, wenn das Abfragen von Zeitstempeldaten häufig erfolgt. Das zeitstempelbasierte CDC erfasst auch keine Löschvorgänge, wenn der Zeitstempel zusammen mit dem Rest einer Zeile gelöscht wird.

Trigger-basierte CDC

Bei der triggerbasierten Änderungsdatenerfassung werden gespeicherte Prozeduren oder Funktionen, die als Datenbank-Trigger bezeichnet werden, ausgeführt, sobald bestimmte Änderungen (wie Einfügungen, Löschungen und Aktualisierungen) in einer Datenbank auftreten. Die geänderten Daten werden dann in einer sogenannten Änderungstabelle oder „Schattentabelle“ (Shadow Table) gespeichert.

Wie das zeitstempelbasierte CDC kann auch das Trigger-basierte CDC einfach zu implementieren sein. Allerdings kann dies auch die Quellsysteme belasten, da bei jeder Transaktion in der Quelltabelle Trigger „ausgelöst“ werden.

Gängige CDC-Quellen und -Ziele

Um ein umfassendes Bild des CDC zu erhalten, sehen wir uns einige gängige Quellen und Ziele des CDC an.

CDC-Quellen sind Systeme, aus denen Daten stammen, wie zum Beispiel:

CDC-Zielsysteme sind Systeme, in die Daten gestreamt oder repliziert werden, wie zum Beispiel:

  • Datenstreaming-Plattformen (Apache Kafka, Amazon Kinesis, Google Cloud Pub/Sub)

  • Data Warehouses und Lakehouses (Snowflake, Amazon Redshift, Google BigQuery)

  • Cloud Object Storage (AWS S3, Azure Blob Storage, Google Cloud Storage)

Die Verbindung von Quellen und Zielen erfordert in der Regel CDC-Tools, Konnektoren und Integrationsplattformen.

ETL vs. CDC: Wichtige Unterscheidungsmerkmale

ETL (Extract, Transform, Load) und Change Data Capture sind weit verbreitete Ansätze zur Datenintegration, die jedoch für unterschiedliche Zwecke entwickelt wurden.

Nachfolgend sind einige der wichtigsten Unterschiede zwischen ETL und CDC aufgeführt:

  • Datenbewegung: ETL-Pipelines konsumieren in der Regel komplette Datensätze oder große Datenchargen. Das CDC erfasst und übermittelt nur Änderungen.

  • Verarbeitungsgeschwindigkeit und Latenz: ETL ist meist in festgelegten Abständen batchorientiert. CDC ist für Datenbewegungen mit geringer Latenz und kontinuierlicher Synchronisierung konzipiert.

  • Primäre Anwendungsfälle: ETL wird häufig für Business Intelligence, historische Berichterstattung und maschinelles Lernen verwendet. CDC wird häufig für Echtzeitanalysen, Betrugserkennung und ereignisgesteuerte Architekturen verwendet.

  • Datentransformation: ETL-Pipelines bereinigen und transformieren Daten vor dem Laden. CDC-Systeme identifizieren und replizieren einfach Änderungen ohne weitere Verarbeitung.

  • Systemauswirkung: Traditionelle ETL-Prozesse belasten die Quellsysteme mit wiederholten Batch-Workloads stärker. CDC minimiert den Aufwand, indem es nur Änderungen überträgt.

Unternehmen nutzen in der Regel sowohl ETL als auch CDC, oft auch in Kombination. Zum Beispiel ergänzt CDC ETL-Pipelines, indem es nach dem ersten Laden der Daten inkrementelle Aktualisierungen übermittelt. Dadurch können Datensätze in Echtzeit aktualisiert werden, wenn Änderungen in den Quellsystemen vorgenommen werden, ohne auf die Ausführung des nächsten ETL-Jobs warten zu müssen.

SCD vs. CDC: Wie unterscheiden sie sich voneinander?

CDC und sich ständig verändernde Dimensionen (SCDs) arbeiten zusammen, damit Zielsysteme genau und aktuell bleiben.

Während das CDC Änderungen von Quellsystemen erfasst und überträgt, definieren SCDs, wie diese Änderungen verwaltet und in Dimensionstabellen in einem Data Warehouse gespeichert werden.

(In diesem Zusammenhang beziehen sich Dimensionsdaten meist auf Dimensionstabellen in Data Warehouse, die beschreibende Attribute wie Adressen oder Telefonnummern speichern.)

Es gibt zwei gängige Arten von SCDs: Typ 1 und Typ 2.

SCD-Typ 1: Überschreibt bestehende Daten in einer Dimensionstabelle mit neuen Daten, ohne den Verlauf beizubehalten

SCD Typ 2: Fügt einer Dimensionstabelle eine neue Zeile hinzu und bewahrt die vollständigen Änderungen im Zeitverlauf

Tools zur Erfassung von Datenänderungen

Change Data Capture Tools (CDC) erfassen und streamen Datenbankänderungen in Echtzeit und helfen Unternehmen dabei, moderne Integration, Analysen und ereignisgesteuerte Architekturen zu unterstützen.

CDC-Funktionen können in bestimmten Datenbankumgebungen wie dem AWS Database Migration Service (DMS) nativ sein oder breiter implementiert sein. Gängige CDC-Lösungen umfassen Open-Source-Tools wie Debezium und kommerzielle Plattformen wie IBM StreamSets und Oracle GoldenGate.

Viele Unternehmen nutzen Apache Kafka als Grundlage für CDC-Pipelines. Kafka-basierte CDC-Architekturen können Datenbankänderungen erfassen, sie über Kafka streamen und nachgelagerten Anwendungen, Data Warehouses, Analysen und KI-Systemen bereitstellen.

Bei der Bewertung von CDC-Tools berücksichtigen Unternehmen häufig Folgendes:

  • Skalierbarkeit
  • Preisgestaltung
  • Latenz
  • Unterstützung für Konnektoren
  • Kafka-Integration
  • Reliabilität
  • Flexibilität bei der Bereitstellung
  • API-Unterstützung

Anwendungsfall für die Erfassung von Änderungsdaten

Unternehmen können die Änderungsdatenerfassung für eine Vielzahl von Zwecken bereitstellen, darunter:

Betrugserkennung

Die kontinuierliche Verfolgung von Änderungen in Finanzunterlagen durch Change Data Capture ermöglicht die Aufdeckung betrügerischer Aktivitäten, bevor diese zu erheblichen Verlusten führen.

Aktivierung des Internets der Dinge (IoT).

CDC kann die riesigen Mengen an Echtzeitdaten, die von IoT-Geräten generiert werden, effizient integrieren und ermöglicht so vorausschauende Wartung und Echtzeitüberwachung.

Bestands- und Lieferkettenmanagement

Der Zugriff auf Echtzeit-Informationen zu Verkäufen, Lagerbeständen und Lieferketten, unterstützt durch Change Data Capture, kann Unternehmen dabei helfen, Lagerengpässe zu vermeiden und lukrative Preisentscheidungen zu treffen.

Einhaltung von Vorschriften

Die Erfassung von Änderungsdaten kann stark regulierten Unternehmen dabei helfen, genaue Aufzeichnungen zu führen, die für die Berichterstattung und die Einhaltung von Vorschriften und Gesetzen wie der DSGVO, dem Sarbanes-Oxley Act (SOX) und HIPAA in den USA erforderlich sind.

Autoren

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Verwandte Lösungen
IBM watsonx.data integration

Verwandeln Sie Rohdaten in KI-fähige Daten mit einer optimierten Benutzererfahrung für die Integration beliebiger Daten in einem beliebigen Stil

Mehr zu watsonx.data integration
Lösungen zur Datenintegration

Erstellen Sie mit IBM-Datenintegrationslösungen belastbare, leistungsstarke und kostenoptimierte Datenpipelines für Ihre generativen KI-Initiativen, Echtzeitanalysen, Lagermodernisierungen und betrieblichen Anforderungen.

Erkunden Sie die Datenintegrationslösungen
Beratungsdienste zu Daten und KI

Erfolgreiches Skalieren von KI mit der richtigen Strategie, Datensicherheit und Governance.

Beratungsservices für Daten und KI erkunden
Machen Sie den nächsten Schritt

Integrieren Sie sowohl strukturierte als auch unstrukturierte Daten mithilfe verschiedener Methoden – darunter Batch-Verarbeitung, Echtzeit-Streaming und Replikation –, damit Sie keine Zeit und kein Geld damit verschwenden, zwischen verschiedenen Tools hin- und herzuwechseln.

  1. IBM watsonx.data integration erkunden
  2. Erkunden Sie die Datenintegrationslösungen