Wie ich meine Daten in Echtzeit versenke und sie immer wiederfinde
Daten – “das Öl des 21. Jahrhunderts” – kommen heutzutage in vielen technologisierten Bereichen eine zentrale Rolle zu: Daten ermöglichen es, Fragen zu beantworten, auf die wir zuvor keine oder keine zufriedenstellenden Antworten gefunden haben. Typische Anwendungsfälle für die Auswertung großer Datenmengen finden sich u. a. a) im Marketing von Produkten, um Kosten zu senken, b) im Bereich des Supply Chain Management, um Lieferketten zu optimieren, oder c) um in Echtzeit eine Maschinen-Anlagenüberwachung und Steuerung durchzuführen.
Damit Daten für solche Anwendungsfälle auch tatsächlich herangezogen werden können, müssen Daten strukturiert gesammelt, aufbereitet, und analysiert werden – unvollständige oder nicht verständliche Daten senken die Belastbarkeit der Schlüsse, die aus diesen Daten gezogen werden. Das strukturierte Sammeln, Aufbereiten, und Analysieren von Daten ist jedoch nicht trivial. Neben fachlichen Herausforderungen – wie: Welche Daten werden benötigt? Woher können die Daten beschafft werden? Wie müssen die Daten transformiert werden, damit sie genutzt werden können? – stellen sich technische Herausforderungen. So müssen beispielsweise a) die technischen Voraussetzungen geschaffen sein, um Daten aus mehreren (externen) Datenquellen – ggf. In Echtzeit – laden zu können, b) adäquate Speichermöglichkeiten genutzt werden, sodass die Daten auch in einem oder zwei Jahrzehnten noch effizient genutzt werden können, oder c) die Datenaufbereitung und -analyse performant ist, damit Fragen in einem zufriedenstellenden zeitlichen Rahmen auch tatsächlich beantwortet werden können. Darüber hinaus gibt es nicht leicht zu erfüllende Anforderungen, wie die der Sicherheit, die keinen direkten fachlichen oder technischen Mehrwert bieten, jedoch das Fundament der Datenspeicherung und -nutzung darstellen.
Um diese vielschichtigen fachlichen und technischen Herausforderungen lösen zu können, benötigt man eine Datenplattform, die den vollständigen Datenlebenszyklus unterstützt. Das heißt, eine Datenplattform ermöglicht
- das Beschaffen aus unterschiedlichsten (Dritt-)Systemen, ggf. in Echtzeit,
- das langjährige Speichern von Daten,
- das Auf- und Vorbereiten von Daten,
- sowie darauf aufbauend eine flexible Nutzung. Beispielsweise können die Daten für Reportings, Visualisierungen, oder Data-Science-Zwecke eingesetzt werden oder auch Drittsystemen zur Verfügung gestellt werden.
Hier beschreiben wir eine Referenzarchitektur für Datenplattformen. Diese Referenzarchitektur baut auf der Architektur für ein klassisches Data Warehouse auf und ist darüber hinaus in Kontexten relevant, in denen
- die technischen Limitierungen der Data-Warehouse-Architektur überwunden werden müssen, beispielsweise, weil Daten in Echtzeit von Drittsystemen geladen und analysiert werden müssen oder
- fachliche Use-Cases abgedeckt werden müssen, die über die Data-Warehouse-Architektur hinausgehen, beispielsweise das Beantworten von Fragen auf Basis von Machine Learning (ML) Modellen, welche auch innerhalb der Plattform trainiert werden.
Im Folgenden beschäftigen wir uns zunächst mit der Definition des Begriffs „Datenplattform“, erläutern die Ziele und Qualitätsanforderungen, und beschreiben dann die verschiedenen Komponenten im Detail.
Einführung in Datenplattformen
In diesem Kapitel definieren wir die Begriffe “Data Warehouse” und “Datenplattform”, grenzen diese beiden Begriffe inhaltlich voneinander ab, und beschreiben die Ziele, die mit einer Datenplattform verfolgt werden sowie wichtige Qualitätsanforderungen an eine Datenplattform.
Definition “Data Warehouse”
Wenn wir in diesem Dokument den Begriff “Data Warehouse” verwenden, meinen wir damit “eine für Analysezwecke optimierte zentrale Datenbank, die Daten aus mehreren, in der Regel heterogenen Quellen zu einem gemeinsamen konsistenten Datenbestand zusammenführt und die Basis für die Aggregation von betrieblichen Kennzahlen und darauf aufbauende Analysen ist” (vgl. [1]).
Definition “Datenplattform”
Der Begriff “Datenplattform” bezeichnet eine Erweiterung des Data Warehouse um a) erweiterte und flexiblere Datenbeschaffungsmöglichkeiten, b) umfangreichere Möglichkeiten der Exploration, Analyse, Visualisierung und Nutzung der Daten im Allgemeinen, sowie c) die Bereitstellung von Diensten für Drittsysteme.
“Eine Datenplattform stellt somit ein vollständiges Ende-zu-Ende-Management inkl. technischer Infrastruktur für Daten bereit, das von allen Bereichen einer Organisation genutzt werden kann, die auf effiziente Weise Mehrwert aus Daten ziehen müssen“ (vgl. [2]).
Wesentliche Verantwortlichkeiten einer Datenplattform
Aus den obigen Definitionen für “Data Warehouse” und “Datenplattform” geht hervor, dass eine Datenplattform alle Verantwortlichkeiten hat, die ein Data Warehouse auch besitzt, und darüber hinaus weitere Verantwortlichkeiten hinzukommen. Diese weiteren Verantwortlichkeiten sorgen dafür, dass eine Datenplattform einen Business Value erzeugt, der von einem Data Warehouse nicht erzeugt werden kann.
Aus der Vogelperspektive sind die wesentlichen Verantwortlichkeiten einer Datenplattform die Folgenden:
- Über Push- und/oder Pull-Mechanismen in Echtzeit und/oder über zeitgesteuerte Batch-Prozesse heterogene Daten aus einer oder mehreren externen Quellen zu beschaffen,
- Die aus den externen Quellen beschafften Daten in verschiedenen Stufen zu speichern – wie beispielsweise die Rohdaten oder für bestimmte Analysen vorbereitete Daten –, und auf der Basis dieser unterschiedlichen internen Datenformate verschiedene Funktionalitäten zu ermöglichen, wie:
- Replay-Fähigkeit der Datenbeschaffung,
- umfangreiche Reporting- und Visualisierungs-Möglichkeiten (in Echtzeit),
- Schnittstellen für Machine Learning und Data Science Anwendungsfälle, und
- die Bereitstellung von Diensten und Daten für Drittsysteme