Was ist Change Data Capture?

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.

Einführung in Datastream für BigQuery

Wichtigste Ergebnisse

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:

  • Langsame Batchjobs ersetzen: Sie können Änderungen an Daten erfassen, sobald sie auftreten, anstatt später ganze Datasets zu extrahieren.
  • Leistungsstarke Anwendungsfälle bedienen: CDC unterstützt nahtlose Datenbankmigrationen, Echtzeitanalysen und KI-Training.

Was ist der Unterschied zwischen ETL und CDC?

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.

Was ist der Unterschied zwischen SCD und CDC?

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.

Häufige CDC-Quellen und ‑Ziele

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.

  • Beispiele: BigQuery, Snowflake, Amazon Redshift, Databricks

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.

  • Beispiele: Salesforce, SAP, Stripe, HubSpot

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.

  • Beispiele: Apache Kafka, Pub/Sub, Amazon Kinesis

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.

Wichtige Anwendungsfälle für Change Data Capture

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.

  • Replikation: Sekundäre Datenbanken oder Sicherungen bleiben mit dem primären System konsistent, da Änderungen in Echtzeit erfasst werden. Dies ist entscheidend für die Notfallwiederherstellung und Architekturen mit hoher Verfügbarkeit.
  • Migration: Datenbankmigrationen werden vereinfacht, da laufende Änderungen verfolgt werden und sichergestellt wird, dass das Zielsystem die Quelle genau widerspiegelt, selbst bei Live-Migrationen.
  • Echtzeitanalysen: Durch die Einspeisung von Livedaten in Analysesysteme können Sie mit CDC auf Trends und Veränderungen reagieren, sobald diese auftreten. So bleiben Sie immer gut informiert.
  • Daten für das KI-Training: CDC liefert aktuellste Daten, sodass KI- und Machine-Learning-Modelle mit akkuraten, relevanten Informationen trainiert werden können, was Vorhersage und Entscheidungsfindung verbessert.
  • Daten-Cloud aufbauen: CDC ist ein wichtiger Dienst zum Erstellen einer einheitlichen Daten-Cloud, die Echtzeitänderungen aus verschiedenen, isolierten Quellen (wie Transaktionsdatenbanken und SaaS-Anwendungen) in eine zentrale Analyseplattform und zurück streamt. Dies hilft dabei, Datensilos aufzubrechen und eine Single Source of Truth zu schaffen.

FAQs zu Change Data Capture

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:

  • Logbasiertes CDC, bei dem das interne Transaktionslog der Datenbank (der Datensatz aller Änderungen) gelesen wird, um diese spezifischen Änderungen nahezu in Echtzeit an ein Zielsystem zu streamen, wodurch die Ressourcenbelastung minimiert wird
  • Triggerbasiertes CDC: Hierbei werden Datenbanktrigger für Tabellen erstellt, um Änderungen in separaten Schattentabellen zu erfassen, wenn eine Änderung auftritt. Dies kann jedoch den Aufwand der Transaktionsverarbeitung der Quelldatenbank erhöhen.
  • Zeitstempelbasierte CDC ist die einfachste, aber leistungsschwächste Methode. Sie basiert auf einer Zeitstempel- oder Versionsspalte in der Quelltabelle, um regelmäßig nach Zeilen zu suchen, deren Änderungszeit später liegt als die letzte Extraktionszeit.

Funktionsweise von CDC mit Datenbanken

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.

Transaktionslog der Datenbank verstehen

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:

  • PostgreSQL: Write-Ahead Log (WAL)
  • Oracle: Redo-Log
  • SQL Server: Transaktionsprotokoll
  • MySQL: Binärlog (Binlog)

Anfänglichen Ladevorgängen mit CDC kombinieren

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:

  1. Erstellung eines konsistenten Snapshots oder Back-ups der Datenbank zu einer bestimmten Zeit.
  2. Laden des großen Snapshots in das Zielsystem
  3. Der CDC-Stream wird an der genauen Logposition gestartet, an der der Snapshot aufgenommen wurde.

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.

Positionierung und Wiederherstellung mit Logfolgenummern

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:

  • Positionierung: Sie wissen genau, wo im Log ein Stream gestartet oder beendet werden soll.
  • Wiederherstellung: Wenn ein CDC-Prozess fehlschlägt, kann er ab der letzten erfolgreich verarbeiteten LSN neu gestartet werden. So wird sichergestellt, dass jede Änderung genau einmal erfasst wird, ohne dass Daten verloren gehen oder dupliziert werden.

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.

Vorteile von Change Data Capture

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.

Konkurrierende Technologien und Alternativen

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:

Hybride transaktionsorientierte und analytische Verarbeitung (HTAP)

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

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.

Plattformen für Datenstreaming

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.

Einbindung auf Anwendungsebene

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.

Meistern Sie Ihre geschäftlichen Herausforderungen mit Google Cloud

Neukunden erhalten ein Guthaben im Wert von 300 $ für Google Cloud.

Erste Schritte mit CDC in Google Cloud

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:

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.

Google Cloud