Inhaltsverzeichnis
- Abstract
- Überblick
- Lernziele
- Zielgruppe
- Voraussetzungen
- Inhalte
- Praxis-Labs
- Technischer Rahmen
Abstract
Vertiefungsseminar für stabile Datenverträge: Interoperabilität über IPC/Parquet und das C Data Interface. Fokus auf Kompatibilität, Versionierung und Cross‑Language‑Bridges.
Dauer: 2 Tage
Format: Präsenz oder Live-Online
Überblick
Interop‑Projekte scheitern häufig an Details: Typ‑Stabilität, Dictionary‑Semantik, Zeitzonen, Large‑Types, Encoding‑Abweichungen und Schema‑Evolution.
Im Seminar werden robuste Strategien für Austausch, Validierung und Migration erarbeitet.
Lernziele
- IPC und Parquet gezielt für Austausch und Persistenz kombinieren
- C Data Interface für Zero‑Copy‑Bridges einordnen und korrekt anwenden
- Schema‑Evolution Regeln definieren und automatisiert prüfen
- Extension Types und Metadaten für domänenspezifische Verträge nutzen
- Kompatibilitäts‑Testmatrizen zwischen Toolchains aufbauen
Zielgruppe
- Plattform‑Teams mit mehreren Sprachen/Engines
- Data Engineers mit heterogenen Consumers
- Teams, die Datenverträge und Versionierung formal etablieren
Voraussetzungen
- Grundlagenwissen zu Arrow Datentypen und Schemas
- Erfahrung mit mindestens einer Implementierung (z. B. PyArrow oder Arrow Java)
- Basiswissen zu Parquet hilfreich
Inhalte
Modul 1: Austauschformate richtig auswählen
- IPC Stream/File: Einsatzgrenzen und Best Practices
- Parquet: Persistenz, Partitionierung, Kompatibilität
- Wann welcher Layer sinnvoll ist
Modul 2: C Data Interface
- Zielsetzung und Scope
- Ownership‑Modelle, Lifetime und Memory Safety
- Fehlerszenarien und Validierung
Modul 3: Schema‑Evolution und Verträge
- Additive Änderungen, Breaking Changes, Deprecation‑Strategien
- Metadaten‑Konventionen, Extension Types
- Kompatibilitätsregeln als automatisierte Tests
Modul 4: Interop‑Risikokatalog
- Zeitzonen und Timestamps
- Decimals und Precision/Scale
- Dictionary‑Stabilität und Sortierung
- Large Types und Grenzen in Clients
Praxis-Labs
Lab 1: IPC/Parquet Round‑Trip Tests
- Referenz‑Schema definieren und Beispieldaten generieren
- IPC Stream und IPC File erzeugen, wieder einlesen und validieren
- Parquet schreiben/lesen, Statistiken prüfen
- Round‑Trip‑Abweichungen systematisch dokumentieren
Lab 2: Contract‑Tests
- Kompatibilitätsregeln als Checks formulieren
- Breaking‑Change‑Szenarien erzeugen
- Automatisierte Testmatrix über mehrere Clients ausführen
- Report‑Format für CI ableiten
Lab 3: C Data Interface Bridge
- Objekte via C Data Interface übergeben
- Ownership/Lifetime korrekt implementieren
- Zero‑Copy vs. Fallback‑Copy messen
- Safety‑Checkliste und Guardrails definieren
Technischer Rahmen
- Beispielimplementierungen in Python, optional JVM/C++
- Lokale Testsuite, CI‑tauglich
- Keine externen Systeme erforderlich
- Optional: Container für Multi‑Runtime‑Matrix
