Änderungsdatenerfassung

Problem

Ein anderes System muss wissen, wann sich Datenbankdatensätze ändern. Ständige Abfrage: „Irgendwas hat sich geändert? ist ineffizient und kann nützliche Änderungssemantik verpassen.

Lösung — CDC

Erfassen Sie Einfügungen, Aktualisierungen und Löschungen aus dem Änderungsstrom/Log der Datenbank. Typischerweise liest ein Connector bestätigte Änderungen und veröffentlicht sie als Ereignisse, zum Beispiel: logischer Replikationsstrom von PostgreSQL → Debezium-Connector → Kafka → Empfänger. SQL Server CDC zeichnet stattdessen Änderungen von seiner Transaktionsprotokollierung in Änderungstabellen auf, die ein Konnektor oder eine Anwendung liest. Der Konnektor sendet diese Änderungen an ein anderes System und speichert, wie weit er gelesen hat. Nach einem Neustart fährt er von dieser gespeicherten Position fort.
Datenbankaktualisierung
      ↓
CDC-Ereignis
      ↓
Verbraucher
Kerngedanke: CDC verwandelt Datenbankänderungen in einen konsumierbaren Strom von Änderungsinformationen.