by Sally Bo Hatter
Share
by Sally Bo Hatter
Heutzutage ist es schwer, sich ein Unternehmen vorzustellen, das nicht auf Daten angewiesen ist, und die Rolle der Datentechnik hat in den letzten Jahren erheblich zugenommen. Gleichzeitig versuchen Unternehmen, von der Nutzung von Cloud Computing zu profitieren, um Kosten und Risiken im Zusammenhang mit der Wartung von lokalen Plattformen zu reduzieren, eine größere Flexibilität zu erreichen und Zugang zu einer Vielzahl von Tools zu erhalten, die die Cloud bieten kann. Im Folgenden sehen wir uns an, welche Dienste und Tools die Google Cloud Platform (GCP) für das Data Engineering bieten kann.
BigQuery
BigQuery ist einer der besten Dienste auf GCP für die Analyse großer Datenmengen. BigQuery ist eine OLAP-Datenbank und damit die perfekte Wahl für ein Cloud Data Warehouse. Es funktioniert nahtlos und erfordert keine komplexe Konfiguration oder spezielle Kenntnisse über Datenbanken, um es effizient zu nutzen. Das Ökosystem von BigQuery unterstützt Ad-hoc-Abfragen, ein darauf aufbauendes BI-Tool, KI- und/oder ML-Anwendungen, das Laden und Exportieren von Daten sowie die Organisation einer feinkörnigen Zugriffskontrolle auf Daten. BigQuery ist gut mit anderen Diensten integriert. So können beispielsweise Protokolldaten aus anderen Diensten zur weiteren Analyse in BigQuery geladen werden. Der einzige Aspekt, den Sie im Auge behalten müssen, sind die Kosten. Die Preise bestehen aus zwei Teilen: Rechenleistung (pro Abfrage oder für zugewiesene Kapazität) und Speicherplatz. Je nach Ihrer Datenstrategie und Ihren Anwendungsfällen kann das teuer werden. Das andere Problem kann die Latenz sein. Bei Anwendungen, die auf einem BigQuery Data Warehouse implementiert werden, sollten Sie dies also berücksichtigen. Weitere Informationen über BigQuery finden Sie hier.
Dataflow
Dataflow ist eine vollständig verwaltete Stream- und Stapelverarbeitungs-Engine. Dataflow ermöglicht die Verarbeitung großer Datenströme mit geringer Latenz und hoher Konsistenz. Stellen Sie sich vor, Sie haben einen konstanten Strom von Ereignissen von zahlreichen Geräten, die Sie zusammenfassen und zur weiteren Analyse in eine Datenbank laden müssen, oder ein Protokoll von Keep-Alive-Ereignissen von einem Benutzergerät, das Sie in Benutzersitzungen umwandeln möchten. Das sind Beispiele für Arbeitsbelastungen, die perfekt zu Dataflow passen würden. Dataflow verwendet Apache Beam als Programmierschnittstelle. Sobald die Pipeline geschrieben ist, kann sie auf einer Vielzahl von Runnern ausgeführt werden, einschließlich, aber nicht beschränkt auf Apache Spark oder Apache Flink und Dataflow selbst [1]. Google Cloud enthält auch eine große Liste von Vorlagen für Dataflow-Pipelines mit verschiedenen Datenquellen und -senken. Dataflow kann in ETL verwendet werden, um Daten von einem Dienst zu einem anderen zu verschieben und umzuwandeln, Daten an ein ML-Modell zu liefern, als Teil einer Anwendung, die die Verarbeitung eines Stroms von Ereignissen (Log-Ereignisse, Klicks usw.) erfordert, als Teil einer Lambda-Architektur. Einer der Vorteile von Dataflow ist, dass es im Vergleich zu Alternativen wie Dataproc wenig Konfiguration und Wartung erfordert, aber gleichzeitig kann Dataflow für die gleiche Arbeitslast teurer sein. Weitere Einzelheiten: https://cloud.google.com/dataflow. [1] Runner unterscheiden sich in ihren Fähigkeiten und können die Portabilität einer bestimmten Pipeline beeinflussen. Die Informationen zu den Fähigkeiten finden Sie in der offiziellen Apache Beam Dokumentation.
Dataproc
Dataproc unterstützt einen Hadoop-Cluster auf Google Cloud. Neben Hadoop umfasst es Apache Spark, Flink, Zookeeper, Solr und andere Dienste, die das Hadoop-Ökosystem ausmachen. Es kann entweder auf einer klassischen Compute Engine oder auf der Kubernetes Engine (GKE) laufen. Der serverlose Teil von Dataproc unterstützt Apache Spark-Jobs, ohne einen Cluster zu erstellen. Dataproc ist ein gutes Tool für Ad-hoc-Analysen auf unstrukturierten Daten oder für das Hosting von Data Lake- oder Lakehouse-Workloads. Es ist ein Service der Wahl für die Migration eines bestehenden On-Premises Data Lake in die Cloud. Wie bereits erwähnt, kann er als Alternative zu Dataflow dienen. Er kostet weniger, erfordert aber im Vergleich zu Dataflow mehr Fachwissen und einen höheren Wartungsaufwand. Außerdem hat Dataproc im Vergleich zu Dataflow eine etwas niedrigere SLA. Welche Lösung Sie wählen sollten, hängt von Ihrem konkreten Problem ab. Weitere Informationen über Dataproc finden Sie hier.
Cloud-Storage
Cloud Storage ist ein Objektspeicher ähnlich wie Amazon S3 und Azure Blob Storage. Cloud Storage ist ein hoch skalierbarer, hoch verfügbarer Speicher, der als Plattform für die Speicherung großer Mengen unstrukturierter oder halbstrukturierter Daten dienen kann. Er kann als Grundlage für einen modernen Data Lake, als Landezone für andere Dienste oder als Archiv-/Backup-Speicher dienen. Es ist gut mit vielen Google Cloud-Diensten integriert: BigQuery, Dataflow und Dataproc können auf Cloud Storage lesen und schreiben. Ein Spark- oder Hadoop-Job, der den Cloud Storage Connector verwendet, kann zum Beispiel direkt auf Cloud Storage zugreifen. Für Cloud Storage sind je nach Anwendungsfall verschiedene Speicherklassen und SLAs verfügbar. Mehr Informationen.
Cloud Composer
Beim Laden von Daten in ein Data Warehouse oder bei der Transformation von Daten in einem Data Lake müssen wir Abhängigkeiten zwischen den einzelnen Schritten berücksichtigen und einen Zeitplan festlegen, d.h. Workflows erstellen und verwalten. Apache Airflow ist eines der beliebtesten Tools für die Workflow-Orchestrierung. Es unterstützt die Organisation von Aufgaben in einem gerichteten azyklischen Graphen fester Größe (oder einem unendlich wachsenden Graphen im Falle eines Zyklus im Workflow) und die Verknüpfung eines Zeitplans mit diesem. Cloud Composer ist ein vollständig verwaltetes Apache Airflow, das in der Google Cloud gehostet wird. Er bietet die Integration mit anderen Diensten und ermöglicht ein flexibles Kostenmanagement. Dennoch kann es für kleine Unternehmen einen Nachteil geben, wenn es um das Kosten-Nutzungs-Verhältnis geht, da Cloud Composer nicht auf Null skaliert und die Instanz von Cloud Composer tagsüber ungenutzt bleibt, wenn Arbeitslasten für die nächtliche Ausführung geplant sind. In diesem Fall kann es von Vorteil sein, einen selbstverwalteten und einfacheren Scheduler auf einer VM laufen zu lassen. Weitere Einzelheiten finden Sie hier.
Fazit
Google Cloud bietet zahlreiche Möglichkeiten für Data Engineering und das Hosten von datengesteuerten Anwendungen in Form von gut integrierten und vollständig verwalteten On-Demand-Diensten sowie vielen Partner- undDrittanbieterdiensten, die auf Google Cloud laufen können. Weitere vollständig integrierte Dienste, die nicht behandelt wurden, aber dennoch erwähnenswert sind, sind:
- Looker, ein Tool zur Datenvisualisierung/BI.
- Cloud Data Fusion, ein vollständig verwaltetes Tool zur visuellen Datenintegration.
- Pub/Sub, eine verteilte, serverlose Nachrichtenwarteschlange.
- Datastream für BigQuery, ein Anbieter von nahtloser Replikation von relationalen Datenbanken direkt zu BigQuery.
Bei der Wahl des richtigen Tools müssen viele Nuancen berücksichtigt werden, was eine schwierige Aufgabe sein kann. Eines können Sie sicher sein: Es gibt keine Lösung, die für alle Anwendungsfälle geeignet ist. Eine maßgeschneiderte Lösung sollte auf die Anwendungsfälle, die Anforderungen der Stakeholder und die Datenstrategie Ihres Unternehmens abgestimmt sein.