Wie wird 'Schema Drift' in einer Schema-on-Read Architektur automatisch erkannt und gehandhabt?

In einer Schema-on-Read Architektur erfolgt die Erkennung von Schema Drift primär durch den Abgleich der eingehenden Datenstrukturen mit einer definierten Baseline oder einem Eintrag in einer Schema Registry. Da die Daten im Rohformat gespeichert werden, verschiebt sich die Validierung in die Ingestion-Pipeline oder direkt in den Lese-Prozess.

Wir setzen zur automatischen Erkennung auf drei technische Ansätze:

  1. Schema Registry Integration: Bei jedem Lesezugriff oder während des Ingests wird die Version des Datensatzes mit einem zentralen Repository (z. B. Confluent Schema Registry oder AWS Glue Data Catalog) abgeglichen. Weicht die Struktur ab, wird ein Event ausgelöst.
  2. Metadaten-Scanning: Wir analysieren die Header-Informationen von Dateiformaten wie Parquet oder Avro. Neue Felder werden durch einen Vergleich der aktuellen Datei-Metadaten mit dem im Katalog hinterlegten Schema identifiziert.
  3. Typ-Validierung: Während der Transformation (z. B. in Spark oder Flink) prüfen wir die Datentypen der Spalten. Unerwartete Typänderungen führen zu einem Validierungsfehler.

Die Handhabung des erkannten Drifts erfolgt je nach Geschäftslogik über folgende Strategien:

StrategieErkennungsmethodeHandhabung
Full EvolutionMetadaten-ScanAutomatische Erweiterung des Zielschemas um neue Spalten (Additive Change).
Strict ValidationSchema RegistryBlockieren des Datensatzes und Routing in eine Dead Letter Queue (DLQ).
Schema MappingTyp-PrüfungDynamisches Casting von Datentypen oder Mapping auf Default-Werte.

Um diese Prozesse zu skalieren, integrieren wir automatisierte Monitoring-Alerts, die das Engineering-Team informieren, sobald eine strukturelle Änderung die Kompatibilitätsregeln verletzt. In komplexen Datenlandschaften nutzen wir KI-Lösungen & Integration, um Muster in den Drift-Events zu erkennen und die Schema-Evolution vorausschauend zu steuern.

Die Wahl der Handhabung hängt von der Kompatibilitätsrichtlinie ab (Backward, Forward oder Full Compatibility). Bei Backward Compatibility stellen wir sicher, dass neue Schemata Daten lesen können, die mit dem alten Schema geschrieben wurden.

Wir empfehlen den Einsatz einer zentralen Schema Registry mit strikten Kompatibilitätsregeln, da eine rein reaktive Handhabung im Read-Prozess die Pipeline-Stabilität gefährdet und zu inkonsistenten Analyseergebnissen führt.

Sergej Wiens

Sergej Wiens

Gründer & Software Architekt