Handbuch Data Engineering - Joe Reis - E-Book

Handbuch Data Engineering E-Book

Joe Reis

0,0

Beschreibung

Der praxisnahe Überblick über die gesamte Data-Engineering-Landschaft - Das Buch vermittelt grundlegende Konzepte des Data Engineering und beschreibt Best Practices für jede Phase des Datenlebenszyklus - Mit dem Data-Engineering-Lifecycle bietet es einen konzeptionellen Rahmen, der langfristig Gültigkeit haben wird - Es unterstützt Sie - jenseits des Hypes - bei der Auswahl der richtigen Datentechnologien, Architekturen und Prozesse und verfolgt den Cloud-First-AnsatzData Engineering hat sich in den letzten zehn Jahren rasant weiterentwickelt, so dass viele Softwareentwickler, Data Scientists und Analysten nach einer zusammenfassenden Darstellung grundlegender Techniken suchen. Dieses praxisorientierte Buch bietet einen umfassenden Überblick über das Data Engineering und gibt Ihnen mit dem Data-Engineering-Lifecycle ein Framework an die Hand, das die Evaluierung und Auswahl der besten Technologien für reale Geschäftsprobleme erleichtert. Sie erfahren, wie Sie Systeme so planen und entwickeln, dass sie den Anforderungen Ihres Unternehmens und Ihrer Kunden optimal gerecht werden. Die Autoren Joe Reis und Matt Housley führen Sie durch den Data-Engineering-Lebenszyklus und zeigen Ihnen, wie Sie eine Vielzahl von Cloud-Technologien kombinieren können, um die Bedürfnisse von Datenkonsumenten zu erfüllen. Sie lernen, die Konzepte der Datengenerierung, -aufnahme, -orchestrierung, -transformation, -speicherung und -verwaltung anzuwenden, die in jeder Datenumgebung unabhängig von der verwendeten Technologie von entscheidender Bedeutung sind. Darüber hinaus erfahren Sie, wie Sie Data Governance und Sicherheit in den gesamten Datenlebenszyklus integrieren.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 759

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Lob für dasHandbuch Data Engineering

Seit einiger Zeit verändert sich die Datenbranche. Zuerst gab es Designer. Dann waren es Datenbankadministratoren. Danach IT-Manager und Datenarchitekten. Dieses Buch stellt den nächsten Schritt in der Entwicklung und Reife der Branche dar. Es ist eine Pflichtlektüre für jeden, der seinen Beruf und seine Karriere ernst nimmt.

– Bill Inmon, Vater des Data Warehouse

Handbuch Data Engineering ist eine hervorragende Einführung in die Art und Weise, wie Daten übertragen, verarbeitet und bearbeitet werden. Es erklärt die Taxonomie der Datenkonzepte, ohne sich zu sehr auf einzelne Tools oder Anbieter zu konzentrieren, sodass die Techniken und Ideen Trends oder Produkte überdauern sollten. Ich empfehle das Buch jedem, der sich mit Data Engineering oder Analytik befassen möchte, sowie allen Anwendern, die Wissenslücken schließen möchten.

– Jordan Tigani, Gründer und CEO von MotherDuck, Gründungsingenieur und Mitinitiator von BigQuery

Wenn Sie in Ihrer Branche führend sein wollen, müssen Sie die Fähigkeiten aufbauen, die erforderlich sind, um außergewöhnliche Kunden- und Mitarbeiterzufriedenheit zu bieten. Dabei handelt es sich nicht nur um ein Technologieproblem. Es ist eine Gelegenheit für den Einzelnen. Und es wird Ihr Unternehmen verändern. Data Engineers stehen im Mittelpunkt dieses Wandels. Leider wird diese Disziplin bislang missverstanden. Dieses Buch entmystifiziert Data Engineering und wird zu Ihrem ultimativen Leitfaden für den erfolgreichen Umgang mit Daten.

– Bruno Aziza, Head of Data Analytics, Google Cloud

Was für ein Buch! Joe und Matt beantworten die Frage: »Was muss ich verstehen, um Data Engineering nutzen zu können?« Unabhängig davon, ob Sie als Data Engineer einsteigen oder Ihre Fähigkeiten ausbauen wollen, benötigen Sie nicht noch ein Technologiehandbuch. Sie wollen mehr über die grundlegenden Prinzipien und die Schlüsselkonzepte dieser Rolle, ihre Verantwortlichkeiten, ihr technisches und organisatorisches Umfeld und ihre Funktion erfahren – genau das bieten Joe und Matt in diesem Buch.

– Andy Petrella, Gründer von Kensu

Das bisher fehlende Buch im Data Engineering. Eine wunderbar gründliche Darstellung dessen, was es braucht, um ein guter Data Engineer zu sein, einschließlich gut durchdachter Beobachtungen aus dem praktischen Alltag. Ich würde empfehlen, dass alle zukünftigen Ausbildungen von Datenspezialisten die Arbeit von Joe und Matt mit einschließen.

– Sarah Krasnik, Data Engineering Leader

Es ist unglaublich, wie umfangreich das Wissen eines Data Engineer sein muss. Aber lassen Sie sich davon nicht abschrecken. Dieses Buch bietet einen großartigen grundlegenden Überblick über verschiedene Architekturen, Verfahren, Methoden und Konzepte, die jeder, der mit Daten arbeitet, kennen sollte. Was aber noch wertvoller ist: Dieses Buch ist voll von wertvollen Weisheiten, bewährten Vorgehensweisen und Aspekten, die bei Entscheidungen im Zusammenhang mit Data Engineering zu berücksichtigen sind. Es ist sowohl für erfahrene als auch für angehende Data Engineers ein Muss.

– Veronika Durgin, führend in Daten und Analytik

Es war mir eine Ehre und eine große Freude, von Joe und Matt gebeten worden zu sein, bei der technischen Begutachtung ihres Meisterwerks, Handbuch Data Engineering, zu helfen. Ihre Fähigkeit, die wesentlichen Komponenten herauszuarbeiten, die für jeden entscheidend sind, der eine Position als Data Engineer anstrebt, ist unübertroffen. Dank ihres Schreibstils sind die Informationen leicht zu erfassen, und sie lassen nichts aus. Es war ein absolutes Vergnügen, mit einigen der besten Denker im Datenbereich zusammenzuarbeiten. Ich kann es kaum erwarten, zu sehen, was sie als Nächstes tun werden.

– Chris Tabb, Mitbegründer von LEIT DATA

Handbuch Data Engineering ist das erste Buch, das einen detaillierten und ganzheitlichen Blick auf die Erfordernisse des Data Engineers von heute wirft. Wie Sie sehen werden, taucht das Buch in die kritischen Bereiche des Data Engineering ein, einschließlich der Fähigkeiten, Tools und Architekturen, die für die Verwaltung, Übertragung und Verarbeitung von Daten in den komplexen technischen Umgebungen von heute verwendet werden.

Noch wichtiger ist es jedoch, dass Joe und Matt ihr umfassendes Wissen über Data Engineering vermitteln und sich die Zeit nehmen, auch in die komplexeren Bereiche des Data Engineering einzutauchen und sie dem Leser zugänglich zu machen. Egal ob Sie ein Manager, ein erfahrener Data Engineer oder jemand sind, der in diesen Bereich einsteigen möchte, dieses Buch bietet einen praktischen Einblick in die heutige Landschaft des Data Engineering.

– Jon King, Principal Data Architect

Nur zwei Dinge werden für Data Engineers im Jahr 2042 noch relevant sein: SQL und dieses Buch. Joe und Matt durchdringen den Hype um diverse Tools, um die sich langsam verändernden Dimensionen unserer Disziplin herauszuarbeiten. Ganz gleich, ob Sie erste Schritte im Umgang mit Daten machen oder Ihrem schwarzen Gürtel weitere Streifen hinzufügen möchten, Handbuch Data Engineering legt den Grundstein für die Beherrschung der Materie.

– Kevin Hu, CEO von Metaplane

In einem sich ständig verändernden Umfeld mit immer neuen Technologielösungen bieten Joe und Matt eine klare, zeitlose Anleitung, die sich auf die Kernkonzepte und das grundlegende Wissen konzentriert, das für eine erfolgreiche Tätigkeit als Data Engineer erforderlich ist. Dieses Buch ist vollgepackt mit Informationen, die Sie in die Lage versetzen werden, die richtigen Fragen zu stellen, Kompromisse zu verstehen und die besten Entscheidungen zu treffen, wenn es darum geht, Ihre Datenarchitektur zu entwerfen und Lösungen über den gesamten Data Engineering Lifecycle zu implementieren. Ganz gleich, ob Sie gerade erwägen, Data Engineer zu werden, oder ob Sie bereits seit Jahren in diesem Bereich tätig sind, ich garantiere Ihnen, dass Sie mit diesem Buch dazulernen werden!

– Julie Price, Senior Product Manager, SingleStore

Handbuch Data Engineering ist mehr als nur eine Anleitung – es lehrt Sie, wie ein Data Engineer zu denken. Das Buch ist zum Teil eine geschichtliche Lektüre, zum Teil eine theoretische Abhandlung und zum Teil erworbenes Wissen aus der jahrzehntelangen Berufserfahrung von Joe und Matt und hat definitiv seinen Platz im Bücherregal eines jeden Datenexperten verdient.

– Scott Breitenother, Gründer und CEO, Brooklyn Data Co.

Es gibt kein anderes Buch, das so umfassend darstellt, was es bedeutet, ein Data Engineer zu sein. Joe und Matt tauchen tief in Verantwortlichkeiten, Auswirkungen, strukturelle Entscheidungen und noch vieles mehr ein. Obwohl sie über sehr komplexe Themen sprechen, ist das Buch leicht zu lesen und zu verstehen. Eine sehr starke Kombination.

– Danny Leybzon, MLOps-Architekt

Ich wünschte, dieses Buch hätte es schon gegeben, als ich anfing, mit Data Engineers zu arbeiten. Die umfassende Beschreibung des Fachgebiets verdeutlicht die beteiligten Rollen und fördert das Verständnis für die vielen Rollen, die für den Aufbau einer kompetenten Datendisziplin erforderlich sind.

– Tod Hansmann, VP Engineering

Eine Pflichtlektüre und ein Standardwerk für jeden, der sich mit dem Thema Data Engineering befasst. Dieses Buch füllt eine Lücke in der gegenwärtigen Wissensbasis und vermittelt grundlegende Themen, die in anderen Büchern nicht behandelt werden. Es vermittelt ein Verständnis der grundlegenden Konzepte und Einblicke in den bisherigen Kontext des Data Engineering, die jedem zum Erfolg verhelfen werden.

– Matthew Sharp, Data und ML Engineer

Data Engineering ist die Grundlage jeder Analyse, jedes Machine-Learning-Modells und jedes Datenprodukts, daher ist es von entscheidender Bedeutung, dass es korrekt angewandt wird. Es gibt unzählige Anleitungen, Bücher und Quellen für jede der Technologien, die von Data Engineers verwendet werden, aber nur sehr wenige Ressourcen (wenn überhaupt), die einen vollständigen Überblick darüber geben, was es bedeutet, als Data Engineer zu arbeiten. Dieses Buch behebt einen Missstand in der Branche, und zwar mit Bravour. Es legt die Grundlage für angehende und bereits tätige Data Engineers, um in ihrer Rolle erfolgreich und leistungsfähig zu sein. Dieses Buch werde ich jedem empfehlen, der in irgendeiner Form mit Daten arbeiten möchte.

– Tobias Macey, Moderator The Data Engineering Podcast

Copyright und Urheberrechte:Die durch die dpunkt.verlag GmbH vertriebenen digitalen Inhalte sind urheberrechtlich geschützt. Der Nutzer verpflichtet sich, die Urheberrechte anzuerkennen und einzuhalten. Es werden keine Urheber-, Nutzungs- und sonstigen Schutzrechte an den Inhalten auf den Nutzer übertragen. Der Nutzer ist nur berechtigt, den abgerufenen Inhalt zu eigenen Zwecken zu nutzen. Er ist nicht berechtigt, den Inhalt im Internet, in Intranets, in Extranets oder sonst wie Dritten zur Verwertung zur Verfügung zu stellen. Eine öffentliche Wiedergabe oder sonstige Weiterveröffentlichung und eine gewerbliche Vervielfältigung der Inhalte wird ausdrücklich ausgeschlossen. Der Nutzer darf Urheberrechtsvermerke, Markenzeichen und andere Rechtsvorbehalte im abgerufenen Inhalt nicht entfernen.

Handbuch Data Engineering

Robuste Datensysteme planen und erstellen

Joe Reis, Matt Housley

Deutsche Übersetzung von Helena Schock

Joe Reis, Matt Housley

Lektorat: Alexandra Follenius

Übersetzung: Helena Schock

Copy-Editing: Sibylle Feldmann, www.richtiger-text.de

Satz: III-satz, www.drei-satz.de

Herstellung: Stefanie Weidner

Umschlaggestaltung: Karen Montgomery, Michael Oréal, www.oreal.de

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:

Print

978-3-96009-216-2

PDF

978-3-96010-768-2

ePub

978-3-96010-769-9

mobi

978-3-96010-770-5

1. Auflage 2023

Translation Copyright © 2023 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Authorized German translation of the English edition of Fundamentals of Data Engineering, ISBN 9781098108304 © 2022 Joseph Reis and Matthew Housley. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same.

Dieses Buch erscheint in Kooperation mit O’Reilly Media, Inc. unter dem Imprint »O’REILLY«. O’REILLY ist ein Markenzeichen und eine eingetragene Marke von O’Reilly Media, Inc. und wird mit Einwilligung des Eigentümers verwendet.

Hinweis:

Dieses Buch wurde mit mineralölfreien Farben auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie. Hergestellt in Deutschland.

Schreiben Sie uns:

Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: [email protected].

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autoren noch Verlag noch Übersetzerin können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5 4 3 2 1 0

Inhalt

Vorwort

Teil IGrundlagen und Bausteine

1Data Engineering – eine Beschreibung

Was ist Data Engineering?

Data Engineering – eine Definition

Der Data Engineering Lifecycle

Die Entwicklung des Data Engineers

Data Engineering und Data Science

Data Engineering – Fähigkeiten und Tätigkeiten

Datenreife und der Data Engineer

Der berufliche Werdegang und die Kompetenzen eines Data Engineers

Geschäftliche Verantwortlichkeiten

Technische Verantwortlichkeiten

Das Kontinuum der Rollen im Data Engineering – von A nach B

Data Engineers innerhalb eines Unternehmens

Nach innen gerichtete versus nach außen gerichtete Data Engineers

Data Engineers und andere technische Rollen

Data Engineers und die Unternehmensführung

Fazit

Weitere Quellen

2Der Data Engineering Lifecycle

Was ist der Data Engineering Lifecycle?

Datenlebenszyklus versus Data Engineering Lifecycle

Generierung: Quellsysteme

Speicherung

Ingestion

Transformation

Bereitstellung

Die wesentlichen Unterströmungen innerhalb des Data Engineering Lifecycle

Sicherheit

Datenmanagement

DataOps

Datenarchitektur

Orchestrierung

Softwareentwicklung

Fazit

Weitere Quellen

3Konzeption einer guten Datenarchitektur

Was ist Datenarchitektur?

Definition der Unternehmensarchitektur

Definition der Datenarchitektur

»Gute« Datenarchitektur

Die Grundsätze guter Datenarchitektur

Grundsatz 1: Wählen Sie gängige Komponenten mit Bedacht aus

Grundsatz 2: Planen Sie Ausfälle ein

Grundsatz 3: Planen Sie für Skalierbarkeit

Grundsatz 4: Architektur heißt Führung

Grundsatz 5: Seien Sie immer Architekt

Grundsatz 6: Entwickeln Sie lose gekoppelte Systeme

Grundsatz 7: Treffen Sie reversible Entscheidungen

Grundsatz 8: Priorisieren Sie das Thema Sicherheit

Grundsatz 9: Nutzen Sie FinOps

Wichtige Konzepte der Architektur

Domänen und Dienste

Verteilte Systeme, Skalierbarkeit und Ausfallsicherheit

Enge versus lockere Kopplung: Schichten, Monolithen und Microservices

Benutzerzugriff: Einzelmandant versus Mehrmandanten

Ereignisgesteuerte Architektur

Brownfield- versus Greenfield-Projekte

Beispiele und Arten der Datenarchitektur

Data Warehouse

Data Lake

Konvergenz, Data Lakes der nächsten Generation und die Datenplattform

Modern Data Stack

Lambda-Architektur

Kappa-Architektur

Das Dataflow-Modell und die Vereinheitlichung von Batch und Streaming

Architektur für IoT

Data Mesh

Weitere Beispiele von Datenarchitekturen

Wer ist an der Gestaltung einer Datenarchitektur beteiligt?

Fazit

Weitere Quellen

4Wahl der Technologien für den kompletten Data Engineering Lifecycle

Größe und Fähigkeiten des Teams

Schnelle Markteinführung

Interoperabilität

Kostenoptimierung und Geschäftswert

Gesamtbetriebskosten

Total Opportunity Cost of Ownership

FinOps

Gegenwart versus Zukunft: unveränderliche versus vergängliche Technologien

Unser Rat

Standort

Vor Ort

Cloud

Hybride Cloud

Multicloud

Dezentralisiert: Blockchain und Edge

Unser Rat

Argumente für die Cloud-Rückführung

Eigenentwicklung oder Kauf

Open Source

Proprietäre geschlossene Systeme

Unser Rat

Monolithisch versus modular

Monolith

Modularität

Der verteilte Monolith

Unser Rat

Serverlos versus Server

Serverless

Container

Wie bewertet man Server versus Serverless?

Unser Rat

Optimierung, Leistung und Benchmarking

Big Data … für die 1990er

Absurde Kostenvergleiche

Asymmetrische Optimierung

Ausschluss der Gewährleistung

Die Unterströmungen und ihre Auswirkungen auf die Wahl der Technologien

Datenmanagement

DataOps

Datenarchitektur

Beispiel für Orchestrierung: Airflow

Softwareentwicklung

Fazit

Weitere Quellen

Teil IIDer Data Engineering Lifecycle im Detail

5Datengenerierung in den Quellsystemen

Datenquellen: Wie entstehen Daten?

Quellsysteme: zentrale Aspekte

Dateien und unstrukturierte Daten

APIs

Anwendungsdatenbanken (OLTP-Systeme)

Das OLAP-System

CDC

Protokolle

Datenbankprotokolle

CRUD

Insert-only

Nachrichten und Streams

Zeittypen

Quellsysteme – praktische Details

Datenbanken

APIs

Datenfreigabe

Datenquellen von Drittanbietern

Plattformen für das Streaming von Nachrichten und Ereignissen

Mit wem arbeiten Sie zusammen?

Die Bedeutung der Unterströmungen für Quellsysteme

Sicherheit

Datenmanagement

DataOps

Datenarchitektur

Orchestrierung

Softwareentwicklung

Fazit

Weitere Quellen

6Speicherung

Komponenten der Datenspeicherung

Magnetische Festplatten

Solid State Drive

Direktzugriffsspeicher

Netzwerke und CPU

Serialisierung

Kompression

Caching

Datenspeichersysteme

Einzelner Rechner versus verteilte Speicherung

Eventuelle versus starke Konsistenz

Dateispeicher

Blockspeicher

Objektspeicher

Cache- und RAM-basierte Speichersysteme

Hadoop

Streaming-Storage

Indizes, Partitionen und Cluster

Speicherkonzepte im Data Engineering

Data Warehouse

Data Lake

Data Lakehouse

Datenplattformen

Stream-to-Batch-Speicherarchitektur

Große Ideen und Trends in der Speicherung

Datenkatalog

Datenfreigabe

Schema

Trennung von Verarbeitung und Speicherung

Lebenszyklus der Datenspeicherung und die Datenaufbewahrung

Mandantenfähiger versus mehrmandantenfähiger Speicher

Mit wem arbeiten Sie zusammen?

Unterströmungen

Sicherheit

Datenmanagement

DataOps

Datenarchitektur

Orchestrierung

Softwareentwicklung

Fazit

Weitere Quellen

7Ingestion

Was versteht man unter Ingestion?

Wichtige technische Überlegungen für die Ingestionsphase

Begrenzte und nicht begrenzte Daten

Häufigkeit

Synchrone und asynchrone Ingestion

Serialisierung und Deserialisierung

Durchsatz und Skalierbarkeit

Zuverlässigkeit und Beständigkeit

Nutzdaten

Push, Pull und Polling

Überlegungen zur Batch-Ingestion

Snapshot oder differenzielle Extraktion

Dateibasierter Export und Ingestion

ETL und ELT

Inserts, Updates und Batch-Größe

Datenmigration

Überlegungen zur Ingestion von Nachrichten und Streams

Weiterentwicklung des Schemas

Verspätet eingegangene Daten

Reihenfolge und mehrfache Zustellung

Replay

Time to Live

Nachrichtengröße

Fehlerbehandlung und Dead-Letter-Queues

Pull und Push für Verbraucher

Standort

Möglichkeiten der Dateningestion

Direkte Datenbankverbindung

Change Data Capture

APIs

Nachrichtenwarteschlangen und Event-Streaming-Plattformen

Verwaltete Datenkonnektoren

Verschieben von Daten mithilfe des Objektspeichers

EDI

Datenbanken und Dateiexport

Probleme mit gängigen Dateiformaten

Shell

SSH

SFTP und SCP

Webhooks

Webinterface

Web Scraping

Transfer Appliances für die Datenmigration

Datenfreigabe

Mit wem arbeiten Sie zusammen?

Vorgelagerte Stakeholder

Nachgelagerte Stakeholder

Unterströmungen

Sicherheit

Datenmanagement

DataOps

Orchestrierung

Softwareentwicklung

Fazit

Weitere Quellen

8Queries, Modellierung und Transformation

Queries

Was ist eine Query?

Ablauf einer Abfrage

Der Abfrageoptimierer

Die Abfrageleistung verbessern

Abfragen von Streaming-Daten

Datenmodellierung

Was ist ein Datenmodell?

Konzeptuelle, logische und physische Datenmodelle

Normalisierung

Methoden der Datenmodellierung für die Batch-Analyse

Modellierung von Streaming-Daten

Transformationen

Batch-Transformationen

Materialized Views, Federation und Query Virtualization

Transformationen und Verarbeitung von Datenströmen

Mit wem arbeiten Sie zusammen?

Vorgelagerte Stakeholder

Nachgelagerte Stakeholder

Unterströmungen

Sicherheit

Datenmanagement

DataOps

Datenarchitektur

Orchestrierung

Softwareentwicklung

Fazit

Weitere Quellen

9Bereitstellung von Daten für Analysen, Machine Learning und Reverse ETL

Allgemeine Überlegungen zur Bereitstellung von Daten

Vertrauen

Was ist der Anwendungsfall, und wer ist der Anwender?

Datenprodukte

Self-Service oder nicht?

Datendefinitionen und -logik

Data Mesh

Analytik

Business Analytics

Operational Analytics

Embedded Analytics

Machine Learning

Was ein Data Engineer über ML wissen sollte

Wege der Datenbereitstellung für Analyse und ML

Austausch von Dateien

Datenbanken

Streaming-Systeme

Abfrageverbund

Datenfreigabe

Semantische und metrische Schichten

Datenbereitstellung in Notebooks

Reverse ETL

Mit wem arbeiten Sie zusammen?

Unterströmungen

Sicherheit

Datenmanagement

DataOps

Datenarchitektur

Orchestrierung

Softwareentwicklung

Fazit

Weitere Quellen

Teil IIISicherheit, Datenschutz und die Zukunft des Data Engineering

10Sicherheit und Datenschutz

Menschen

Die Kraft des negativen Denkens

Seien Sie stets paranoid

Prozesse

Sicherheitstheater versus Sicherheitsgewohnheit

Aktive Sicherheit

Das Prinzip der geringsten Privilegien

Gemeinsame Verantwortung in der Cloud

Sichern Sie stets Ihre Daten

Ein Beispiel für eine Sicherheitsrichtlinie

Technologie

Systeme für Patches und Updates

Verschlüsselung

Protokollieren, überwachen und warnen

Netzwerkzugriff

Sicherheit für einfaches Data Engineering

Fazit

Weitere Quellen

11Die Zukunft des Data Engineering

Der Data Engineering Lifecycle bleibt

Geringere Komplexität und benutzerfreundliche Datenwerkzeuge

Daten-OS in der Cloud und verbesserte Interoperabilität

»Unternehmerisches« Data Engineering

Titel und Zuständigkeiten verändern sich

Vom Modern Data Stack zum Live Data Stack

Live Data Stack

Streaming-Pipelines und analytische Echtzeit-Datenbanken

Die Verschmelzung von Daten und Anwendungen

Enge Rückkopplung zwischen Anwendungen und ML

Dark Matter Data und der Aufstieg der … Spreadsheets?

Fazit

Anhang ASerialisierung und Kompression – technische Details

Anhang BCloud-Vernetzung

Index

Vorwort

Wie ist dieses Buch entstanden? Der Ursprung ist tief verwurzelt in unserer eigenen Entwicklung von Data Science zu Data Engineering. Wir bezeichnen uns oft scherzhaft als genesende Data Scientists. Wir haben beide die Erfahrung gemacht, dass wir mit Data-Science-Projekten betraut wurden und dann Schwierigkeiten hatten, diese Projekte auszuführen, weil uns die notwendigen Grundlagen fehlten. Unsere Entwicklung in Richtung Data Engineering begann, als wir Aufgaben aus dem Bereich Data Engineering übernahmen, um die Grundlagen und die Infrastruktur aufzubauen.

Mit dem Vormarsch von Data Science gaben Unternehmen viel Geld für Data Scientists aus in der Hoffnung, davon reichlich profitieren zu können. Sehr oft jedoch hatten Data Scientists mit Problemen zu kämpfen, für deren Lösung ihr Vorwissen und ihre Ausbildung nicht ausreichten – Datenerfassung, Datenbereinigung, Datenzugriff, Datentransformation und Dateninfrastruktur. Dies sind Probleme, die mit Data Engineering gelöst werden sollen.

Was dieses Buch nicht ist

Bevor wir darauf eingehen, worum es in diesem Buch geht und wie Sie vom Inhalt profitieren werden, lassen Sie uns kurz darauf eingehen, was dieses Buch nicht ist. Dieses Buch handelt nicht von Data Engineering unter Verwendung eines bestimmten Tools, einer Technologie oder einer Plattform. Es gibt zwar viele hervorragende Bücher, die sich aus dieser Perspektive mit Technologien des Data Engineering befassen, diese Bücher haben jedoch oft eine kurze Lebensdauer. Wir fokussieren uns stattdessen auf die grundlegenden Konzepte des Data Engineering.

Worum es in diesem Buch geht

Dieses Buch soll eine bestehende Wissenslücke in den vorhandenen Inhalten und Materialien zum Thema Data Engineering schließen. Obwohl es keinen Mangel an technischen Informationsquellen gibt, die sich mit spezifischen Tools und Technologien des Data Engineering befassen, ist es schwierig zu verstehen, wie diese Komponenten zu einem schlüssigen Ganzen zusammengefügt werden können, das in der Praxis funktioniert. Dieses Buch beschreibt die einzelnen Schritte des gesamten Datenprozesses. Es zeigt Ihnen, wie Sie verschiedene Technologien kombinieren können, um die Anforderungen der nachgelagerten Datennutzer wie Analysten, Data Scientists und Machine-Learning-Engineers zu erfüllen. Dieses Buch dient als Ergänzung zu den Büchern von O’Reilly, die sich mit Details bestimmter Technologien, Plattformen und Programmiersprachen befassen.

Die Grundidee dieses Buchs ist der Data Engineering Lifecycle: Datengenerierung (Data Generation), Datenspeicherung (Data Storage), Dateningestion (Data Ingestion), Datentransformation (Data Transformation) und Datenbereitstellung (Data Serving). Seit den Anfängen der Datenverarbeitung haben wir den Aufstieg und Fall unzähliger spezifischer Technologien und Anbieterprodukte erlebt, aber die Phasen des Data Engineering Lifecycle sind im Wesentlichen unverändert geblieben. Mit unserem Rahmenwerk erhalten die Leserinnen und Leser ein fundiertes Grundwissen über die Anwendung von Technologien auf praktische Probleme.

Unser Ziel ist es, Richtlinien zu formulieren, die sich über zwei Achsen erstrecken. Erstens wollen wir Data Engineering in allgemeine Grundsätze fassen, die alle relevanten Technologien umfassen. Zweitens wollen wir Prinzipien vorstellen, die langfristig Bestand haben werden. Wir hoffen, dass unsere Überlegungen die Lektionen widerspiegeln, die wir in den letzten 20 Jahren im Bereich der Informationstechnologie gelernt haben, und dass unser konzeptueller Rahmen auch noch in zehn oder mehr Jahren nützlich sein wird.

Noch eine Anmerkung vorweg: Wir verfolgen ganz klar die Cloud-first-Strategie. Wir sehen die Cloud als eine revolutionäre Entwicklung, die jahrzehntelang Bestand haben wird; die meisten lokalen Datensysteme und Arbeitslasten werden letztendlich in die Cloud verlagert. Wir gehen davon aus, dass Infrastrukturen und Systeme kurzlebig und skalierbar sind und dass Data Engineers dazu übergehen werden, verwaltete Dienste in der Cloud bereitzustellen. Dennoch lassen sich die meisten Konzepte in diesem Buch auch auf nicht cloudbasierte Umgebungen übertragen.

Für wen ist dieses Buch gedacht?

Unser primäres Zielpublikum sind technische Anwender, Softwareingenieurinnen und -ingenieure auf mittlerer bis höherer Ebene, Data Scientists sowie Analystinnen und Analysten, die sich für Data Engineering interessieren, ebenso Data Engineers, die sich mit bestimmten Technologien auskennen, aber eine umfassendere Fachkompetenz entwickeln möchten. Unsere sekundäre Zielgruppe sind Stakeholder aus dem Datenbereich, die neben technischen Fachleuten arbeiten, z.B. die Managerin eines Datenteams mit technischem Hintergrund, die ein Team von Data Engineers leitet, oder der Direktor für Data Warehousing, der von einer lokalen Technologie zu einer cloudbasierten Lösung migrieren möchte.

Im Idealfall sind Sie neugierig und wollen lernen – weshalb sonst würden Sie dieses Buch lesen? Sie halten sich über die neuesten Technologien und Trends im Umgang mit Daten auf dem Laufenden, indem Sie Bücher und Artikel über Data Warehousing/Data Lakes, Batch- und Streaming-Systeme, Orchestrierung, Modellierung, Management, Analyse, Entwicklungen bei Cloud-Technologien usw. lesen. Dieses Buch wird Ihnen helfen, das Gelesene zu einem vollständigen Bild des Data Engineering über Technologien und Paradigmen hinweg zu verweben.

Voraussetzungen

Wir gehen davon aus, dass die Leserschaft mit den gängigen Datensystemen in Unternehmen vertraut ist. Darüber hinaus setzen wir voraus, dass sie mit SQL und Python (oder einer anderen Programmiersprache) einigermaßen vertraut ist und Erfahrung mit Cloud-Diensten hat.

Für angehende Data Engineers gibt es zahlreiche Ressourcen zum Erlernen von Python und SQL. Kostenlose Onlineressourcen gibt es im Überfluss (Blogbeiträge, Tutorials, YouTube-Videos), und jedes Jahr werden viele neue Python-Bücher veröffentlicht.

Die Cloud bietet beispiellose Möglichkeiten, praktische Erfahrungen mit Datentools zu sammeln. Wir empfehlen angehenden Data Engineers, Konten bei Cloud-Diensten wie AWS, Azure, Google Cloud Platform, Snowflake, Databricks, usw. einzurichten. Zwar bieten viele dieser Plattformen kostenlose Tier-Optionen an, es ist jedoch ratsam, sich die Kosten genau anzusehen und zu Beginn mit kleinen Datenmengen und Einzelknotenclustern zu arbeiten.

Es ist nach wie vor schwierig, sich außerhalb einer betrieblichen Umgebung mit den Datensystemen von Unternehmen vertraut zu machen, was für angehende Data Engineers, die ihren ersten Job im Bereich Datenverarbeitung noch nicht gefunden haben, gewisse Hindernisse darstellt. Hier kann dieses Buch weiterhelfen. Wir schlagen vor, dass Einsteiger in die Datenverarbeitung das Buch lesen, um sich einen Überblick über die wichtigsten Ideen zu verschaffen, und sich dann die Materialien in den Abschnitten »Weitere Quellen« jeweils am Schluss eines Kapitels ansehen. Notieren Sie sich beim erneuten Durchlesen alle unbekannten Begriffe und Technologien. Außerdem könnten Sie Google, Wikipedia, Blogbeiträge, You-Tube-Videos und Webseiten von Anbietern nutzen, um sich mit neuen Begriffen vertraut zu machen und Wissenslücken zu schließen.

Was Sie lernen werden und wie Sie Ihre Kenntnisse erweitern können

Dieses Buch soll Ihnen helfen, eine fundierte Grundlage für die Lösung praxisrelevanter Probleme beim Data Engineering zu erlangen.

Nach der Lektüre dieses Buchs werden Sie Folgendes gelernt haben:

wie sich Data Engineering auf Ihre aktuelle Position auswirkt (Data Scientist, Softwareentwickler oder Teamleiter),

wie man den Marketing-Hype durchschaut und die richtigen Technologien, Datenstrukturen und Prozesse auswählt,

wie man den Data Engineering Lifecycle nutzt, um eine stabile Infrastruktur zu entwerfen und aufzubauen, sowie

bewährte Verfahren für jede Phase des Datenlebenszyklus.

Außerdem werden Sie in der Lage sein:

Prinzipien des Data Engineering in Ihre gegenwärtige Tätigkeit zu integrieren (Data Scientist, Analyst, Softwareentwickler, Teamleiter usw.),

eine Vielzahl von Cloud-Technologien zu kombinieren, um die Bedürfnisse der Datenkonsumenten zu erfüllen,

Probleme des Data Engineering mit bewährten Verfahren zu bewerten und

Datenschutz und -sicherheit in den gesamten Data Engineering Lifecycle einzubeziehen.

Wegweiser durch dieses Buch

Dieses Buch besteht aus vier Abschnitten:

Teil I

: »

Grundlagen und Bausteine

«

Teil II

: »

Der Data Engineering Lifecycle im Detail

«

Teil III

: »

Sicherheit, Datenschutz und die Zukunft des Data Engineering

«

Anhang A

und

B

: Serialisierung und Kompression bzw. Cloud-Networking

In Teil I definieren wir in Kapitel 1 Data Engineering und skizzieren in Kapitel 2 den Data Engineering Lifecycle. In Kapitel 3 stellen wir gute Architektur vor. Abschließend stellen wir in Kapitel 4 eine Orientierungshilfe für die Auswahl der richtigen Technologie vor – obwohl wir häufig sehen, dass Technologie und Infrastruktur in einen Topf geworfen werden, handelt es sich in Wirklichkeit um sehr unterschiedliche Themen.

Teil II baut auf Kapitel 2 auf, um den Data Engineering Lifecycle eingehender zu beleuchten; jede Phase des Lebenszyklus – Datengenerierung, Speicherung, Ingestion, Transformation und Bereitstellung – wird in einem eigenen Kapitel beschrieben. Teil II ist zweifellos das Herzstück des Buchs, und die weiteren Kapitel dienen der Unterstützung der hier vorgestellten zentralen Themen.

Teil III beinhaltet ergänzende Themen. In Kapitel 10 befassen wir uns mit Sicherheit und Datenschutz. Sicherheit war zwar schon immer ein wichtiger Bestandteil im Data Engineering, ist aber mit dem Aufkommen kommerzieller Hackerangriffe und staatlich geförderter Cyberattacken nur noch wichtiger geworden. Und was können wir zum Datenschutz sagen? Die Zeit des Datenschutz-Nihilismus in Unternehmen ist vorbei – kein Unternehmen möchte seinen Namen als Schlagzeile über nachlässige Datenschutzpraktiken sehen. Der rücksichtslose Umgang mit personenbezogenen Daten kann seit der Einführung von GDPR, CCPA und anderen Vorschriften auch erhebliche rechtliche Folgen haben. Zusammenfassend lässt sich sagen, dass Sicherheit und Datenschutz bei jeder Tätigkeit im Data Engineering oberste Priorität haben müssen.

Im Laufe unserer Arbeit im Bereich Data Engineering, der Recherche für dieses Buch und der Befragung zahlreicher Experten haben wir uns viele Gedanken darüber gemacht, wie sich das Thema in den nächsten Jahren entwickeln wird. Kapitel 11 umreißt unsere äußerst spekulativen Vorstellungen von der Zukunft des Data Engineering. Die Zukunft ist nur schwer vorhersehbar, sie wird zeigen, ob einige unserer Ansichten zutreffend sind. Wir würden uns freuen, von unseren Lesern zu erfahren, inwieweit ihre Zukunftsvisionen mit unseren Vorstellungen übereinstimmen bzw. sich von ihnen unterscheiden.

In den Anhängen decken wir einige technische Themen ab, die für die tägliche Arbeit im Data Engineering äußerst wichtig sind, aber nicht in den Hauptteil des Buchs passten. Insbesondere müssen Data Engineers Serialisierung und Kompression verstehen (siehe Anhang A), sowohl um mit Dateien arbeiten zu können als auch um die Leistungsfähigkeit von Datensystemen beurteilen zu können. Die Vernetzung in der Cloud (siehe Anhang B) ist ein wichtiges Thema, da sich Data Engineering in die Cloud verlagert.

In diesem Buch verwenden wir folgende Konventionen

In diesem Buch werden die folgenden typografischen Konventionen angewandt:

Kursiv

Kennzeichnet neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen.

Feste Zeichenbreite

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter zu verweisen.

Dieses Symbol kennzeichnet einen Tipp oder Vorschlag.

Dieses Symbol zeigt einen allgemeinen Hinweis an.

Dieses Symbol weist auf eine Warnung oder einen Warnhinweis hin.

Danksagung

Als wir mit der Arbeit an diesem Buch begannen, warnten uns viele Menschen, dass wir vor einer schwierigen Aufgabe stünden. Solch ein Buch besteht aus vielen einzelnen Teilen, und da es einen umfassenden Überblick über das Thema Data Engineering bieten will, waren eine Menge Recherchen, Interviews, Diskussionen und ein tiefes Eintauchen in die Materie erforderlich. Wir können nicht garantieren, dass wir alle Nuancen des Data Engineering erfasst haben, aber wir hoffen, dass die Ergebnisse bei Ihnen Anklang finden. Zahlreiche Personen haben uns geholfen, und wir sind dankbar für die Unterstützung, die wir von vielen Expertinnen und Experten erhalten haben.

Zunächst einmal möchten wir uns bei unseren wunderbaren technischen Reviewern bedanken. Sie haben sich durch viele Versionen gekämpft und unschätzbares (und oft schonungslos direktes) Feedback gegeben. Ohne ihre Bemühungen wäre dieses Buch nur ein Bruchteil dessen, was es ist. In keiner bestimmten Reihenfolge gebührt unser Dank Bill Inmon, Andy Petrella, Matt Sharp, Tod Hansmann, Chris Tabb, Danny Lebzyon, Martin Kleppman, Scott Lorimor, Nick Schrock, Lisa Steckman, Veronika Durgin und Alex Woolford.

Des Weiteren hatten wir die einmalige Gelegenheit, in unseren Liveshows, Podcasts, Treffen und endlosen Telefonaten mit den führenden Experten aus dem Bereich der Daten zu sprechen. Ihre Ideen prägen unser Buch. Es sind zu viele, um sie einzeln zu nennen, daher gilt stellvertretend unser Dank Jordan Tigani, Zhamak Dehghani, Ananth Packkildurai, Shruti Bhat, Eric Tschetter, Benn Stancil, Kevin Hu, Michael Rogove, Ryan Wright, Adi Polak, Shinji Kim, Andreas Kretz, Egor Gryaznov, Chad Sanderson, Julie Price, Matt Turck, Monica Rogati, Mars Lan, Pardhu Gunnam, Brian Suk, Barr Moses, Lior Gavish, Bruno Aziza, Gian Merlino, DeVaris Brown, Todd Beauchene, Tudor Girba, Scott Taylor, Ori Rafael, Lee Edwards, Bryan Offutt, Ollie Hughes, Gilbert Eijkelenboom, Chris Bergh, Fabiana Clemente, Ori Reshef, Nick Singh, Mark Balkenende, Kenten Danas, Brian Olsen, Rhaghu Murthy, Greg Coquillo, David Aponte, Demetrios Brinkmann, Sarah Catanzaro, Michel Tricot, Levi Davis, Ted Walker, Carlos Kemeny, Josh Benamram, Chanin Nantasenamat, George Firican, Jordan Goldmeir, Minhaaj Rehmam, Luigi Patruno, Vin Vashista, Danny Ma, Jesse Anderson, Alessya Visnjic, Vishal Singh, Dave Langer, Roy Hasson, Todd Odess, Che Sharma, Scott Breitenother, Ben Taylor, Thom Ives, John Thompson, Brent Dykes, Josh Tobin, Mark Kosiba, Tyler Pugliese, Douwe Maan, Martin Traverso, Curtis Kowalski, Bob Davis, Koo Ping Shung, Ed Chenard, Matt Sciorma, Tyler Folkman, Jeff Baird, Tejas Manohar, Paul Singman, Kevin Stumpf, Willem Pineaar und Michael Del Balso von Tecton, Emma Dahl, Harpreet Sahota, Ken Jee, Scott Taylor, Kate Strachnyi, Kristen Kehrer, Taylor Miller, Abe Gong, Ben Castleton, Ben Rogojan, David Mertz, Emmanuel Raj, Andrew Jones, Avery Smith, Brock Cooper, Jeff Larson, Jon King, Holden Ackerman, Miriah Peterson, Felipe Hoffa, David Gonzalez, Richard Wellman, Susan Walsh, Ravit Jain, Lauren Balik, Mikiko Bazeley, Mark Freeman, Mike Wimmer, Alexey Shchedrin, Mary Clair Thompson, Julie Burroughs, Jason Pedley, Freddy Drennan, Jason Pedley, Kelly und Matt Phillipps, Brian Campbell, Faris Chebib, Dylan Gregerson, Ken Myers, Jake Carter, Seth Paul, Ethan Aaron und vielen mehr.

Wenn du nicht ausdrücklich erwähnt wurdest, nimm es nicht persönlich. Du weißt, wer du bist. Lass es uns wissen, und wir erwähnen dich in der nächsten Ausgabe.

Außerdem möchten wir uns beim Ternary Data Team (Colleen McAuley, Maike Wells, Patrick Dahl, Aaron Hunsaker und anderen), unseren Studierenden und den unzähligen Menschen weltweit bedanken, die uns unterstützt haben.

Die Zusammenarbeit mit O’Reilly war fantastisch! Besonderer Dank gilt Jess Haberman für sein Vertrauen, als wir unsere Idee für dieses Buchs vorstellten, sowie unseren großartigen und äußerst geduldigen Lektorinnen Nicole Taché und Michele Cronin für ihr unschätzbares Lektorat, ihr Feedback und ihre Unterstützung. Außerdem danken wir dem exzellenten Produktionsteam von O’Reilly (Greg und sein Team).

Joe ist seiner Familie – Cassie, Milo und Ethan – dankbar, dass sie ihm erlaubt hat, ein Buch zu schreiben. Sie mussten eine Menge durchmachen, und Joe verspricht, nie wieder ein Buch zu schreiben. ;)

Matt ist seinen Freunden und seiner Familie für ihre anhaltende Geduld und Unterstützung dankbar. Er hofft, dass Seneca nach so viel Mühe und trotz verpasster Zeit mit der Familie über die Feiertage eine Fünf-Sterne-Bewertung abgeben wird.

TEIL I

Grundlagen und Bausteine

KAPITEL 1

Data Engineering – eine Beschreibung

Wenn Sie in der Daten- oder Softwarebranche tätig sind, haben Sie vielleicht schon bemerkt, dass Data Engineering aus seinem Schattendasein herausgetreten ist und sich nun die Bühne mit Data Science teilt. Data Engineering ist eines der angesagtesten Themen im Bereich Daten und Technologie, und das aus gutem Grund. Es bildet die Grundlage für Data Science und Analytik. In diesem Kapitel erfahren Sie, was Data Engineering ist, wie es entstanden ist, wie es sich entwickelt hat, welche Fähigkeiten Data Engineers benötigen und mit wem sie zusammenarbeiten.

Was ist Data Engineering?

Trotzder aktuellen Popularität von Data Engineering herrscht häufig Unklarheit darüber, was Data Engineering wirklich bedeutet und was Data Engineers tun. Data Engineering gibt es in der einen oder anderen Form, seit Unternehmen mit Daten arbeiten – z.B. bei prädiktiven Analysen, deskriptiven Auswertungen und Reports –, und trat mit dem Aufkommen von Data Science in den 2010ern in den Vordergrund. Für die Zwecke dieses Buchs ist es wichtig zu definieren, was die Begriffe Data Engineering und Data Engineer bedeuten.

Lassen Sie uns zunächst einen Blick darauf werfen, wie Data Engineering beschrieben wird, und einige Begriffe erarbeiten, die in diesem Buch verwendet werden. Für Data Engineering gibt es unzählige Definitionen. Anfang 2022 lieferte eine Google-Suche mit dem genauen Wortlaut »what is data engineering?« mehr als 91.000 eindeutige Ergebnisse. Bevor wir Ihnen unsere Definition vorstellen, hier ein paar Beispiele dafür, wie einige Experten auf dem Gebiet Data Engineering definieren:

Data Engineering bezeichnet eine Reihe von Vorgängen, die darauf abzielen, Schnittstellen und Mechanismen für den Informationsfluss und -zugriff zu schaffen. Es bedarf Spezialisten – Data Engineers –, um Daten so zu pflegen, dass sie für andere verfügbar und nutzbar bleiben. Kurz gesagt, richten Data Engineers die Dateninfrastruktur des Unternehmens ein und betreiben sie, um sie für weitere Analysen durch Data Analysts und Data Scientists vorzubereiten.

– Aus »Data Engineering and Its Main Concepts« von AltexSoft1

Die erste Form des Data Engineering ist SQL-lastig. Die Verarbeitung und Speicherung der Daten erfolgen in relationalen Datenbanken. Die gesamte Datenverarbeitung wird mit SQL oder einer SQL-gestützten Sprache durchgeführt. Manchmal wird diese Datenverarbeitung auch mit einem ETL-Tool durchgeführt.2 Die zweite Form ist auf Big Data ausgelegt. Die Verarbeitung und Speicherung der Daten erfolgt in Big-Data-Technologien wie Hadoop, Cassandra und HBase. Die gesamte Datenverarbeitung findet in Big-Data-Systemen wie MapReduce, Spark und Flink statt. Zwar wird SQL verwendet, die Verarbeitung erfolgt aber hauptsächlich in Programmiersprachen wie Java, Scala und Python.

– Jesse Anderson3

In Anbetracht der bereits bestehenden Rollen könnte man Data Engineering als eine Obermenge von Business Intelligence und Data Warehousing betrachten, die weitere Elemente aus der Softwareentwicklung enthält. Diese Disziplin umfasst auch eine Spezialisierung auf den Betrieb sogenannter verteilter »Big Data«-Systeme sowie Konzepte im Zusammenhang mit dem erweiterten Hadoop-Ökosystem, der Verarbeitung von Streams und skalierbaren Berechnungen.

– Maxime Beauchemin4

Beim Data Engineering dreht sich alles um die Weitergabe, Bearbeitung und Verwaltung von Daten.

– Lewis Gavin5

Wow! Völlig verständlich, wenn Sie Data Engineering verwirrend finden. Das ist nur eine Handvoll der Definitionen davon, die eine große Bandbreite an Meinungen zu Data Engineering enthalten.

Data Engineering – eine Definition

Wenn wir die Gemeinsamkeiten der verschiedenen Definitionen von Data Engineering aufschlüsseln, ergibt sich folgendes Muster: Ein Data Engineer bezieht Daten, speichert sie und bereitet sie für die Nutzung durch Data Scientists, Analysten und Dritte vor. Wir definieren Data Engineering und Data Engineer wie folgt:

Data Engineering ist die Entwicklung, Implementierung und Wartung von Systemen und Prozessen, die Rohdaten aufnehmen und hochwertige, konsistente Informationen erzeugen, die nachgelagerte Anwendungsfälle wie Analysen und Machine Learning unterstützen. Data Engineering ist die Schnittstelle zwischen Sicherheit, Datenmanagement, DataOps, Datenarchitektur, Orchestrierung und Softwareentwicklung. Der Data Engineer verwaltet den Data Engineering Lifecycle von der Übertragung der Daten aus Quellsystemen bis hin zur Bereitstellung der Daten für Anwendungen wie Auswertungen oder Machine Learning.

Der Data Engineering Lifecycle

Es ist allzu leicht, sich auf die Technologie zu fixieren und dabei das Gesamtbild zu übersehen. Den Mittelpunkt dieses Buchs bildet eine Leitidee: der Data Engineering Lifecycle (siehe Abbildung 1-1). Diese Idee bietet Data Engineers unserer Meinung nach einen ganzheitlichen Kontext für ihre Arbeit.

Abbildung 1-1: Der Data Engineering Lifecycle

Der Data Engineering Lifecycle verlagert das Augenmerk weg von der Technologie und hin zu den Daten selbst und den damit verbundenen Zielsetzungen. Sie besteht aus den folgenden Phasen:

Generierung

Speicherung

Ingestion

Transformation

Bereitstellung

Der Data Engineering Lifecycle wird von einer Reihe von Unterströmungen, wichtigen Themen aus anderen Bereichen, beeinflusst, die für den gesamten Lebenszyklus wichtig sind. Dazu gehören Sicherheit, Datenmanagement, DataOps, Datenarchitektur, Orchestrierung und Softwareentwicklung. Der Data Engineering Lifecycle und die ihn prägenden Unterströmungen werden in Kapitel 2 ausführlicher behandelt. Wir stellen ihn dennoch hier vor, da er für unsere Definition von Data Engineering und die anschließende Diskussion in diesem Kapitel wichtig ist.

Nun, da Sie eine kurze Einführung in Data Engineering und dessen Lebenszyklus haben, lassen Sie uns einen Blick in die Vergangenheit werfen.

Die Entwicklung des Data Engineers

History doesn’t repeat itself, but it rhymes.

– Ein berühmtes Sprichwort, das oft Mark Twain zugeschrieben wird

Um Data Engineering heute und zukünftig zu verstehen, muss man wissen, wie sich diese Branche entwickelt hat. Dieser Abschnitt ist keine Geschichtslektion, aber ein Blick in die Vergangenheit ist unverzichtbar, um zu verstehen, wo wir heute stehen und was die Zukunft bringen könnte. Ein Phänomen zieht sich wie ein roter Faden durch die Geschichte: Alte Trends werden wieder populär.

Die Anfänge: 1980 bis 2000, vom Data Warehousing zum Web

Die Ursprünge des Data Engineers liegen wohl im Data Warehousing, das bis in die 1970er-Jahre zurückreicht, wobei das Business Data Warehouse in den 1980ern Gestalt annahm und Bill Inmon 1989 offiziell den Begriff Data Warehouse prägte. Nach der Entwicklung der relationalen Datenbank und der Structured Query Language (SQL) durch IBM machte Oracle die Technologie populär. Mit dem Wachstum der aufkommenden Datensysteme benötigten die Unternehmen spezielle Tools und Datenpipelines für das Reporting und die Business Intelligence (BI). Um die korrekte Modellierung der Geschäftslogik im Data Warehouse zu unterstützen, entwickelten Ralph Kimball und Inmon ihre gleichnamigen Methoden zur Datenmodellierung, die auch heute noch sehr verbreitet sind.

Das Data Warehousing läutete das erste Zeitalter der skalierbaren Analytik ein, als neue Datenbanken mit massiver Parallelverarbeitung (MPP) auf den Markt kamen, die mehrere Prozessoren zur Verarbeitung großer Datenmengen nutzten und noch nie da gewesene Datenmengen unterstützen konnten. BI-Engineers, ETL-Entwickler und Data-Warehouse-Engineers befassten sich mit den verschiedenen Anforderungen des Data Warehouse. BI-Engineering und Data Warehouse Engineering waren Vorläufer des heutigen Data Engineering und spielen immer noch eine zentrale Rolle in diesem Bereich.

Das Internet etablierte sich Mitte der 1990er und brachte eine ganz neue Generation von Unternehmen hervor, die sich auf das Onlinegeschäft spezialisiert hatten, wie AOL, Yahoo! und Amazon. Der Dotcom-Boom führte zu einer starken Nachfrage nach Webanwendungen und den sie unterstützenden Backend-Systemen (Server, Datenbanken und Speicher). Ein Großteil der entsprechenden Infrastruktur war teuer, monolithisch und stark lizenziert. Die Anbieter, die diese Backend-Systeme verkauften, ahnten damals wahrscheinlich nicht, welche enormen Datenmengen Webanwendungen produzieren würden.

Die frühen 2000er: die Geburt des heutigen Data Engineering

In den frühen 2000ern brach der Dotcom-Boom der späten 1990er zusammen und hinterließ eine kleine Gruppe von Unternehmen, die die Krise überstanden. Einige dieser Firmen, wie Yahoo!, Google und Amazon, entwickelten sich zu mächtigen Technologiekonzernen. Zunächst nutzten diese Unternehmen weiterhin die traditionellen monolithischen relationalen Datenbanken und Data Warehouses der 1990er, bis diese an die Grenzen ihrer Leistungsfähigkeit stießen. Nun wurden neue Ansätze benötigt, um das Datenwachstum zu bewältigen. Die neue Generation der Systeme musste kostengünstig, skalierbar, zugänglich und zuverlässig sein.

Zeitgleich mit der Datenexplosion wurde auch Standardhardware – wie Server, RAM, Festplatten und Flash-Laufwerke – billig und verbreitete sich stark. Mehrere Innovationen ermöglichten die verteilte Berechnung und Speicherung auf massiven Computerclustern. Diese Innovationen begannen, traditionell monolithische Dienste zu dezentralisieren und aufzulösen. Das Zeitalter von »Big Data« hatte begonnen.

Das Oxford English Dictionary beschreibt Big Data (https://oreil.ly/8IaGH) als »besonders große Datensätze, die computergestützt analysiert werden können, um Muster, Trends und Assoziationen zu erkennen, insbesondere in Bezug auf menschliches Verhalten und Interaktionen«. Des Weiteren wird Big Data prägnant beschrieben als die drei Vs der Daten: Velozität, Vielfalt und Volumen.

Google veröffentlichte 2003 einen Artikel über das Google File System und 2004 einen Artikel über MapReduce, ein hochskalierbares Paradigma für die Datenverarbeitung. Big Data hatte zwar schon Vorläufer in MPP-Data-Warehouses und im Datenmanagement für Projekte der Experimentalphysik, aber die Veröffentlichungen von Google stellten einen Paukenschlag für Informationstechnologien und die Wurzeln des Data Engineering dar, wie wir es heute kennen. Mehr über MPP-Systeme und MapReduce erfahren Sie in den Kapiteln 3 bzw. 8.

Die Artikel von Google inspirierten Yahoo! zur Entwicklung von Apache Hadoop, das 2006 als Open Source veröffentlicht wurde.6 Der Einfluss von Hadoop kann gar nicht hoch genug eingeschätzt werden. Softwareentwickler, die sich für komplexe Datenprojekte interessierten, wurden von den Möglichkeiten dieses neuen Open-Source-Systems angezogen. Als Unternehmen aller Art ihre Daten auf viele Terabytes und sogar Petabytes anwachsen sahen, war die Geburtsstunde des Big Data Engineer gekommen.

Etwa zur gleichen Zeit musste Amazon mit seinem eigenen rapide ansteigenden Datenbedarf Schritt halten und schuf elastische Rechenumgebungen (Amazon Elastic Compute Cloud, auch EC2), unbegrenzt skalierbare Speichersysteme (Amazon Simple Storage Service, auch S3), hochgradig erweiterbare NoSQL-Datenbanken (Amazon DynamoDB) und viele weitere Komponenten.7 Amazon begann damit, diese Dienste für den internen und externen Gebrauch über Amazon Web Services (AWS) anzubieten, und wurde so zur ersten populären öffentlichen Cloud. AWS hat durch die Virtualisierung und den Weiterverkauf riesiger Mengen an gängiger Hardware einen äußerst flexiblen Marktplatz für IT-Ressourcen geschaffen, bei der die Bezahlung entsprechend der tatsächlichen Nutzung erfolgt (pay-as-you-go). Anstatt Rechenzentren und Server zu kaufen, konnten Entwickler einfach Rechen- und Speicherkapazität von AWS mieten.

AWS entwickelte sich für Amazon zu einem äußerst profitablen Geschäft, und kurz darauf folgten weitere Anbieter öffentlicher Clouds, wie Google Cloud, Microsoft Azure und DigitalOcean. Die öffentliche Cloud ist wohl eine der bedeutendsten Innovationen des 21. Jahrhunderts und hat eine Revolution in der Entwicklung und Bereitstellung von Software- und Datenanwendungen ausgelöst.

Die ersten Anwendungen für Big Data und die öffentliche Cloud legten den Grundstein für das heutige Daten-Ökosystem. Die moderne Datenlandschaft – und Data Engineering, wie wir es heute kennen – würde ohne diese Innovationen nicht existieren.

Die 2000er und 2010er: Big Data Engineering

Die Entwicklung von Big-Data-Tools mit Open Source im Hadoop-Ökosystem ging schnell voran und verbreitete sich vom Silicon Valley aus in technikbegeisterte Unternehmen auf der ganzen Welt. Zum ersten Mal hatte jedes Unternehmen Zugang zu denselben hochmodernen Datentools, die von den führenden Technologiekonzernen verwendet wurden. Eine weitere Revolution war der Übergang vom Batch-Computing zum Event-Streaming, der eine neue Ära großer »Echtzeitdaten« einläutete. In diesem Buch erfahren Sie alles über Batch- und Event-Streaming.

Entwicklerinnen und Entwickler konnten sich für das Neueste und Beste entscheiden – Hadoop, Apache Pig, Apache Hive, Dremel, Apache HBase, Apache Storm, Apache Cassandra, Apache Spark, Presto und zahlreiche weitere aufkommende Technologien. Herkömmliche, kommerziell ausgerichtete und GUI-basierte Software war plötzlich überholt, und mit dem Aufkommen von MapReduce gewann Code first an Bedeutung. Wir (die Autoren) waren in dieser Zeit dabei, und es schien, als würden alte Doktrinen einen jähen Tod auf dem Altar von Big Data sterben.

Die explosionsartige Zunahme von Data-Tools in den späten 2000ern und 2010ern hat den Big Data Engineer hervorgebracht. Um diese Technologien und Methoden – namentlich das Hadoop-Ökosystem mit Hadoop, YARN, Hadoop Distributed File System (HDFS) und MapReduce – effektiv nutzen zu können, mussten Big Data Engineers die Softwareentwicklung und das Einrichten von Infrastrukturen beherrschen, allerdings mit einem anderen Schwerpunkt. Üblicherweise warteten Big Data Engineers massive Hardwarecluster, um Daten in großem Umfang bereitzustellen. Zwar reichten sie vereinzelt Pull Requests für den zentralen Hadoop-Code ein, doch verlagerte sich ihr Schwerpunkt von der Entwicklung der Kerntechnologie auf die Datenbereitstellung.

Big Data wurde schnell zum Opfer seines eigenen Erfolgs. Als Schlagwort gewann Big Data in den frühen 2000ern bis Mitte der 2010er an Popularität. Big Data beflügelte die Fantasie der Unternehmen, die versuchten, die ständig wachsenden Datenmengen sinnvoll zu nutzen, und die schamlose Werbung von Unternehmen, die Tools und Dienste für Big Data verkauften. Angesichts des immensen Hypes war es üblich, dass Unternehmen für kleine Datenprobleme manchmal einen Hadoop-Cluster aufbauten, um nur wenige Gigabyte zu verarbeiten. Es schien, als wolle jeder bei Big Data mitmischen. Dan Ariely twitterte (https://oreil.ly/cpL26): »Big Data ist wie Teenager-Sex: Jeder redet darüber, niemand weiß wirklich, wie man es macht, jeder denkt, dass alle anderen es machen, also behauptet jeder, dass er es macht.«

Abbildung 1-2 zeigt eine Momentaufnahme von Google Trends für den Suchbegriff »big data«, um einen Eindruck vom Aufstieg und Fall von Big Data zu vermitteln.

Abbildung 1-2: Google Trends für »big data« (Stand März 2022)

Entgegen der Popularität des Begriffs hat Big Data an Bedeutung verloren. Was ist passiert? In einem Wort: Vereinfachung. Trotz der Leistungsfähigkeit und Raffinesse von Open-Source-Big-Data-Tools war ihre Verwaltung mit viel Arbeit verbunden und erforderte ständige Kontrolle. Oftmals beschäftigten Unternehmen ganze Teams von Big Data Engineers, die jedes Jahr Millionen von Dollar für die Betreuung dieser Plattformen ausgaben. Big Data Engineers verbrachten häufig unverhältnismäßig viel Zeit mit der Wartung komplizierter Systeme, statt Erkenntnisse und Mehrwert für das Unternehmen zu schaffen.

Open-Source-Entwickler, Clouds und Drittanbieter suchten nach Möglichkeiten, Big Data zu abstrahieren, zu vereinfachen und verfügbar zu machen, ohne dass der hohe Verwaltungsaufwand und die Kosten für die Betreuung ihrer Cluster sowie für Installation, Konfiguration und Aktualisierung ihres Open-Source-Codes anfielen. Der Begriff Big Data ist im Grunde ein Relikt aus vergangener Zeit, das ein bestimmtes Konzept für den Umgang mit großen Datenmengen beschreibt.

Heutzutage sind Daten schneller in Bewegung denn je und werden immer umfangreicher, aber die Verarbeitung von Big Data ist so alltäglich geworden, dass sie keinen eigenen Begriff mehr verdient; jedes Unternehmen ist bestrebt, seine Datenprobleme zu lösen, unabhängig von der tatsächlichen Datengröße. Big Data Engineers sind heute schlicht Data Engineers.

Die 2020er: Engineering für den Datenlebenszyklus

Nach wie vor entwickelt sich die Rolle des Data Engineers rasant weiter. Wir erwarten, dass sich diese Entwicklung in absehbarer Zukunft fortsetzen wird. Während sich Data Engineers in der Vergangenheit um die Details monolithischer Systemsoftware wie Hadoop, Spark oder Informatica kümmerten, geht der Trend zu dezentralisierten, modularisierten, verwalteten und stark abstrahierten Tools.

In der Tat haben sich die Datenanwendungen in erstaunlichem Tempo weiterentwickelt (siehe Abbildung 1-3). Zu den beliebten Trends der frühen 2020er gehört der Modern Data Stack, eine Sammlung von Open-Source-Produkten und Produkten von Drittanbietern, die das Leben von Analysten erleichtern sollen. Gleichzeitig werden die Datenquellen und Datenformate immer vielfältiger und umfangreicher. Data Engineering ist zunehmend eine Disziplin der Interoperation, in der unterschiedliche Technologien wie LEGO-Bausteine kombiniert werden, um Geschäftsziele zu erreichen.

Abbildung 1-3: Matt Turck’s Datenlandschaft (https://oreil.ly/TWTfM) in 2012 versus 2021

Der Data Engineer, den wir in diesem Buch vorstellen, kann besser beschrieben werden als Data Lifecycle Engineer. Durch die größere Abstraktion und Vereinfachung ist ein Data Lifecycle Engineer nicht mehr mit den Details der Big-Data-Frameworks von einst belastet. Während Data Engineers ihre Fähigkeiten in der Programmierung beibehalten und diese bei Bedarf einsetzen, konzentriert sich ihre Rolle zunehmend auf Dinge, die in der Wertschöpfungskette weiter oben angesiedelt sind: Sicherheit, Datenmanagement, DataOps, Datenarchitektur, Orchestrierung und allgemeines Management des Lebenszyklus von Daten.8

Im Zuge der Vereinfachung von Tools und Arbeitsabläufen haben wir einen spürbaren Wandel in der Mentalität von Data Engineers festgestellt. Statt sich darauf zu konzentrieren, wer die »meisten Daten« hat, geht es bei Open-Source-Projekten und -Diensten zunehmend darum, Daten zu verwalten und zu steuern, ihre Nutzung und Auswertung zu erleichtern und ihre Qualität zu verbessern. Data Engineers sind mittlerweile mit Akronymen vertraut wie CCPA und GDPR,9 da sie sich bei der Entwicklung von Pipelines Gedanken über Datenschutz, Anonymisierung, Data Garbage Collection und die Einhaltung von Richtlinien machen.

Alte Trends werden wieder populär. Während »betriebliche« Aspekte wie Datenmanagement (einschließlich Datenqualität und Governance) in der Zeit vor Big Data in großen Unternehmen gang und gäbe waren, wurden sie in kleineren Unternehmen kaum eingesetzt. Jetzt, da viele der herausfordernden Probleme der Datensysteme von einst gelöst, sauber produziert und gebündelt sind, haben Technologen und Unternehmer den Schwerpunkt wieder auf die »betrieblichen« Aspekte verlagert, allerdings mit dem Fokus auf Dezentralisierung und Agilität, was im Kontrast zu traditionellen Befehls- und Kontrollstrukturen der Unternehmen steht.

Wir halten die Gegenwart für ein goldenes Zeitalter des Data-Lifecycle-Managements. Data Engineers, die den Lebenszyklus von Daten verwalten, verfügen über bessere Tools und Techniken als je zuvor. Im nächsten Kapitel werden der Data Engineering Lifecycle und seine Unterströmungen eingehender erörtert.

Data Engineering und Data Science

Wie passen Data Engineering und Data Science zusammen? Die Debatte ist nicht ganz unumstritten. Einige vertreten die Auffassung, dass Data Engineering eine Unterdisziplin von Data Science ist. Unserer Meinung nach ist Data Engineering unabhängig von Data Science und Analytics. Zwar ergänzen sie sich gegenseitig, sind aber eindeutig verschieden. Data Engineering ist Data Science vorgelagert (siehe Abbildung 1-4), d.h., Data Engineers liefern die Daten, die von Data Scientists (nachgelagert zum Data Engineering) verwendet werden, die wiederum diese Informationen in etwas Verwertbares umwandeln.

Abbildung 1-4: Data Engineering ist Data Science vorgelagert.

Betrachten Sie die Data Science Hierarchy of Needs (siehe Abbildung 1-5). Dieses Modell wurde 2017 von Monica Rogati in einem Artikel (https://oreil.ly/pGg9U) veröffentlicht, der aufzeigte, wo künstliche Intelligenz (KI) und Machine Learning (ML) in Beziehung zu »alltäglicheren« Bereichen wie Datenübertragung und -speicherung, Datenerfassung sowie Dateninfrastruktur stehen.

Abbildung 1-5: Die KI-Bedürfnispyramide (https://oreil.ly/pGg9U) – Data Science Hierarchy of Needs (https://oreil.ly/pGg9U)

Obwohl viele Data Scientists darauf erpicht sind, ML-Modelle zu erstellen und zu optimieren, verbringen sie in Wirklichkeit schätzungsweise 70 % bis 80 % ihrer Zeit mit den unteren drei Teilen der Hierarchie – Datenerfassung, Datenbereinigung, Datenverarbeitung – und nur einen winzigen Teil ihrer Zeit mit Analyse und ML. Rogati argumentiert, dass Unternehmen zunächst eine solide Datengrundlage (die unteren drei Ebenen der Hierarchie) schaffen müssen, bevor sie sich mit Bereichen wie KI und ML befassen.

Data Scientists sind in der Regel nicht dafür ausgebildet, produktionsreife Datensysteme zu entwickeln, und sie erledigen diese Arbeit nur, weil ihnen die Unterstützung und die Ressourcen eines Data Engineers fehlen. In einer idealen Welt sollten Data Scientists mehr als 90 % ihrer Zeit mit den obersten Schichten der Pyramide verbringen: Analytik, Experimentieren und ML. Wenn sich Data Engineers auf diese unteren Teile der Hierarchie konzentrieren, schaffen sie eine solide Grundlage für den Erfolg von Data Scientists.

Während Data Science fortschrittliche Analysen und ML vorantreibt, schließt Data Engineering die Lücke zwischen der Beschaffung und der Nutzbarmachung von Daten (siehe Abbildung 1-6). Wir glauben, dass Data Engineering genauso wichtig und sichtbar ist wie Data Science, wobei Data Engineers eine entscheidende Rolle dabei spielen, Data Science in der Produktion erfolgreich zu machen.

Abbildung 1-6: Ein Data Engineer beschafft Daten und macht sie nutzbar.

Data Engineering – Fähigkeiten und Tätigkeiten

Zu den Fähigkeiten eines Data Engineers zählen die Unterströmungen des Data Engineering: Sicherheit, Datenmanagement, DataOps, Datenarchitektur und Softwareentwicklung. Diese Fähigkeiten erfordern ein Verständnis dafür, wie Datentools zu bewerten sind und wie sie im Laufe des Data Engineering Lifecycle zusammenpassen. Außerdem ist es wichtig zu wissen, wie die Daten in den Quellsystemen erzeugt werden und wie Analysten und Data Scientists nach der Verarbeitung und Aufbereitung der Daten diese nutzen und einen Mehrwert schaffen können. Letztendlich muss ein Data Engineer mit einer Vielzahl komplexer, beweglicher Komponenten gleichzeitig umgehen und diese ständig in Bezug auf Kosten, Agilität, Skalierbarkeit, Einfachheit, Wiederverwendbarkeit und Interoperabilität optimieren (siehe Abbildung 1-7). Wir werden diese Themen in den nächsten Kapiteln ausführlicher behandeln.

Abbildung 1-7: Der Balanceakt im Data Engineering

Wie bereits erwähnt, wurde in der jüngeren Vergangenheit von einem Data Engineer erwartet, dass er weiß und versteht, wie man eine kleine Handvoll leistungsstarker und monolithischer Technologien (Hadoop, Spark, Teradata, Hive und viele andere) verwendet, um eine Datenlösung zu entwickeln. Die Nutzung dieser Technologien erfordert oft ein detailliertes Verständnis von Softwaretechnik, Netzwerken, verteilten Systemen, Speicherung und anderen systemnahen Segmenten. Ihre Arbeit würde sich unter anderem auf die Clusterverwaltung und -wartung, die Verwaltung des Overheads und das Schreiben von Pipeline- und Transformationsaufträgen konzentrieren.

Heutzutage ist die Verwaltung und Bereitstellung von Datentools wesentlich weniger kompliziert. Moderne Datentools verallgemeinern und vereinfachen die Arbeitsabläufe erheblich. Folglich konzentrieren sich Data Engineers nunmehr darauf, die einfachsten und kosteneffektivsten Best-of-Breed-Dienste zusammenzustellen, die einen Mehrwert für das Unternehmen bieten. Von Data Engineers wird außerdem erwartet, dass sie flexible Datenarchitekturen erstellen, die sich neuen Trends entsprechend weiterentwickeln.

Was tun Data Engineers nicht? Üblicherweise erstellt ein Data Engineer weder ML-Modelle noch Berichte oder Dashboards, er führt auch keine Datenanalysen durch, erstellt keine Leistungsindikatoren (KPIs) und entwickelt keine Softwareanwendungen. Ein Data Engineer sollte jedoch über ein gutes Verständnis dieser Bereiche verfügen, um die Beteiligten bestmöglich unterstützen zu können.

Datenreife und der Data Engineer

Der Grad der Komplexität des Data Engineering eines Unternehmens hängt in hohem Maße von seiner Datenreife ab. Dies hat erhebliche Auswirkungen auf die täglichen Aufgaben eines Data Engineers und seine berufliche Entwicklung. Was genau aber ist Datenreife?

Datenreife ist die Entwicklung hin zu einer höheren Datennutzung, zu mehr Datenpotenzial und besserer Datenintegration im gesamten Unternehmen, aber die Datenreife hängt nicht unbedingt vom Alter oder dem Umsatz eines Unternehmens ab. Ein Start-up in der Frühphase kann eine höhere Datenreife aufweisen als ein 100 Jahre altes Unternehmen mit einem Jahresumsatz in Milliardenhöhe. Entscheidend ist die Art und Weise, wie Daten als Wettbewerbsvorteil genutzt werden.

Data-Maturity-Modelle gibt es in vielen Varianten, z.B. Data Management Maturity (DMM) (https://oreil.ly/HmX62), und es ist schwer, eines auszuwählen, das sowohl einfach als auch nützlich für das Data Engineering ist. Daher werden wir unser eigenes, vereinfachtes Datenreifemodell erstellen. Unser Data-Maturity-Modell (Abbildung 1-8) hat drei Stufen: mit Daten beginnen, mit Daten skalieren und mit Daten führen. Wir schauen uns jede dieser Stufen genauer an und erläutern, welche Tätigkeiten ein Data Engineer jeweils ausübt.

Abbildung 1-8: Unser vereinfachtes Datenreifemodell für ein Unternehmen

Stufe 1: Mit Daten beginnen

Ein Unternehmen, das mit der Nutzung von Daten beginnt, befindet sich definitionsgemäß in einem sehr frühen Stadium seiner Datenreife. Das Unternehmen hat möglicherweise ungenaue, lose definierte Ziele oder gar keine Ziele. Datenarchitektur und -infrastruktur befinden sich in einem sehr frühen Stadium der Planung und Entwicklung. Akzeptanz und Nutzung sind wahrscheinlich gering oder gar nicht vorhanden. Das Datenteam ist klein, oft mit einer Mitarbeiterzahl im einstelligen Bereich. In diesem Stadium ist ein Data Engineer meist ein Generalist und übernimmt in der Regel mehrere andere Rollen, z.B. die eines Data Scientists oder eines Softwareentwicklers. Data Engineers sind bestrebt, Fortschritte zu machen, sich durchzusetzen und Mehrwert zu schaffen.

Die praktische Umsetzung der Wertschöpfung aus Daten wird in der Regel nur unzureichend verstanden, aber der Wunsch danach ist vorhanden. Berichten oder Analysen fehlt eine formale Struktur, und die meisten Datenanfragen erfolgen ad hoc. Es ist zwar verlockend, sich in diesem Stadium direkt in ML zu stürzen, aber wir raten davon ab. Wir haben schon unzählige Datenteams erlebt, die nicht weiterkamen und scheiterten, wenn sie versuchten, ML zu nutzen, ohne zunächst eine solide Datengrundlage zu schaffen.

Das soll nicht heißen, dass Sie in diesem Stadium keine Erfolge mit ML erzielen können – das ist zwar selten, aber möglich. Ohne eine solide Datengrundlage haben Sie jedoch wahrscheinlich weder die Daten, um zuverlässig ML-Modelle zu trainieren, noch die Mittel, um diese Modelle auf skalierbare und wiederholbare Weise in der Produktion einzusetzen. Wir bezeichnen uns selbst scherzhaft als »Recovering Data Scientists« (https://oreil.ly/2wXbD), hauptsächlich aufgrund persönlicher Erfahrungen in unausgereiften Data-Science-Projekten ohne angemessene Datenreife oder Data-Engineering-Unterstützung.

Ein Data Engineer sollte sich in Unternehmen, die damit beginnen, mit Daten zu arbeiten, auf Folgendes konzentrieren:

Holen Sie sich die Zustimmung der wichtigsten Interessengruppen, einschließlich der Geschäftsleitung. Idealerweise sollte der Data Engineer einen Ansprechpartner für kritische Initiativen zur Entwicklung und zum Aufbau einer für die Ziele des Unternehmens geeigneten Datenarchitektur haben.

Definieren Sie die richtige Datenarchitektur (vermutlich im Alleingang, da ein Datenarchitekt wahrscheinlich nicht verfügbar ist). Das bedeutet, dass Sie die Geschäftsziele und den Wettbewerbsvorteil, den Sie mit Ihrer Dateninitiative erreichen wollen, bestimmen müssen. Arbeiten Sie auf eine Datenarchitektur hin, die diese Ziele unterstützt. In

Kapitel 3

finden Sie unsere Ratschläge für eine »gute« Datenarchitektur.

Identifizieren und prüfen Sie Daten, die wichtige Initiativen unterstützen und innerhalb der von Ihnen entworfenen Datenarchitektur funktionieren.

Schaffen Sie eine solide Datengrundlage für künftige Analysten und Data Scientists, damit diese Berichte und Modelle erstellen können, die einen Wettbewerbsvorteil bieten. Bis zur Zusammenstellung dieses Teams müssen möglicherweise Sie solche Berichte und Modelle erstellen.

Dies ist ein heikles Stadium mit vielen Fallstricken. Hier sind einige Tipps für diese Phase:

Die Motivation im Unternehmen kann schwinden, wenn keine sichtbaren Erfolge mit Daten erzielt werden. Schnelle Erfolge machen die Relevanz von Daten innerhalb der Organisation deutlich. Bedenken Sie jedoch, dass solche Erfolge technische Schulden verursachen können. Erstellen Sie daher einen Plan, um diese Altlasten abzubauen, da sie andernfalls die zukünftige Bereitstellung beeinträchtigen könnten.

Gehen Sie raus und sprechen Sie mit den Leuten, statt abgeschottet zu arbeiten. Wir sehen oft, dass das Datenteam in einer Blase arbeitet, nicht mit Menschen außerhalb der eigenen Abteilung kommuniziert und weder Perspektiven noch Feedback von den Interessengruppen des Unternehmens einholt. Die Gefahr ist, dass Sie viel Zeit damit verbringen, an etwas zu arbeiten, das den Beteiligten wenig nützt.

Vermeiden Sie unnötige Anstrengungen. Verzichten Sie auf überflüssige technische Komplexität. Verwenden Sie, wo immer möglich, gebrauchsfertige Lösungen.

Erstellen Sie maßgeschneiderte Lösungen und Code nur dort, wo dies einen Wettbewerbsvorteil darstellt.

Stufe 2: Mit Daten skalieren

An diesem Punkt ist ein Unternehmen von Ad-hoc-Datenanfragen abgerückt und verfügt über formale Datenpraktiken. Jetzt besteht die Herausforderung darin, skalierbare Datenarchitekturen zu schaffen und für eine Zukunft zu planen, in der das Unternehmen wirklich datengesteuert ist. Die Funktionen im Data Engineering entwickeln sich von Generalisten zu Spezialisten, die sich auf bestimmte Aspekte des Data Engineering Lifecycle konzentrieren.

In Unternehmen, die sich in Stufe 2 der Datenreife befinden, verfolgt ein Data Engineer die diese Ziele:

Einrichten offizieller Datenverfahren.

Schaffung skalierbarer und robuster Datenarchitekturen.

Anwenden von DevOps- und DataOps-Verfahren.

Systeme aufbauen, die ML unterstützen.

Vermeiden Sie weiterhin unnötige Anstrengungen und entwickeln Sie individuelle Lösungen nur dann, wenn sich daraus ein Wettbewerbsvorteil ergibt.

Wir werden auf jedes dieser Ziele später im Buch zurückkommen.

Zu beachten sind unter anderem die folgenden Punkte:

Da wir im Umgang mit Daten immer versierter werden, besteht die Gefahr, dass wir die Spitzentechnologien der Unternehmen aus dem Silicon Valley einsetzen wollen. Dies ist selten ein guter Einsatz von Zeit und Energie. Alle technologischen Entscheidungen sollten sich an dem Wert orientieren, den sie für Ihre Kunden haben werden.

Der kritischste Punkt bei der Skalierung ist nicht die Technologie, die Anzahl der Clusterknoten oder der Speicher, sondern das Team. Konzentrieren Sie sich auf Lösungen, die einfach zu implementieren und zu verwalten sind, um den Leistungsumfang Ihres Teams zu erhöhen.

Sie werden versucht sein, sich als Technologe darzustellen, als ein Datengenie, das wundersame Leistungen erbringen kann. Konzentrieren Sie sich stattdessen auf die pragmatische Führung und beginnen Sie mit dem Übergang zur nächsten Reifegradstufe; tauschen Sie sich mit anderen Teams über den praktischen Nutzen von Daten aus. Bringen Sie dem Unternehmen bei, wie es Daten nutzen und einsetzen kann.

Stufe 3: Mit Daten führen

In diesem Stadium ist das Unternehmen datengesteuert. Die automatisierten Pipelines und Systeme, die von Data Engineers entwickelt wurden, ermöglichen den Mitarbeitenden im Unternehmen, Analysen und ML selbst durchzuführen. Die Einführung neuer Datenquellen erfolgt reibungslos, und es wird ein messbarer Mehrwert geschaffen. Data Engineers implementieren angemessene Kontrollen und Methoden, um sicherzustellen, dass die Daten für Belegschaft und Systeme immer verfügbar sind. Die Spezialisierung von Data-Engineering-Funktionen nimmt gegenüber Stufe 2 weiter zu.

In Unternehmen, die sich in Stufe 3 der Datenreife befinden, wird ein Data Engineer auf den vorherigen Stufen aufbauen und zusätzlich Folgendes umsetzen:

Entwicklung von Automatismen für die reibungslose Einführung und Nutzung neuer Daten.

Aufbau maßgeschneiderter Tools und Systeme, die Daten als Wettbewerbsvorteil nutzen.

Konzentration auf die »unternehmerischen« Aspekte von Daten, wie Datenmanagement (einschließlich Data Governance und Qualität) und DataOps.

Bereitstellung von Tools, die Daten im gesamten Unternehmen zugänglich machen und verbreiten, einschließlich Datenkatalogen, Tools für die Datenherkunft und Systemen zur Verwaltung von Metadaten.

Effiziente Zusammenarbeit mit Softwareentwicklern, ML-Engineers, Analysten und anderen.

Schaffung einer Atmosphäre und eines Umfelds, in dem Menschen zusammenarbeiten und offen sprechen können, unabhängig von ihrer Rolle oder Position.

Zu beachten sind unter anderem die folgenden Punkte:

In dieser Phase ist Selbstzufriedenheit eine große Gefahr. Sobald Unternehmen die Stufe 3 erreicht haben, müssen sie sich ständig auf die Instandhaltung und Weiterentwicklung konzentrieren, oder sie riskieren, auf eine niedrigere Stufe zurückzufallen.

Technologische Ablenkungen stellen hier eine größere Gefahr dar als in den anderen Phasen. Die Versuchung ist groß, teure Hobbyprojekte zu verfolgen, die dem Unternehmen keinen Nutzen bringen. Setzen Sie maßgeschneiderte Technologie nur dort ein, wo sie einen Wettbewerbsvorteil bietet.

Der berufliche Werdegang und die Kompetenzen eines Data Engineers

Data Engineering ist ein Bereich, der sich schnell entwickelt, und es sind bisher viele Fragen darüber noch nicht geklärt, wie man ein Data Engineer wird. Da es sich um eine relativ neue Disziplin handelt, gibt es nur wenige formale Ausbildungsmöglichkeiten für den Einstieg in diesen Bereich. An den Universitäten findet man keinen einheitlichen Studiengang für Data Engineering. Zwar gibt es eine Handvoll Bootcamps und Onlinetutorials zum Thema Data Engineering, aber einen gemeinsamen Lehrplan für dieses Fach gibt es noch nicht.

Menschen, die mit Data Engineering beginnen, bringen unterschiedliche Vorkenntnisse in den Bereichen Ausbildung, Beruf und Fähigkeiten mit. Jeder, der in dieses Gebiet einsteigt, sollte damit rechnen, dass er einen beträchtlichen Teil seiner Zeit in das Selbststudium investieren wird. Die Lektüre dieses Buchs ist ein guter Ausgangspunkt; eines der Hauptziele des Buchs ist es, Ihnen eine Grundlage für das Wissen und die Fähigkeiten zu vermitteln, die unserer Meinung nach notwendig sind, um als Data Engineer erfolgreich zu sein.

Wenn Sie Ihre Karriere in Richtung Data Engineering lenken möchten, ist es unserer Erfahrung nach am einfachsten, wenn Sie aus einem angrenzenden Bereich wie Softwareentwicklung, ETL-Entwicklung, Datenbankadministration, Data Science oder Datenanalyse kommen. Diese Disziplinen sind in der Regel »datenorientiert« und bieten einen guten Kontext für die Aufgaben in einem Unternehmen. Außerdem verfügen sie über die relevanten technischen Fähigkeiten und den nötigen Hintergrund, um Probleme des Data Engineering zu lösen.