Change Data Capture (CDC) ist ein Verfahren, mit dem Änderungen an Daten in einem Quellsystem, z. B. einer Transaktionsdatenbank, einem Data Warehouse oder einer SaaS-Anwendung, verfolgt und erfasst werden. Durch die Aufzeichnung von Änderungen in Echtzeit können Sie per CDC Systeme synchronisieren, Analysen durchführen, KI-Modelle trainieren und nahtlose Datenmigrationen unterstützen.
Zu wissen, welche Änderungen in einer Datenbank vorgenommen werden, ist entscheidend für die Aufrechterhaltung der Datenintegrität, die Optimierung von Workflows und die Gewinnung von Echtzeit-Einblicken. Ein typisches Beispiel ist der Einzelhandel: Wenn ein Kunde eine Bestellung aufgibt, erfasst CDC diesen Verkauf aus der Transaktionsdatenbank, sobald er stattfindet. Ein CDC-Dienst wie Datastream von Google Cloud kann die Änderungen aus einer lokalen PostgreSQL-Datenbank in ein BigQuery-Data Warehouse replizieren, sodass ein Analysedashboard nahezu in Echtzeit aktualisiert wird. So entfällt das Warten auf langsame, pro Nacht ausgeführte Batchjobs.
Change Data Capture (CDC) ist ein Verfahren, mit dem Datenänderungen wie Einfügungen, Aktualisierungen und Löschungen in einem Quellsystem identifiziert und erfasst werden, oft nahezu in Echtzeit. CDC kann:
Der ETL-Prozess (Extract, Transform, Load) umfasst das Extrahieren von Rohdaten aus dem Quellsystem, das Transformieren in die erforderliche Struktur und das Laden in das Zielsystem, in der Regel ein Data Warehouse. ETL trägt dazu bei, dass Daten organisiert, bereinigt und für die nachgelagerte Verwendung in Analysen oder Anwendungen bereit sind.
Traditionell wird ETL in großen, geplanten Batches ausgeführt, oft über Nacht. Das bedeutet, dass die Daten im Zielsystem nur so aktuell sind wie der letzte Batchlauf.
Der Hauptunterschied besteht darin, wie CDC Daten extrahiert. Anstatt den Datensatz in Batches zu extrahieren, erfasst CDC die Änderungen, sobald sie auftreten. So können immer die aktuellsten Daten abgefragt werden; es ist nicht mehr nötig, sich auf die regelmäßige Batchverarbeitung zu verlassen. Dadurch können Sie schneller auf Veränderungen reagieren und erhalten genauere Einsichten.
Change Data Capture ist in erster Linie ein Prozess, der auf die effiziente Extraktion aller inkrementellen Änderungen aus einer Quelldatenbank abzielt, oft nahezu in Echtzeit, um die Belastung des Quellsystems zu minimieren.
SCD (Slow Changing Dimensions, Langsam veränderliche Dimensionen) dagegen ist eine Datenmodellierungstechnik, die im Ziel-Data Warehouse oder Analysesystem angewendet wird. Dabei geht es darum, wie der historische Zustand von Dimensionsdaten (z. B. Kundendatensätze oder Produktattribute) im Laufe der Zeit gespeichert und verwaltet werden kann.
CDC ist zwar das Tool für den effizienten Datentransport der Änderungen, diese werden aber in der Regel mit einer bestimmten SCD-Strategie angewendet, um einen vollständigen und genauen Verlauf im Zielsystem zu erhalten.
Change Data Capture kann eine leistungsstarke Brücke sein, um die verschiedenen Systeme zu verbinden, aus denen ein moderner Daten-Stack oder eine Daten-Cloud besteht. CDC-Tools sind nicht auf bestimmte Datenbanken beschränkt, sondern können mit verschiedensten Quellen und Zielen verwendet werden.
Transaktionale Datenbanken sind die häufigsten Quellen für CDC, da sie alle Einfüge-, Aktualisierungs- und Löschvorgänge aus den Systemen erfassen, die für die täglichen Geschäftsabläufe verwendet werden.
Diese Systeme sind oft das primäre Ziel für CDC-Daten und konsolidieren Informationen aus mehreren Quellen für Business Intelligence, Analysen und KI.
Mit CDC können Sie Änderungsdaten aus wichtigen Geschäftsplattformen (oft über APIs oder Webhooks) abrufen, um Kunden-, Verkaufs- oder Supportdaten im gesamten Unternehmen zu synchronisieren.
Streaming- und Messaging-Plattformen fungieren oft als Echtzeit-Messaging-Bus, der Änderungsereignisse von einer Quelle empfängt und sie gleichzeitig an mehrere nachgeschaltete Nutzer verteilt.
Ein häufiges Ziel für Rohdaten-CDC-Ereignisprotokolle, da Objektspeicher eine skalierbare und kostengünstige Grundlage für den Aufbau eines Data Lakes bietet.
CDC kann eine Vielzahl wichtiger Anwendungsfälle ermöglichen, von der Sicherstellung der Datenkontinuität bis hin zur Unterstützung von Echtzeit-Analysen und KI.
Durch das Erfassen und Weiterleiten von Änderungen, sobald sie auftreten, sorgt CDC dafür, dass verschiedene Systeme (wie eine primäre Datenbank plus ein Backup oder eine primäre Datenbank plus eine Analyseplattform) immer synchronisiert sind. Dies vermeidet Datenabweichungen und hält die Datenintegrität über alle Plattformen hinweg aufrecht.
Change Data Capture identifiziert, verfolgt und extrahiert die Änderungen, die an Daten in einer Quelldatenbank vorgenommen wurden. Dabei werden verschiedene Ansätze verwendet, darunter:
Datenbanken sind die häufigste und zuverlässigste Quelle für Change Data Capture, da sie alle eine zentrale Komponente gemeinsam haben: das Transaktionsprotokoll. Dieses Protokoll ist ein unveränderlicher, geordneter Datensatz aller Änderungen und damit die perfekte Grundlage für die genaue und effiziente Erfassung von Datenänderungen, ohne die Datenbankleistung zu beeinträchtigen. Wir sehen uns hier die wichtigsten Konzepte genauer an.
Bevor Daten in die eigentlichen Datenbanktabellen geschrieben werden, wird die Änderung (Einfügen, Aktualisieren oder Löschen) zuerst in einem Transaktionslog aufgezeichnet. Moderne CDC-Tools greifen auf dieses Log zu, um Änderungen nicht-invasiv zu erfassen. Dies ist ein zentraler Bestandteil der Technologie zur Datenbankreplikation. Das Konzept ist zwar universell, aber der Name für dieses Protokoll variiert je nach Datenbank. Einige Beispiele:
Bei großen, existierenden Datenbanken kann das Lesen des gesamten Verlaufs aus dem Transaktionsprotokoll aufgrund der Netzwerkleistung und anderer Einschränkungen unpraktisch sein. Ein gängiges Muster in der Praxis ist es, zuerst einen Massenimport durchzuführen und dann CDC zur Synchronisierung zu verwenden. Dazu sind folgende Schritte erforderlich:
Mit dieser Methode wird sichergestellt, dass das Ziel vollständig mit Verlaufsdaten gefüllt und dann mit allen nachfolgenden Live-Änderungen synchronisiert wird. So führen verwaltete Dienste wie Datastream und Database Migration Service von Google Cloud nahtlose und zuverlässige Backfills durch.
Um diesen Prozess zuverlässig zu verwalten, verwendet CDC eindeutige Kennungen im Transaktionsprotokoll, die in der Regel als Logsequenznummern (LSNs) bezeichnet werden. Diese Zahlen dienen als präzise Lesezeichen für den Änderungsstream. Sie sind wichtig für:
Diese Mechanismen – das Transaktionslog, der anfängliche Snapshot und die Sequenznummer – sorgen gemeinsam dafür, dass die Datenbank-CDC sowohl hocheffizient als auch zuverlässig ist.
CDC bietet verschiedene Vorteile, die es in modernen Daten-Workflows unverzichtbar machen:
Datenkonsistenz über Systeme hinweg
Änderungen werden sofort synchronisiert, wodurch Abweichungen reduziert und plattformübergreifend akkuratere Daten bereitgestellt werden.
Effiziente Datenübertragung
Es werden nur Änderungen erfasst, nicht ganze Datasets. Das entlastet das System und reduziert die Netzwerknutzung erheblich.
Nahtlose Integration
Verbindet Ihre Systeme über eine Bibliothek mit vordefinierten Connectors. Viele Plattformen bieten No-Code-Schnittstellen zum Konfigurieren von Pipelines und zum automatischen Verwalten komplexer Backend-Aufgaben wie der Erkennung von Schemaabweichungen und der Transformation von In-Flight-Daten, damit Ihre Daten ohne Unterbrechung fließen.
Operative Stabilität
Unterstützt Notfallwiederherstellung und Replikation, da Systeme und Sicherungen automatisch ohne manuelles Eingreifen aufeinander abgestimmt werden.
Informationen in Echtzeit
Ermöglicht den nahezu sofortigen Zugriff auf aktuellste Daten, sodass Sie Entscheidungen schneller und fundierter treffen können. Diese Agilität kann in schnelllebigen Umgebungen wie Finanzhandel, E-Commerce und Logistik, in denen der Wert von Daten in Sekundenschnelle verfällt, einen entscheidenden Vorteil bieten.
Mehrere Technologien überschneiden sich mit CDC oder ergänzen es und bieten unterschiedliche Ansätze für die Verwaltung von Datenänderungen und die Verarbeitung in Echtzeit. So schneidet CDC im Vergleich zu anderen beliebten Ansätzen ab:
HTAP kombiniert transaktionsorientierte (OLTP) und analytische (OLAP) Arbeitslasten in einem einzigen System und ermöglicht so die sofortige Analyse der Daten. HTAP eignet sich zwar gut für vereinheitlichte Analysen in einer in sich geschlossenen Umgebung, kann aber Schwierigkeiten haben, sich mit den vielfältigen und verteilten Datenquellen innerhalb eines Unternehmens zu synchronisieren. CDC hingegen eignet sich hervorragend, um die Datenkonsistenz über Systeme hinweg aufrechtzuerhalten und verteilte Workflows zu ermöglichen.
Föderierte Abfragen (und ein ähnlicher Ansatz namens „externe Tabellen“) ermöglichen es einem Data Warehouse oder einer Abfrage-Engine, Daten direkt aus einem externen Quellsystem, z. B. einer Transaktionsdatenbank, zu lesen, wenn eine Abfrage ausgeführt wird. Bei diesem Ansatz müssen Daten nicht kopiert oder verschoben werden, sondern es wird ein Live-Zugriff auf die Informationen dort ermöglicht, wo sie sich befinden.
Diese Methode eignet sich hervorragend für Ad-hoc-Analysen oder gelegentliche Abfragen, da sie sofortigen Zugriff ohne Einrichtung einer Replikationspipeline bietet. Für regelmäßig verwendete oder leistungssensitive Abfragen kann dies jedoch ineffizient sein, da jede Abfrage eine direkte Belastung des operativen Quellsystems darstellt. Im Gegensatz zu CDC, bei dem proaktiv ein Stream von Änderungen für optimierte Analysen an ein Ziel gesendet wird, ruft dieser Ansatz Daten bei Bedarf ab, was für Arbeitslasten mit hoher Frequenz möglicherweise nicht geeignet ist.
Kafka ist eine Open-Source-Plattform, die für Datenstreaming und ‑verarbeitung mit hohem Durchsatz entwickelt wurde. Kafka verwaltet zwar effizient große Datenströme, ergänzt CDC aber eher, als es zu ersetzen. CDC konzentriert sich auf die Erfassung präziser Datenbankänderungen in Echtzeit, während Kafka breitere Ereignisdaten streamt, z. B. Website-Klicks, IoT-Sensorwerte oder Artikel, die einem Einkaufswagen hinzugefügt werden. Zusammen können diese Technologien eine leistungsstarke Kombination für Echtzeit-Workflows bilden.
Während CDC einen No-Code-Ansatz zur Replikation von Daten verwendet, verbinden Integrationstechnologien, die auf der Anwendungsebene ansetzen, Systeme und SaaS-Plattformen mit einem Low-Code-Ansatz. Wenn Sie Daten beim Wechsel zwischen Plattformen transformieren möchten, können Produkte für die Einbindung auf Anwendungsebene wie Application Integration von Google Cloud besser geeignet sein.
Datastream ist der zuverlässige, nutzerfreundliche und serverlose CDC- (Change Data Capture) und Replikationsdienst von Google Cloud. Es minimiert Latenzen und ermöglicht gleichzeitig die Synchronisierung von Daten über verschiedene Datenbanken und Anwendungen hinweg. Hier finden Sie Infomaterial und ein paar Tipps für den Einstieg:
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.