Da wir die eingehenden Daten in zahlreichen Systemen unserer Datenpipeline verarbeiten, ist eine ordnungsgemäße Schemaverwaltung unerlässlich. Die Daten müssen auf die gleiche Weise behandelt werden, unabhängig davon, ob wir sie für unsere Frontend-Apps oder innerhalb unserer KI-/ML-Plattform verarbeiten. Dies ist umso wichtiger, wenn man bedenkt, dass sich die Struktur, Qualität und andere Parameter der eingehenden Daten im Laufe der Zeit ändern. Mit anderen Worten: Ein aktualisiertes Schema in den Quellsystemen darf nicht zu Ausfällen in nachgelagerten Systemen führen. Die Schema-Registry ermöglicht eine versionierte Schemaverwaltung und -evolution sowie zusätzliches Tagging (wie DSGVO) und vieles mehr.
Beachte, dass in der am Anfang dieses Artikels dargestellten Referenzarchitektur sowohl der Message Queue als auch der Schema-Registry die RESTful-Schnittstelle vorangestellt ist. Da wir Protokolle gegenüber spezifischen Tools bevorzugen, wird anstelle von nativen Clients die REST-API verwendet.
Batch-Quellen werden am besten durch Batch Ingestion bedient, da sie typischerweise regelmäßig (wie beispielsweise der tägliche DWH-Export) oder nach Bedarf (wie im Fall einer Abteilung, die einen einmaligen Datensatz lädt) geplant werden. Ein skalierbarer und hochbeständiger Storage Service ist die bevorzugte Wahl, um strukturierte, halbstrukturierte und unstrukturierte Daten an einem Ort zu speichern und so das oben beschriebene Problem der Datensilos zu vermeiden. Wir empfehlen Funktionen wie Geofencing, Speicherklassen (Unterscheidung zwischen Hot und Cold Storage), Objektlebenszyklusmanagement (automatischer Wechsel der Speicherklasse nach einem bestimmten Zeitraum), Versionierung, Unterstützung für den Umgang mit statischen Inhalten (beispielsweise statische Inhalte für Web-Anwendungen), Encryption-at-rest, detaillierte Sicherheitsrichtlinien usw.