DDL- und Schemaentwicklung verarbeiten

Erwartete Sequenz

Wenn sich eine Tabellendefinition ändert und die DDL-Erfassung aktiviert ist, kann der Stream den DDL-Datensatz bereitstellen und dann Objektmetadaten und tabellenspezifisches DML-Schema aktualisieren, bevor nachfolgende Datensätze die neue Definition verwenden. Die genaue Batchverarbeitung und Reihenfolge in WebSocket-Nachrichten sind Implementierungsdetails. Consumer müssen einen Schema- oder Metadatendatensatz immer dann verarbeiten, wenn er angezeigt wird.

Kompatible und inkompatible Änderungen

Ändern Typische Verbraucheraktion
Auf Null setzbare Spalte hinzufügen Akzeptieren Sie das neue Feld, und aktualisieren Sie das Downstream-Schema asynchron oder dynamisch.
Spalte hinzufügen, die nicht Null ist Bestätigen Sie das Standard-/Backfill-Verhalten, bevor Sie Datensätze anwenden.
Spalte löschen Schreiben Sie das Feld nicht mehr; bewahren Sie historische nachgelagerte Daten gemäß der Aufbewahrungs-Policy auf.
Spalte umbenennen Wird als "Drop plus hinzufügen" behandelt, es sei denn, es gibt einen gesteuerten Zuordnungsstatus.
Primitive JSON-Typ- oder Quellgenauigkeit ändern Validieren Sie die Konvertierung, Genauigkeit und nachgelagerte Kompatibilität, bevor Sie fortfahren.
Schlüsselspalten ändern Erstellen Sie die Idempotenz neu, führen Sie die Logik zusammen, und löschen Sie sie, bevor Sie Datensätze unter dem neuen Schlüssel konsumieren.

DDL-Verarbeitungs-Policy

Schema-Registry-Integration

Ein Consumer kann In-Band-JSON-Schemadatensätze in einer Unternehmensschema-Registry veröffentlichen. Behalten Sie die ursprüngliche id bei, verknüpfen Sie sie mit dem Datenstream und dem Deployment und Versionsänderungen, anstatt historische Schemadefinitionen zu überschreiben. Die Registry ergänzt das Laufzeitschema. Sie ersetzt weder Checkpoint noch das Recovery im Quelltrail.