Professional Data Engineer

Prüfungsleitfaden

Ein Professional Data Engineer unterstützt die datengestützte Entscheidungsfindung. Das heißt, er erhebt Daten, wandelt sie um und stellt sie zur Verfügung. Data Engineers entwerfen, erstellen, operationalisieren, schützen und überwachen Datenverarbeitungssysteme insbesondere im Hinblick auf Sicherheit und Compliance, Skalierbarkeit und Effizienz, Zuverlässigkeit und Genauigkeit sowie Flexibilität und Portierbarkeit. Außerdem sollten sie bereits bestehende Modelle für maschinelles Lernen nutzen, bereitstellen und kontinuierlich weitertrainieren können.

1 Datenverarbeitungssysteme entwerfen

    1.1 Geeignete Speichertechnologien auswählen. Folgendes sollte dabei berücksichtigt werden:

    • Auf die Geschäftsanforderungen abgestimmte Speichersysteme
    • Datenmodellierung
    • Kompromisse bei Latenz, Durchsatz und Zahl der Transaktionen
    • Verteilte Systeme
    • Schemadesign

    1.2 Datenpipelines entwerfen. Folgendes sollte dabei berücksichtigt werden:

    • Datenveröffentlichung und -visualisierung (z. B. BigQuery)
    • Batch- und Streamingdaten (z. B. Cloud Dataflow, Cloud Dataproc, Apache Beam, Apache Spark und Hadoop, Cloud Pub/Sub, Apache Kafka)
    • Onlinevorhersagen (interaktiv) und Batchvorhersagen im Vergleich
    • Jobautomatisierung und -orchestrierung (z. B. Cloud Composer)

    1.3 Lösung für die Datenverarbeitung entwerfen. Folgendes sollte dabei berücksichtigt werden:

    • Wahl der Infrastruktur
    • Systemverfügbarkeit und Fehlertoleranz
    • Einsatz verteilter Systeme
    • Kapazitätsplanung
    • Hybrid-Cloud und Edge-Computing
    • Architekturoptionen (z. B. Nachrichtenbroker, Nachrichtenwarteschlangen, Middleware, dienstorientierte Architektur, serverlose Funktionen)
    • Ereignisverarbeitung mindestens einmal, nacheinander, genau einmal usw.

    1.4 Data-Warehouse-Prozesse und Datenverarbeitung migrieren. Folgendes sollte dabei berücksichtigt werden:

    • Abstimmung auf den aktuellen Status und Möglichkeiten, den Entwurf an künftige Entwicklungen anzupassen
    • Wechsel von lokalen Systemen zur Cloud (Data Transfer Service, Transfer Appliance, Cloud Networking)
    • Überprüfung einer Migration

2. Datenverarbeitungssysteme erstellen und operationalisieren

    2.1 Speichersysteme erstellen und operationalisieren. Folgendes sollte dabei berücksichtigt werden:

    • Effektiver Einsatz verwalteter Dienste (Cloud Bigtable, Cloud Spanner, Cloud SQL, BigQuery, Cloud Storage, Cloud Datastore, Cloud Memorystore)
    • Speicherkosten und Leistung
    • Verwaltung des Datenlebenszyklus

    2.2 Pipelines erstellen und operationalisieren. Folgendes sollte dabei berücksichtigt werden:

    • Datenbereinigung
    • Batch- und Streamingmodus
    • Transformation
    • Datenerfassung und -import
    • Verknüpfung mit neuen Datenquellen

    2.3 Verarbeitungsinfrastrukturen erstellen und operationalisieren. Folgendes sollte dabei berücksichtigt werden:

    • Bereitstellung von Ressourcen
    • Monitoring von Pipelines
    • Anpassung von Pipelines
    • Tests und Qualitätskontrollen

3. Modelle für maschinelles Lernen operationalisieren

    3.1 Vorgefertigte ML-Modelle als Dienst nutzen. Folgendes sollte dabei berücksichtigt werden:

    • ML-APIs (z. B. Vision API, Speech API)
    • Anpassung von ML-APIs (z. B. AutoML Vision, AutoML Text)
    • Dialogorientierte Kommunikation (z. B. Dialogflow)

    3.2 ML-Pipelines bereitstellen. Folgendes sollte dabei berücksichtigt werden:

    • Aufnahme geeigneter Daten
    • Erneutes Trainieren von Modellen für maschinelles Lernen (Cloud Machine Learning Engine, BigQuery ML, Kubeflow, Spark ML)
    • Kontinuierliche Evaluierung

    3.3 Geeignete Trainings- und Bereitstellungsinfrastrukturen auswählen. Folgendes sollte dabei berücksichtigt werden:

    • Verteilte Maschinen und einzelne Maschinen im Vergleich
    • Einsatz von Edge-Computing
    • Hardwarebeschleuniger (z. B. GPU, TPU)

    3.4 Modelle für maschinelles Lernen bewerten, überwachen und Fehler darin beheben. Folgendes sollte dabei berücksichtigt werden:

    • ML-Terminologie (beispielsweise Features, Labels, Modelle, Regression, Klassifizierung, Empfehlung, überwachtes und nicht überwachtes Lernen, Bewertungsmesswerte)
    • Einfluss der Abhängigkeiten von Modellen für maschinelles Lernen
    • Häufige Fehlerquellen (beispielsweise Annahmen über Daten)

4. Lösungsqualität sicherstellen

    4.1 Entwicklung an Sicherheit und Compliance orientieren. Folgendes sollte dabei berücksichtigt werden:

    • Identitäts- und Zugriffsverwaltung (z. B. Cloud IAM)
    • Datensicherheit (Verschlüsselung, Schlüsselverwaltung)
    • Sicherstellung des Datenschutzes (z. B. Data Loss Prevention API)
    • Einhaltung gesetzlicher Vorschriften (z. B. US-Gesetz zur Übertragbarkeit von Krankenversicherungen und Verantwortlichkeit von Versicherern (Health Insurance Portability and Accountability Act, HIPAA), US-Gesetz zum Schutz der Privatsphäre von Kindern im Internet (Children's Online Privacy Protection Act, COPPA), FedRAMP, EU-Datenschutz-Grundverordnung (DSGVO))

    4.2 Skalierbarkeit und Effizienz sicherstellen. Folgendes sollte dabei berücksichtigt werden:

    • Testsuites erstellen und ausführen
    • Pipeline-Monitoring (z. B. Stackdriver)
    • Datendarstellungen und die Infrastruktur für die Datenverarbeitung prüfen, korrigieren und verbessern
    • Größenanpassung und Autoscaling von Ressourcen

    4.3 Zuverlässigkeit und Datenintegrität sicherstellen. Folgendes sollte dabei berücksichtigt werden:

    • Datenaufbereitung und Qualitätskontrolle (z. B. Cloud Dataprep)
    • Verifizierung und Monitoring
    • Planung und Ausführung der Datenwiederherstellung sowie Durchführung von Stresstests (Fehlertoleranz, erneute Ausführung fehlgeschlagener Jobs, rückblickende Re-Analyse)
    • Entscheidung zwischen ACID-, Idempotenz- und Eventual-Consistency-Anforderungen

    4.4 Flexibilität und Portierbarkeit sicherstellen. Folgendes sollte dabei berücksichtigt werden:

    • Ausrichtung an aktuellen und zukünftigen Geschäftsanforderungen
    • Berücksichtigung der Portierbarkeit von Daten und Anwendungen (z. B. Multi-Cloud, Anforderungen an den Datenstandort)
    • Data Staging, Datenkatalogisierung und -ermittlung