Datenformat
Ein Datenformat definiert die strukturierte Darstellung von Informationen zur Speicherung und Übertragung zwischen Systemen.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Inkompatible Schema-Änderungen führen zu Ausfällen
- Falsche Wahl eines Binärformats erschwert Debugging
- Fehlende Governance führt zu Wildwuchs an Formaten
- Verwende formale Schemadefinitionen und CI-Validierung
- Begrenze Breaking Changes durch kompatible Erweiterungen
- Dokumentiere Semantik und Beispiel-Payloads
I/O & Ressourcen
- Quellsysteme und Datenmodelle
- Anforderungen an Kompatibilität und Performance
- Verfügbare Bibliotheken und Laufzeitumgebungen
- Definiertes Schema und Serialisierungsregeln
- Implementierte Validierung und Tests
- Governance- und Migrationsrichtlinien
Beschreibung
Ein Data Format beschreibt die strukturierte Darstellung von Daten zur Speicherung, Übertragung und Interpretation zwischen Systemen. Es definiert Syntax, Semantik, Typen und Serialisierungskonventionen sowie Standardvereinbarungen (z. B. JSON, XML, Avro). Es umfasst auch Versionierung, Schema-Evolution und normative Regeln für Kompatibilität, Validierung, Performance und Erweiterbarkeit.
✔Vorteile
- Verbesserte Interoperabilität zwischen Systemen
- Erleichterte Validierung und Fehlererkennung
- Bessere Kompression und Performance bei geeigneten Formaten
✖Limitationen
- Format-Entscheidungen können spätere Migration erschweren
- Nicht alle Formate unterstützen komplexe Datentypen gleich gut
- Overhead durch Metadaten oder Serialisierungsschritt
Trade-offs
Metriken
- Schema-Kompatibilitätsrate
Prozentsatz der Änderungen, die kompatibel mit bestehenden Konsumenten sind.
- Payload-Größe
Durchschnittliche Bytes pro Nachricht/Datensatz zur Abschätzung Bandbreite und Speicher.
- Parsing-Latenz
Zeitbedarf für Serialisierung/Deserialisierung im Pfad der Datenverarbeitung.
Beispiele & Implementierungen
REST-API mit JSON Schema
Ein Service verwendet JSON Schema zur Validierung und Dokumentation seiner API-Payloads.
Event-Streaming mit Avro und Schema Registry
Ereignisse werden im Avro-Format serialisiert und über eine Registry versioniert.
Analytischer Data Lake mit Parquet
Batch-Daten werden als Parquet gespeichert, um Abfragen und Kompression zu optimieren.
Implementierungsschritte
Analyse der Anforderungen und bestehender Formate
Auswahl eines geeigneten Formats und Festlegung von Schemas
Einführung von Validierung, Registry und Dokumentation
⚠️ Technische Schulden & Engpässe
Tech Debt
- Veraltete Formatversionen ohne Migrationspfad
- Fehlende zentrale Registry für Schemas
- Ad-hoc Serialisierungsbibliotheken in Services
Bekannte Engpässe
Beispiele für Missbrauch
- Verwendung von CSV für komplex verschachtelte Strukturen
- Persistieren von Binär-JSON (BSON) ohne Kompatibilitätsregeln
- Direktes Ändern von Produktiv-Schemas ohne Tests
Typische Fallen
- Annahme, dass Textformate immer ausreichend sind
- Unterschätzen der Kosten für Schema-Migration
- Fehlende Überwachung von Inkompatibilitäten
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Vorhandene Verbraucher erwarten festes Schema
- • Regulatorische Vorgaben für Datenformate und Metadaten
- • Legacy-Systeme unterstützen nur begrenzte Formate