Inhaltsverzeichnis
- Kurzprofil
- Rahmendaten
- Zielgruppe
- Voraussetzungen
- Lernziele
- Inhalte
- Praxisübungen
- Technische Umgebung
- Arbeitsvorlagen
Kurzprofil
Das Aufbauseminar vertieft Schema Evolution in Apache Avro. Im Fokus stehen Kompatibilitätsregeln, sichere Evolutionsmuster, typische Breaking Changes und ein pragmatischer Governance-Ansatz für produktive Datenverträge. Übungen führen Schritt für Schritt durch Design-Entscheidungen, Kompatibilitätsprüfungen und reproduzierbare Freigabeprozesse.
Rahmendaten
- Dauer: 1 Tag
- Niveau: Aufbau
- Format: Vertiefung, Pattern-Katalog, Hands-on-Checks
Zielgruppe
- Teams mit langlebigen Datenverträgen (Events, APIs, Datenfeeds)
- Architektur- und Plattformverantwortliche
- Qualitätssicherung und Engineering Enablement
Voraussetzungen
- Grundlagenwissen zu Avro-Schemas und Serialisierung
- Erfahrung mit Versionsmanagement (SemVer oder vergleichbar)
Lernziele
- Kompatibilitätsarten sicher unterscheiden (Backward, Forward, Full, Transitive)
- Schema-Auflösung für typische Änderungsfälle korrekt bewerten
- Evolutionsmuster anwenden: Felder hinzufügen/entfernen/umbenennen, Typänderungen
- Breaking Changes früh erkennen und vermeiden
- Kompatibilitätsprüfungen als CI-Gate etablieren
Inhalte
Modul 1: Kompatibilitätsmodelle und Regeln
- Writer/Reader-Auflösung als Entscheidungsgrundlage
- Backward/Forward/Full und Transitive-Varianten
- Konsequenzen für Producer- und Consumer-Rollout
Modul 2: Sichere Evolutionsmuster
- Feld hinzufügen mit Default Value
- Feld entfernen und Verbraucher-Strategien
- Umbenennen mit Aliases (Feld/Record/Namespace)
- Enum-Änderungen und Symbol-Strategien
Modul 3: Typänderungen, Unions und Logical Types
- Typ-Promotion und erlaubte Konvertierungen
- Union-Design (Nullability, Erweiterungen, Spezialfälle)
- Logical Types als Risiko- und Kompatibilitätsfaktor
Modul 4: Versionierung, Freigabe und Governance
- Schema-Versionierung: Branching, Tags, Release-Artefakte
- Review-Checklisten und Freigabekriterien
- Kompatibilitätsprüfungen als automatisierter Gatekeeper
- Migrations-Playbooks: Rollout, Rollback, Datenreprocessing
Praxisübungen
Lab 1: Kompatibilitätsmatrix aufbauen
- Ausgangsschema (v1) definieren und Testdatensätze erzeugen.
- Version v2 entwerfen (Feld hinzufügen, Default setzen) und Kompatibilität prüfen.
- Version v3 entwerfen (Umbenennung, Alias) und Kompatibilität prüfen.
- Ergebnisse als Matrix dokumentieren (Writer-Version × Reader-Version).
Lab 2: Breaking Changes erkennen
- Bewusst inkompatible Änderung erstellen (z. B. Default entfernen, Typwechsel).
- Fehlverhalten reproduzieren und Ursache klassifizieren.
- Änderung in kompatibles Muster überführen und erneut prüfen.
- Entscheidungsregeln als Teamkonvention festhalten.
Lab 3: CI-Gate für Schemas
- Schema-Repository-Struktur festlegen (Domäne, Event, Version).
- Checkliste für Review und Freigabe definieren.
- Automatisierte Prüfschritte skizzieren (Validierung, Compatibility, Naming).
- Freigabekriterium formulieren: Wann wird eine Schema-Version akzeptiert?
Technische Umgebung
- Tooling zur Schema-Validierung und Compatibility-Prüfung
- Git-basierte Versionsverwaltung für Schema-Artefakte
Arbeitsvorlagen
- Schema-Review-Checkliste (Naming, Defaults, Nullability, Docs)
- Kompatibilitätsmatrix-Template
- Migrations-Playbook-Template (Rollout, Rollback, Reprocessing)
