Data Engineer und Data Scientist: Was ist der Unterschied ĂŒberhaupt?

Die Berufe Data Scientist und Data Engineer werden oft verwechselt. Jede Firma hat ihre eigene spezifische Art der Datenverarbeitung, unterschiedliche Analyseziele und unterschiedliche Auffassungen darĂŒber, welche Aufgaben die Spezialisten ĂŒbernehmen sollten, weshalb auch die Anforderungen variieren. 

Wir klĂ€ren, was der Unterschied zwischen diesen Spezialisten ist, welche geschĂ€ftlichen Aufgaben sie lösen, ĂŒber welche FĂ€higkeiten sie verfĂŒgen und wie viel sie verdienen. Das Material ist umfangreich, weshalb wir es in zwei Publikationen aufgeteilt haben.

Im ersten Artikel erzĂ€hlt Elena Gerasimova, Leiterin des Fachbereichs „Data Science und Analytics“ bei Netology, welchen Unterschied es zwischen Data Scientist und Data Engineer gibt und mit welchen Werkzeugen sie arbeiten.

Wie sich die Rollen von Ingenieuren und Wissenschaftlern unterscheiden

Ein Data Engineer ist ein Fachmann, der auf der einen Seite die Infrastruktur fĂŒr die Datenverarbeitung entwickelt, testet und pflegt: Datenbanken, Speicher und Systeme zur Massenverarbeitung. Auf der anderen Seite ist er dafĂŒr verantwortlich, die Daten fĂŒr die Verwendung durch Analysten und Data Scientists zu bereinigen und aufzubereiten, sprich, er erstellt Datenverarbeitungs-Pipelines.

Ein Data Scientist erstellt und trainiert prÀdiktive (und nicht nur prÀdiktive) Modelle mithilfe von Algorithmen des maschinellen Lernens und neuronalen Netzen, um dem Unternehmen zu helfen, versteckte Muster zu finden, Ereignisentwicklungen vorherzusagen und wichtige GeschÀftsprozesse zu optimieren.

Der Hauptunterschied zwischen Data Scientist und Data Engineer liegt darin, dass sie in der Regel unterschiedliche Ziele verfolgen. Beide arbeiten daran, dass die Daten zugĂ€nglich und von hoher QualitĂ€t sind. Der Data Scientist sucht Antworten auf seine Fragen und prĂŒft Hypothesen im Datenökosystem (zum Beispiel auf Basis von Hadoop), wĂ€hrend der Data Engineer eine Pipeline zur Wartung des vom Data Scientist erstellten maschinellen Lernalgorithmus im Spark-Cluster innerhalb desselben Ökosystems erstellt. 

Der Data Engineer bringt dem Unternehmen Wert, indem er im Team arbeitet. Seine Aufgabe besteht darin, ein wichtiges Bindeglied zwischen verschiedenen Akteuren zu sein: von Entwicklern bis zu geschĂ€ftlichen Nutzern von Berichten, und die ProduktivitĂ€t der Analysten — von Marketing- und Produktanalysen bis hin zu BI — zu steigern. 

Der Data Scientist hingegen beteiligt sich aktiv an der Unternehmensstrategie und an der Gewinnung von Insights, der Entscheidungsfindung, der Implementierung von Automatisierungsalgorithmen, der Modellierung und der Generierung von Werten aus Daten.
Data Engineer und Data Scientist: Was ist der Unterschied ĂŒberhaupt?

Die Arbeit mit Daten folgt dem GIGO-Prinzip (garbage in — garbage out): Wenn Analysten und Data Scientists mit unvorbereiteten und potenziell fehlerhaften Daten arbeiten, werden selbst mithilfe der ausgeklĂŒgeltsten Analysetools die Ergebnisse falsch sein. 

Data Engineers lösen dieses Problem, indem sie Pipelines fĂŒr die Verarbeitung, Bereinigung und Transformation von Daten aufbauen und es dem Data Scientist ermöglichen, mit qualitativ hochwertigen Daten zu arbeiten. 

Der Markt bietet viele Werkzeuge zur Datenverarbeitung, die jede Phase abdecken: vom Entstehen der Daten bis zur Anzeige auf dem Dashboard fĂŒr die GeschĂ€ftsfĂŒhrung. Es ist wichtig, dass die Entscheidung ĂŒber ihren Einsatz vom Ingenieur getroffen wird — nicht, weil es in Mode ist, sondern weil es tatsĂ€chlich den anderen Beteiligten im Prozess helfen wird. 

Bedarfsweise: Wenn ein Unternehmen BI und ETL zusammenfĂŒhren möchte — die Datenladeprozesse und die Aktualisierung von Berichten, dann ist hier die typische Legacy-Infrastruktur, mit der sich ein Data Engineer auseinandersetzen muss (es wĂ€re gut, wenn es im Team neben ihm auch einen Architekten gibt).

Aufgaben des Data Engineers

  • Entwicklung, Aufbau und Wartung der Infrastruktur zur Datenverarbeitung.
  • Fehlerbehandlung und Erstellung zuverlĂ€ssiger Datenverarbeitungspipelines.
  • Umwandlung unstrukturierter Daten aus verschiedenen dynamischen Quellen in ein Format, das fĂŒr Analysten erforderlich ist.
  • Bereitstellung von Empfehlungen zur Verbesserung der Konsistenz und QualitĂ€t von Daten.
  • Bereitstellung und UnterstĂŒtzung der Datenarchitektur, die von Data Scientists und Datenanalysten verwendet wird.
  • Verarbeitung und Speicherung von Daten konsistent und effizient in einem verteilten Cluster aus Dutzenden oder Hunderten von Servern.
  • Bewertung technischer Kompromisse von Werkzeugen zur Schaffung einfacher, aber robuster Architekturen, die AusfĂ€lle ĂŒberstehen können.
  • Überwachung und UnterstĂŒtzung der Datenströme und der zugehörigen Systeme (Einrichtung von Monitoring und Alerts).

Es gibt eine weitere Spezialisierung innerhalb der Laufbahn des Data Engineers — ML Engineer. Kurz gesagt, solche Ingenieure spezialisieren sich darauf, Modelle fĂŒr maschinelles Lernen in den produktiven Einsatz zu bringen. Oft ist das Modell, das vom Data Scientist kommt, Teil einer Untersuchung und funktioniert möglicherweise nicht unter Produktionsbedingungen.

Aufgaben des Data Scientists

  • Extraktion von Merkmalen aus Daten zur Anwendung von Algorithmen des maschinellen Lernens.
  • Einsatz verschiedener Machine-Learning-Tools zur Prognose und Klassifizierung von Mustern in Daten.
  • Steigerung der Leistung und Genauigkeit von Machine-Learning-Algorithmen durch Feineinstellung und Optimierung der Algorithmen.
  • Entwicklung "starker" Hypothesen gemĂ€ĂŸ der Unternehmensstrategie, die zu ĂŒberprĂŒfen sind.

Sowohl Data Engineers als auch Data Scientists tragen wesentlich zur Entwicklung einer datenbasierten Arbeitskultur bei, durch die das Unternehmen zusÀtzlichen Gewinn erzielen oder Kosten senken kann.

Mit welchen Programmiersprachen und Werkzeugen arbeiten Ingenieure und Wissenschaftler?

Heutzutage haben sich die Erwartungen an Datenverarbeitungs-Spezialisten geĂ€ndert. FrĂŒher erstellten Ingenieure umfangreiche SQL-Abfragen, schrieben MapReduce von Hand und verarbeiteten Daten mit Tools wie Informatica ETL, Pentaho ETL, Talend. 

Im Jahr 2020 kommt kein Spezialist ohne Kenntnisse in Python und modernen Berechnungstools (z. B. Airflow) aus, ebenso wie ein VerstĂ€ndnis der Funktionsweise von Cloud-Plattformen (einsetzen zur Einsparung bei der Hardware unter BerĂŒcksichtigung der Sicherheitsprinzipien).

SAP, Oracle, MySQL, Redis — das sind die fĂŒr Dateningenieure typischen Werkzeuge in großen Unternehmen. Sie sind gut, aber die Lizenzkosten sind so hoch, dass es nur in Industrieprojekten sinnvoll ist, damit zu lernen. Es gibt jedoch eine kostenlose Alternative in Form von Postgres — es ist kostenlos und eignet sich nicht nur zum Lernen. 

Data Engineer und Data Scientist: Was ist der Unterschied ĂŒberhaupt?
Historisch gesehen wird oft nach Java und Scala gefragt, obwohl diese Sprachen mit der Weiterentwicklung von Technologien und AnsÀtzen in den Hintergrund treten.

Dennoch sind hardcore Big Data-Technologien wie Hadoop, Spark und der gesamte Zoo nicht mehr zwingend Voraussetzung fĂŒr Dateningenieure, sondern eine Art von Werkzeugen zur Lösung von Aufgaben, die mit herkömmlichem ETL nicht gelöst werden können. 

Im Trend liegen Dienste, die die Verwendung von Tools ohne Kenntnisse der Programmiersprache ermöglichen, in der sie geschrieben wurden (z. B. Hadoop ohne Java-Kenntnisse), sowie die Bereitstellung fertiger Dienste zur Verarbeitung von Streaming-Daten (Spracherkennung oder Bildanalyse in Videos).

Industrielle Lösungen von SAS und SPSS sind beliebt, wobei auch Tableau, Rapidminer, Stata und Julia von Data Scientists fĂŒr lokale Aufgaben hĂ€ufig verwendet werden.

Data Engineer und Data Scientist: Was ist der Unterschied ĂŒberhaupt?
Die Möglichkeit, selbst Pipelines zu erstellen, gab es fĂŒr Analysten und Data Scientists erst vor ein paar Jahren: Bereits mit relativ einfachen Skripten können Daten in ein auf PostgreSQL basierendes Repository geleitet werden. 

In der Regel liegen die Nutzung von Pipelines und integrierten Datenstrukturen im Verantwortungsbereich von Data Engineers. Doch heute ist der Trend zu T-förmigen Spezialisten stĂ€rker denn je – mit breiten Kompetenzen in verwandten Bereichen, da die Werkzeuge stĂ€ndig vereinfacht werden.

Warum Data Engineers und Data Scientists zusammenarbeiten sollten

Durch enge Zusammenarbeit mit Ingenieuren können Data Scientists sich auf den Forschungsaspekt konzentrieren und einsatzbereite Algorithmen fĂŒr maschinelles Lernen entwickeln.
Die Ingenieure hingegen können sich auf Skalierbarkeit, Wiederverwendbarkeit von Daten konzentrieren und sicherstellen, dass Daten-Ein- und -Ausgabepipelines in jedem einzelnen Projekt mit der globalen Architektur ĂŒbereinstimmen.

Diese Aufteilung der Verantwortlichkeiten sorgt fĂŒr Konsistenz zwischen den Gruppen von Fachleuten, die an verschiedenen Projekten des maschinellen Lernens arbeiten. 

Die Zusammenarbeit hilft, neue Produkte effektiv zu schaffen. Geschwindigkeit und QualitĂ€t werden erreicht, durch das Gleichgewicht zwischen dem Aufbau eines Services fĂŒr alle (globale Speicherung oder Integration von Dashboards) und der Umsetzung jeder spezifischen Anforderung oder jedes Projekts (spezialisierte Pipeline, Anbindung externer Quellen). 

Die enge Zusammenarbeit mit Data Scientists und Analysten hilft Ingenieuren, analytische und forschungsbasierte FĂ€higkeiten zu entwickeln, um qualitativ besseren Code zu schreiben. Der Wissensaustausch zwischen den Nutzern von Speicher- und Datenbanken wird verbessert, was die Projekte flexibler macht und nachhaltigere Ergebnisse sichert.

In Unternehmen, die sich zum Ziel gesetzt haben, eine Datenkultur zu entwickeln und GeschÀftsprozesse darauf aufzubauen, ergÀnzen sich Data Scientists und Data Engineers und schaffen ein vollstÀndiges System zur Datenanalyse. 

Im nĂ€chsten Material werden wir darĂŒber sprechen, welche Ausbildung Data Engineers und Data Scientists haben sollten, welche FĂ€higkeiten sie entwickeln mĂŒssen und wie der Markt strukturiert ist.

Von der Redaktion von Netology

Wenn Sie sich fĂŒr die Berufe Data Engineer oder Data Scientist interessieren, laden wir Sie ein, unsere Kursprogramme zu erkunden:

Quelle: habr.com

60GB SSD 8Gb DDR4