Datenbereitstellung
Architekturprinzip zur zuverlässigen Bereitstellung kuratierter Daten für verschiedene Konsumenten mit definierten Latenz-, Format- und Zugriffsanforderungen.
Klassifikation
- KomplexitätHoch
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Inkonsistente Sicht auf Daten führt zu falschen Entscheidungen.
- Performance-Engpässe in Serving-Schicht unter Lastspitzen.
- Hohe Betriebskosten bei unkontrolliertem Materialisieren und Caching.
- Definiere klar messbare SLAs und SLOs für Servierpfade.
- Nutze geeignete Storage-Engines je nach Zugriffsmuster.
- Versioniere Views und Features, dokumentiere Breaking Changes.
I/O & Ressourcen
- Quell-Datenströme oder Batch-Exporte
- Schema-, Index- und Metadatendefinitionen
- Anforderungen an Latenz, Konsistenz und Zugriffskontrolle
- Servierte APIs, materialisierte Sichten und Caches
- Metriken zu Latenz, Freshness und Fehlerraten
- Dokumentierte SLAs und Zugriffspfade für Konsumenten
Beschreibung
Data Serving bezeichnet das Architekturprinzip, kuratierte Daten mit definierten Latenz-, Format- und Zugriffsgarantien an Konsumenten bereitzustellen. Es umfasst APIs, materialisierte Sichten, Caches und spezialisierte Serving-Engines für Analysen, operative Workloads und Feature-Abrufe. Designentscheidungen balancieren Aktualität, Skalierbarkeit, Kosten und Konsistenz.
✔Vorteile
- Geringere Latenz bei Lesezugriffen und bessere Nutzererfahrung.
- Entkopplung von Backend-Processing und Konsumenten-Workloads.
- Ermöglicht spezialisierte Optimierungen für unterschiedliche Zugriffsmuster.
✖Limitationen
- Erhöhter Betriebsaufwand durch zusätzliche Komponenten wie Caches oder Stores.
- Komplexität bei Konsistenz und Cache-Invalidierung über verteilte Systeme.
- Kosten durch redundante Speicherung oder spezielle Serving-Engines.
Trade-offs
Metriken
- P95-Latenz
95. Perzentil der Antwortzeiten für Lesezugriffe; wichtig für SLA-Messung.
- Staleness (Datenalter)
Zeitdifferenz zwischen Quelle und servierter Ansicht; misst Aktualität.
- Cache-Hit-Rate
Verhältnis von Treffern zu Anfragen im Cache; Indikator für Effizienz.
Beispiele & Implementierungen
E-Commerce-Produktkatalog
Materialisierte Sichten und Cache-Layer liefern Produkt- und Preisdaten mit garantierter Latenz für Checkout und Suche.
Monitoring-Dashboards
Aggregierte Metriken und Zeitreihendaten werden in optimierten Serving-Engines bereitgestellt, um Echtzeit-Alerts zu ermöglichen.
Personalisierte Empfehlungen
Feature-Retrieval-Pfade stellen Nutzermerkmale schnell für Empfehlungs-Engines bereit und synchronisieren mit Batch-Trainingsdaten.
Implementierungsschritte
Analyse der Konsumentenanforderungen (Latenz, Volumen, Konsistenz).
Entwurf von Serving-Pfaden: APIs, materialisierte Sichten, Caches.
Implementierung der Infrastruktur, Monitoring und SLOs.
Schrittweise Einführung und Messung gegen definierte Metriken.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Ad-hoc-Caching ohne klare Lebensdauer und Invalidation.
- Monolithische Serving-Komponenten ohne Skalierungspfad.
- Fehlende Versionierung von servierten Sichten und APIs.
Bekannte Engpässe
Beispiele für Missbrauch
- Caching kritischer Transaktionsdaten ohne Invalidierungsstrategie.
- Feature-Serving ohne Versionierung führt zu inkonsistenten ML-Inferenz-Ergebnissen.
- Materialisierte Sichten für seltene Abfragen, die hohen Speicherbedarf erzeugen.
Typische Fallen
- Unterschätzung der Kosten für Replikation und Speicher.
- Fehlende End-to-End-Validierung der Datenqualität in Serving-Pfaden.
- Komplexe Invalidierungslogik führt zu schwer auffindbaren Bugs.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Budget- und Kostenrahmen für redundante Speicherung
- • Bestehende Datenmodelle und Compliance-Anforderungen
- • Limitierungen durch Drittanbieter-Services oder Cloud-Quoten