Debezium ist eine quelloffene Plattform für Change Data Capture (CDC). Sie läuft auf Apache Kafka Connect und erfasst Änderungen direkt aus den Transaktionsprotokollen unterstützter Datenbanken, ohne die Quelldatenbank nennenswert zu belasten.

Architektur

Debezium wird als Sammlung von Connectors für Kafka Connect betrieben. Ein Connector überwacht das Transaktionslog einer Datenbank — PostgreSQL (WAL), MySQL (Binlog), MongoDB (Oplog), SQL Server, Oracle, Db2 und weitere — und schreibt jede Zeilenänderung als strukturiertes Ereignis in ein Kafka-Topic. Neben dem Betrieb in Kafka Connect kann Debezium auch als eingebettete Engine direkt in Java-Anwendungen laufen.

Typische Nutzung

  • Echtzeit-Synchronisierung von Caches, Suchindizes und Datenbank-Replikaten
  • Befüllung von Data Warehouses und Stream-Processing-Pipelines
  • Veröffentlichung von Datenbank-Ereignissen für event-getriebene Architekturen

Debezium und das Outbox-Muster

Zusammen mit dem Transactional Outbox-Muster löst Debezium das Dual-Write-Problem: Die Anwendung schreibt Fachdaten und Ereignis in derselben Transaktion, und Debezium publiziert die Ereigniszeilen aus der Outbox-Tabelle zuverlässig an den Message Broker.

Verwandte Grundlagen: Event Sourcing, Kafka-Befehle, Saga-Muster.