Der Data Engineering Lifecycle
Daten sind das Gold des 21. Jahrhunderts und Data Scientist is the sexiest job of the century. Diese plakativen Aussagen setzen voraus, dass überhaupt Daten vorhanden sind. Data Engineers pflegen den Data Engineering Lifecycle. Wir beleuchten die Etappen des Datenlebenszyklus und Aufgaben der Data Engineers.
Data Scientist is the sexiest job of the 21st century. So titelte 2012 der Harvard Business Review.
Plötzlich wollte jeder Data Scientist sein, schrieb es auf seine Visitenkarte und belegte vielleicht sogar einen der inflationär entstandenen Lehrgänge.
Die Ernüchterung war groß: Viele Algorithmen und noch mehr Mathematik. Wahre Data Science ist nicht jedermanns Sache.
Doch auch die Erfolge waren und sind groß – künstliche Intelligenz wird immer besser und sinnvoll anwendbar für alle.
Und jetzt mausert sich eine neue Job-Bezeichnung: Data Engineer. Ist das der “real sexiest Job“?
Was macht ein Data Engineer überhaupt?
Der Data Engineering Lifecycle beantwortet diese Frage am besten. Verfolgen wir also den ‘Lebenszyklus’ von Business-Daten.
Daten generieren
Jede App, jeder Sensor, jede Enterprise Anwendung, jeder Server – alle erzeugen Daten. Am Ursprung tippt vielleicht ein Mensch Daten ein oder eine Maschine generiert Daten. Daten fallen auf den unterschiedlichsten Endgeräten und in den unterschiedlichsten Formaten an.
Daten sind nicht Selbstzweck. Der Rohstoff ‘Daten’ muss also gewonnen und zusammengeführt werden, um daraus wichtige Erkenntnisse abzuleiten, die zu Business-Entscheidungen führen. Dazu gehört die Überwachung der Server genauso wie die Überwachung der Umsatzzahlen.
Der Data Engineering Lifecycle beschreibt die Schritte von der Datenquelle bis hin zur geschäftsrelevanten Kennzahl.
Daten speichern
Das Gold des 21. Jahrhunderts sind Daten. Werden die Daten nicht dauerhaft gespeichert, dann gehen sie sofort verloren und mit ihnen das vermeintliche Gold. Es werden immer mehr Daten und so benötigen wir immer größere Datenspeicher.
Daten sollen verlustfrei gespeichert werden. “Speicherplatz kostet ja nichts”, das ist eine oft gehörte Aussage und sie ist mit Vorsicht zu genießen. Sicher auch in einer Zeit, in der das Thema Energieknappheit immer lauter diskutiert wird.
Mit dem Speicherplatz geht die Datenübertragung einher, sowohl eingehend als auch ausgehend. Wer Daten speichert, kümmert sich um die Formatierung, Kompression, Sicherung, und Organisation der Daten.
Je nach Datenmengen stehen unterschiedliche Technologien zur Verfügung, die vertikal oder horizontal skalieren. Lohnt sich Big-Data-Technologie – die Frage wird sorgfältig abgeklärt. Dazu gehört die Frage, ob die Daten auf einem Filesystem wie HDFS oder in einem Event Hub wie Apache Kafka aufzubewahren sind.
Daten abholen
Die Daten werden von ihrer Quelle in den Speicher geleitet. Der Fachausdruck ist ‘Ingestion’. Dabei darf nichts verloren gehen und nichts sollte verdoppelt werden.
Die Möglichkeiten reichen von Batch-Verarbeitung bis zur Echtzeitverarbeitung.
- Export aus dem Quellsystem und Import im Datenspeicher.
- Echtzeit-Daten gewinnen, on the fly transformieren und speichern.
Die Daten können in zeilenorientierten Formaten vorliegen oder auch spaltenorientiert. Sie können komprimiert sein und sie können in einem beliebigen Zeichensatz angeliefert werden.
Sie können in unregelmäßigen Abständen, beispielsweise ein Mal pro Monat oder kontinuierlich angeliefert werden.
Quelle kann ein Fremdsystem sein oder auch eine Eigenentwicklung.
Daten transformieren
Daten werden in nahezu beliebigen Formaten erzeugt und werden zur Weiterverarbeitung bereinigt und transformiert. Detailarbeit manchmal, jedoch mit großer Verantwortung verbunden. Relevantes ist von irrelevantem zu trennen und die Transformation darf keinen Sachverhalt verfälschen.
Datenformate werden erkannt, Veränderungen in den Datenformaten nachvollzogen, Ausreißer gefunden und Duplikate entfernt. Zeichensätze bereinigt und überflüssige Informationen entfernt.
Spätestens bei diesem Schritt werden Daten gesetzeskonform anonymisiert.
Daten ausliefern
Die Daten werden bereitgestellt für die Data Scientisten und Datenanalysten. Dazu gehören auch die Beschreibung der Daten, der Fileformate, der Datenquelle, und der Semantik der Daten, genauso wie die Bestimmung der Wertebereiche.
Die Daten können in Dateien ausgeliefert werden oder auch in Echtzeit. Die Zugriffsrechte auf die Daten und die Zuständigkeiten müssen klar sein.
Aufgaben der Data Engineers
Data Engineers planen, implementieren und betreuen den gesamten Data Engineering Lifecycle. Dazu wählen sie Tools und Technologien aus, stellen Infrastruktur bereit, holen die Daten von der Quelle ab und stellen sie bereit für die Analyse.
Ohne Data Engineer sind die Data Scientists und Analysten ohne Rohmaterial. Dank der Data Engineers schürfen sie das Datengold.
Data Engineers sind also “systemrelevant”. Und wie die meisten systemrelevanten Jobs werden sie oft als selbstverständlich hingenommen.
Ausbildung des Data Engineers
Ein Data Engineer verfügt über eine solide Informatiker-Ausbildung. Am besten mit einigen Jahren Erfahrung als Software-Engineer. Er muss nicht nur eng mit den Software-Engineers zusammenarbeiten, sondern oftmals auch Code entwickeln.
Ein Data Engineer hat nicht nur den Überblick über die Tool-Landschaft, sondern kennt auch die Funktionsweise der Tools. Dazu gehören auch die Open-Source Tools einer Real-Time Data Pipeline.
Bei den wachsenden Datenmengen sind das oft Big-Data-Tools und diese basieren auf verteilten Systemen.
Die Orchestrierung verteilter Systeme ist anspruchsvoll und die Data Engineers sind dafür verantwortlich.
Vielleicht klickt sie dazu letztendlich in der Cloud etwas zusammen. Es wäre fatal zu behaupten, dass Data Engineers deswegen kein Verständnis für die eingesetzten Tools benötigen.
Abgrenzung zu Data Scientist und Analyst
Data Scientists und Analysts benötigen also ab die Zuarbeit der Data Engineers.
Beide Tätigkeitsgebiete gab es schon lange, bevor sie so bezeichnet wurden. Und es wird sie noch geben, auch wenn sie nicht mehr so genannt werden. Auch die Trennung ist nicht immer ganz klar, Grenzen verwischen, gerade wenn es um Transformation der Daten und Auswahl von Tools geht.
Data Engineering, Cloud und Big Data
Die Tätigkeiten der Data Engineers sind unabhängig von den Datenmengen. Für überschaubare Mengen werden Data Engineers ebenso die geeigneten Tools und Infrastrukturen auswählen wie für sehr große Datenmengen.
Gute Data Engineers kennen sich also aus mit der Big-Data-Tool-Landschaft. Diese Tools basieren auf verteilten Systemen, deren Verwaltung viel komplexer ist als bei nicht-verteilten Systemen.
Unabhängig von der Datenmenge werden Data Engineers bei der Entscheidung mitwirken, ob die Daten in der Cloud zu halten sind. Diese strategische Entscheidung muss unternehmensweit getragen werden. Ein Data Engineer wird das Pro und Contra für Cloud-Lösungen abwägen können.
Fazit
Data Engineering ist eine vielfältige und anspruchsvolle Tätigkeit. Der beschriebene Lifecycle wird Bestand haben, die Benennungen ändern sich mit der Zeit, die Tool-Landschaften werden weiterentwickelt und die Data Engineers werden mit den Entwicklungen Schritt halten.