Skip to Content

Was ist ETL?

ETL (Extrahieren, Transformieren und Laden) ist ein wichtiger Prozess beim Data Warehousing, wenn Unternehmen Daten aus mehreren Quellen abrufen und an einem zentralen Ort speichern müssen. Die Prozesslogik und das Infrastrukturdesign hängen von den Geschäftsanforderungen, den zu speichernden Daten und davon ab, ob das Format strukturiert oder unstrukturiert ist.

Was ist ETL?

Daten aus verschiedenen Quellen müssen in einer bestimmten Form gespeichert werden, damit Anwendungen, maschinelles Lernen, künstliche Intelligenz und Analysen damit arbeiten können. Der ETL-Prozess ist eine Gruppe von Geschäftsregeln, die die Datenquellen bestimmen, die zum Abrufen von Daten verwendet werden, sie in ein bestimmtes Format umwandeln und dann in eine Datenbank laden. Daten können strukturiert oder unstrukturiert sein oder beides.

Nach dem ETL-Prozess werden die Daten in einem Data Warehouse gespeichert, in dem Administratoren sie weiter verwalten können. Administratoren, die für die Datenbanken verantwortlich sind, in denen ETL-Daten gespeichert sind, verwalten Protokollierung, Auditierung und Backups. Die Protokolldaten für ETL-Ereignisse könnten auch eine eigene Datenpipeline durchlaufen, bevor sie für administrative Analysen in einem Data Warehouse gespeichert werden.

Der ETL-Prozess

ETL besteht aus drei Schritten: Extrahieren, Transformieren und Laden. Datenbankadministratoren, Entwickler und Cloud-Architekten entwerfen den ETL-Prozess in der Regel unter Verwendung von Geschäftsregeln und Anwendungsanforderungen. Das Design eines ETL-Prozesses befasst sich mit den folgenden drei Schritten:

  • Extrahieren: Rohdaten für die Extraktion können aus einer oder mehreren Quellen stammen. Quellen können von einer API, einer Website, einer anderen Datenbank, IoT-Protokollen, Dateien, einer E-Mail oder einem anderen ingestiblen Datenformat stammen. Da Quellen verschiedene Formate haben könnten, bezieht der erste Schritt in ETL Daten aus einer Quelle für den nächsten Schritt.
  • Transformieren: Geschäftsregeln und der Ziel-Storage-Standort definieren das Transformationsdesign. Daten müssen formatiert, gefiltert und validiert werden, bevor sie an das Data Warehouse gesendet werden können. Doppelte Daten können Analyseergebnisse verzerren, sodass doppelte Einzelpositionen vor dem Speichern entfernt werden. Daten werden so formatiert, dass sie gespeichert werden können. Beispielsweise kann eine Telefonnummer mit oder ohne Bindestriche gespeichert werden, sodass der Transformationsprozess Bindestriche entweder hinzufügt oder entfernt, bevor er an den Storage gesendet wird.
  • Laden: Nach der Transformation werden Daten zum Storage an das Data Warehouse gesendet. Daten müssen gespeichert und Duplikate vermieden werden, sodass der Ladeschritt bei jeder Ausführung des ETL-Prozesses inkrementelle Änderungen berücksichtigen muss. ETL wird bei größeren Unternehmen oft mehrmals täglich ausgeführt, sodass nur neue Daten hinzugefügt werden, ohne die aktuellen Anwendungsdaten zu beeinträchtigen, die bereits in der Datenbank gespeichert sind.

Vorteile von ETL

Sobald ein ETL-Prozess entwickelt wurde, wird er den ganzen Tag über automatisch ausgeführt. Einige ETL-Prozesse können wöchentlich oder monatlich auftreten, und die meisten Datenbank-Engines bieten einen Scheduler, der auf dem Server ausgeführt wird, um Aufgaben zu einer festgelegten Zeit auszuführen. Ein gut konzipierter ETL-Prozess erfordert nicht viele Änderungen und kann Daten aus verschiedenen Quellen ohne manuelle Interaktion importieren.

Rohdaten ohne Transformation sind in der Regel für Analysen nutzlos, insbesondere wenn Ihr Unternehmen ähnliche Daten aus mehreren Quellen verwendet. Beispielsweise könnte ein Unternehmen, das mit Verkehrsanalysen arbeitet, Daten aus verschiedenen Regierungsquellen abrufen. Es ist sehr wahrscheinlich, dass alle Quellen doppelte Datensätze erstellen, aber ein ETL-Prozess nimmt die Daten auf, entfernt Duplikate und formatiert die Daten für interne Analyseanwendungen. Unternehmen konnten Daten von zahlreichen Standorten abrufen und sie automatisch auf interne Analysen vorbereiten, was auch zukünftige Geschäftsentscheidungen und Produkteinführungen ermöglicht.

ETL beschleunigt Datenaktualisierungen, sodass Unternehmen profitieren, die mit aktuellen oder Echtzeitdaten arbeiten müssen. Herkömmlicherweise wurden Datenimporte gebündelt und die ETL war langsam. Unternehmen sehen möglicherweise mehrere Stunden lang keine Änderungen an Daten, aber die aktuelle ETL-Technologie stellt Aktualisierungen an Daten bereit, sodass Analysen die jüngsten Änderungen an Trends widerspiegeln können.

ETL-Tools und -Technologien

Für große Datenpipelines verwenden die meisten Unternehmen nutzerdefinierte Tools und Skripte für ETL. Datenbank-Engines verfügen oft über eigene ETL-Funktionen, sodass Unternehmen Daten importieren können. Wie Sie Daten speichern, hängt davon ab, ob Sie unstrukturierte oder strukturierte Daten benötigen. Strukturierte Daten erfordern mehr Formatierung als unstrukturierte Daten, sodass alle sofort einsatzbereiten Tools in die von Ihnen gewählte Datenbankplattform integriert werden müssen.

Einige Tools für ETL:

  • Talend: Bietet eine Open-Source-GUI für die Integration von Drag-and-Drop-Datenpipelines
  • Informatica PowerCenter: Gibt Endbenutzern die Tools zum Importieren von Daten und zum Entwerfen eigener Datenpipelines für Geschäftsprojekte
  • AWS Glue: Ermöglicht das Entwerfen von ETL aus unstrukturierten und strukturierten Daten zum Speichern auf S3-Buckets
  • Google Cloud Dataflow: Ermöglicht es Ihnen, serverlose ETL-Prozesse zum Speichern von Daten auf der Google Cloud Platform (GCP) zu erstellen

Best Practices für die ETL-Implementierung

Der Schlüssel zu einem guten ETL-Design sind Performance und Genauigkeit. Die Performance hängt oft von der zugrunde liegenden Infrastruktur ab. Daher ist es wichtig, über ein Data Warehouse zu verfügen, das skaliert werden kann und mit zunehmenden Belastungen Schritt hält. Strukturierte Daten benötigen aufgrund der vielen Tabellenbeschränkungen oft mehr Zeit für die Transformation, aber Lösungen wie FlashArray™ sind für große Datenimporte konzipiert und stellen sicher, dass lokale Pipelines weiterhin schnell ausgeführt werden.

Entwerfen Sie immer ETL-Prozesse für Skalierung und Unbekanntes. Es ist sehr möglich, dass Sie irgendwann einen Datensatz importieren, der nicht transformiert werden kann. Alle Fehler sollten protokolliert und Aufzeichnungen zur weiteren Überprüfung gespeichert werden. Es kann bedeuten, dass in Ihrem ETL ein Fehler vorliegt oder dass das Design einen Edge-Fall verpasst, der durch Änderungen am ETL-Code behoben werden kann.

Nicht alle ETL-Prozesse funktionieren mit physischen Servern, sodass Lösungen wie Portworx® virtualisierte und containerisierte Datenbanken und Analysen verarbeiten. Containerisierte Services müssen skaliert werden, wenn mehr Daten importiert werden, und mit gängigen Orchestrierungstools arbeiten. Portworx lässt sich in Orchestrierungstools wie Kubernetes für dynamische und konsistent aktualisierte Pipelines integrieren.

Herausforderungen und Lösungen bei ETL

Da sich Datenquellen und Geschäftsanforderungen ständig ändern, stehen Administratoren, die für die Entwicklung von ETL verantwortlich sind, vor Herausforderungen im Zusammenhang mit Skalierung, Updates und Qualitätskontrolle. Die Skalierungsherausforderungen ergeben sich in der Regel aus Storage-Platzbeschränkungen, sodass Administratoren dieses Problem mit Storage beheben können, der mit steigendem Daten-Storage-Bedarf skaliert wird.

Herausforderungen bei sich ändernden Geschäftsanforderungen werden häufig gewartet. Eine Datenquelle kann die Art und Weise ändern, wie Daten gespeichert werden, oder Entwickler können Änderungen an einer Anwendung vornehmen, die Änderungen an Transformations- oder Laststrukturen erfordert. Ohne Dokumentation von Datenquellen von Drittanbietern, die Administratoren warnen, werden Änderungen am Daten-Storage oder an den Lastanforderungen erst dann angezeigt, wenn Fehler im ETL-Prozess auftreten. Protokollierung und Warnungen helfen Administratoren, Probleme frühzeitig zu erkennen, sodass sie Änderungen an der ETL-Codierung vornehmen können. Frühe Änderungen verringern die Auswirkungen von Fehlern auf die Unternehmensproduktivität und den Umsatz.

Das Design eines ETL-Prozesses ist eine der schwierigsten Aufgaben, aber es kann einfacher sein, wenn Administratoren mit Stakeholdern sprechen und sicherstellen, dass Geschäftsregeln enthalten sind. Die Neugestaltung und Neubewertung eines ETL-Designs kann die Implementierung verzögern und unnötigen Overhead verursachen. Dokumentieren Sie alle Geschäftsregeln, sodass jeder Fall in ein ETL-Design aufgenommen werden kann, um übermäßige Neuschreibungen zu vermeiden.

Halten Sie verschiedene ETL-Prozesse voneinander getrennt und unabhängig. Diese Lösung stellt sicher, dass der gesamte ETL-Prozess nicht fehlschlägt, wenn eine Komponente ausfällt. Wenn beispielsweise eine externe API abstürzt, wird die Extraktion von Daten aus allen anderen Quellen immer noch abgeschlossen, bis die API wieder verfügbar ist. Es ist auch möglich, bei Bedarf mehrere ETL-Zeitpläne zu erstellen. Wenn Sie mit mehreren Cloud-Plattformen arbeiten, unterstützt Pure Storage Cloud Storage AWS, Azure, GCP und andere wichtige Plattformen.

ETL vs. ELT 

Es ist wichtig zu beachten, dass ETL ressourcenintensiv sein und eine gewisse Latenz bei der Datenverfügbarkeit mit sich bringen kann, insbesondere beim Umgang mit großen Datensätzen. Wenn die Datenverarbeitung in Echtzeit oder nahezu in Echtzeit eine kritische Anforderung ist, können andere Datenintegrationsmethoden wie die Erfassung von Änderungsdaten (CDC) oder Streaming-Datenpipelines geeigneter sein.

Darüber hinaus ist ELT (Extract, Load, Transformation) in den letzten Jahren zu einer beliebten Alternative zu ETL geworden, insbesondere in Cloud-basierten Datenumgebungen, in denen die Datentransformation innerhalb des Zieldaten-Storage-Systems durchgeführt werden kann. ELT kann für einige Anwendungsfälle kostengünstiger und skalierbarer sein, aber die Wahl zwischen ETL und ELT hängt von Ihren spezifischen Anforderungen und den Technologien ab, die Sie verwenden.

Fazit

Die Entwicklung einer ETL-Lösung dauert Zeit, aber vergessen Sie nicht, ein System zu entwickeln, das mit zunehmendem Daten-Storage skalierbar ist. Eine der am einfachsten zu lösenden Herausforderungen ist die Daten-Storage-Kapazität, und Pure Storage-Lösungen sind für Data Warehousing für unstrukturierte und strukturierte Daten konzipiert.

Andere Herausforderungen können mit guten Designstandards, Dokumentation und Qualitätssicherungstests gelöst werden. Vielleicht stellen Sie fest, dass einige Tools beim Design helfen können, aber ETL wird oft auf das Unternehmen zugeschnitten. Testen Sie eine kleine Stichprobe von Daten in einer Bereitstellungsumgebung und erwarten Sie, dass die ETL-Codierung bei Einführung neuer Geschäftsanforderungen kontinuierlich beibehalten wird.

12/2024
Portworx on Red Hat OpenShift Bare Metal Reference Architecture
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts for use with OpenShift Virtualization.
Referenzarchitektur
33 Seiten
KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.