Was ist ein Datenpipeline?
Datenpipelines erfassen, transformieren und speichern Daten, um diese Stakeholdern für die verschiedensten Datenprojekte bereitzustellen.
Luftbild einer Ölraffinerie bei Nacht, Thailand.
Was ist ein Datenpipeline?

Eine Datenpipeline ist ein Verfahren, bei dem Rohdaten aus verschiedenen Datenquellen aufgenommen und dann zur Analyse in einen Datenspeicher, z. B. einen Data-Lake oder ein Data-Warehouse, portiert werden. Bevor Daten in ein Datenrepository übertragen werden, erfolgt normalerweise eine Datenverarbeitung. Dies umfasst Datentransformationen, wie Filterung, Maskierung und Aggregationen, die entsprechende Datenintegration und -standardisierung sicherstellen. Besonders wichtig ist das, wenn die Zieladresse für den Datenbestand eine relationale Datenbank ist. Diese Art von Datenrepository verfügt über ein definiertes Schema, das eine Abstimmung – d. h. einen Abgleich von Datenspalten und -typen – erfordert, um vorhandene Daten mit neuen Daten zu aktualisieren. 

Wie der Name nahelegt, fungieren Datenpipelines als „Leitungssystem" für Data-Science-Projekte oder Business-Intelligence-Dashboards. Daten können aus den verschiedensten Quellen stammen – APIs, SQL- und NoSQL-Datenbanken, Dateien etc. – aber leider können diese Daten meist nicht direkt verwendet werden. Aufgaben im Bereich der Datenaufbereitung werden in der Regel von Data-Scientists oder Dateningenieuren durchgeführt, die die Daten strukturieren, um den Anforderungen des Geschäftsanwendungsfalls gerecht zu werden. Die Art der Datenverarbeitung, die eine Datenpipeline erfordert, wird normalerweise durch eine Mischung aus explorativer Datenanalyse und definierten Geschäftsanforderungen bestimmt. Sobald die Daten entsprechend gefiltert, zusammengeführt und zusammengefasst wurden, können sie gespeichert und zur Nutzung bereitgestellt werden. Gut organisierte Datenpipelines stellen die Grundlage für die verschiedensten Datenprojekte bereit; dies kann explorative Datenanalysen, Datenvisualisierungen und Aufgaben des maschinellen Lernens umfassen.

Arten von Datenpipelines

Es gibt zwei Hauptarten von Datenpipelines: Stapelverarbeitung und Streaming-Daten.

Stapelverarbeitung

Die Entwicklung der Stapelverarbeitung war ein wichtiger Schritt bei der Erstellung von zuverlässigen und skalierbaren Dateninfrastrukturen. Im Jahr 2004 wurde MapReduce, ein Stapelverarbeitungsalgorithmus, patentiert und anschließend in Open-Source-Systeme wie Hadoop, CouchDB und MongoDB integriert.

Wie der Name nahelegt, werden bei der Stapelverarbeitung „Stapel" von Daten innerhalb von festgelegten Zeitintervallen, die normalerweise außerhalb der Hauptgeschäftszeiten geplant werden, in ein Repository geladen. Auf diese Weise werden andere Workloads nicht beeinflusst, da Stapelverarbeitungsjobs in der Regel mit großen Datenvolumen arbeiten, die das Gesamtsystem strapazieren können. Stapelverarbeitung ist normalerweise die optimale Datenpipeline, sofern keine direkte Notwendigkeit beseht, einen bestimmten Datenbestand (z. B. monatliche Buchhaltung) zu analysieren, und eher dem ETL-Datenintegrationsprozess zugeordnet, was für „extrahieren, transformieren und laden" steht.

Stapelverarbeitungsjobs bilden einen Workflow aus folgegebundenen Befehlen, wobei die Ausgabe eines Befehls zur Eingabe des nächsten Befehls wird. Beispielsweise kann ein Befehl eine Datenaufnahme starten, der nächste Befehl die Filterung bestimmter Spalten auslösen und der darauffolgende Befehl eine Aggregation abwickeln. Diese Reihe von Befehlen wird fortgesetzt, bis die Daten vollständig transformiert und in das Datenrepository geschrieben wurden.

Streamingdaten

Im Gegensatz zur Stapelverarbeitung werden Streamingdaten verwendet, wenn Daten fortlaufend aktualisiert werden müssen. Apps oder Point-of-Sale-Systeme benötigen beispielsweise Echtzeitdaten, um Bestand und Verkaufshistorie ihrer Produkte zu aktualisieren; auf diese Weise können Verkäufer Verbraucher darüber informieren, ob ein Produkt auf Lager ist oder nicht. Eine einzelne Maßnahme, wie z. B. ein Produktverkauf, gilt als „Ereignis" und zugehörige Ereignisse, wie z. B. das Hinzufügen eines Artikels zum Check-out, werden in der Regel als „Thema" oder „Datenstrom" gruppiert. Diese Ereignisse werden dann über Messaging-Systeme oder Nachrichtenbroker, wie z. B. die Open-Source-Lösung Apache Kafka, übertragen. 

Da Datenereignisse kurz nach Auftreten verarbeitet werden, haben Streamingverarbeitungssysteme eine niedrigere Latenz als Stapelsysteme, gelten aber als weniger zuverlässig als diese, weil Nachrichten unbeabsichtigt aufgegeben oder lange Zeit in der Warteschlange bleiben können. Nachrichtenbroker tragen dazu bei, dieses Problem durch Bestätigungen anzugehen, wobei ein Nutzer dem Broker die Verarbeitung der Nachricht bestätigt, um diese aus der Warteschlange zu löschen. 

So wird mit IBM Streams eine Kafka-Streaming-App erstellt

Architektur der Datenpipeline

Drei zentrale Schritte bilden die Architektur einer Datenpipeline. 

1. Datenaufnahme: Daten werden aus verschiedenen Datenquellen erfasst, die unterschiedliche Datenstrukturen (d. h. strukturierte und unstrukturierte Daten) umfassen. Bei Streaming-Daten sind diese Rohdatenquellen üblicherweise als Produzenten, Bereitsteller oder Absender bekannt. Während Unternehmen entscheiden können, Daten nur dann zu extrahieren, wenn sie für die Verarbeitung bereit sind, ist es besser, die Rohdaten zuerst bei einem Anbieter von Cloud-Data-Warehouses zu speichern. Auf diese Weise kann das Unternehmen historische Daten aktualisieren, wenn Datenverarbeitungsjobs angepasst werden müssen. 

2. Datentransformation: In diesem Schritt werden mehrere Jobs ausgeführt, um Daten in das vom Zieldatenrepository benötigte Format zu bringen. Diese Jobs betten Automation und Governance für sich wiederholende Workstreams wie das Erstellen von Geschäftsberichten ein, und sorgen dafür, dass Daten durchgängig bereinigt und transformiert werden.  So kann ein Datenstrom beispielsweise ein verschachteltes JSON-Format aufweisen und bei der Datentransformation wird versucht, diese JSON aufzulösen, um die wichtigen Felder für die Analyse zu extrahieren.

3. Datenspeicherung: Die transformierten Daten werden dann in einem Datenrepository gespeichert, wo sie verschiedenen Stakeholdern zugänglich sein können. Bei Streaming-Daten sind diese transformierten Daten üblicherweise als Nutzer, Abonnenten oder Empfänger bekannt.  

Datenpipeline im Vergleich zu ETL-Pipeline

Sie stellen möglicherweise fest, dass einige Begriffe wie Datenpipeline und ETL-Pipeline synonym verwendet werden. Allerdings sollten Sie ETL-Pipelines als Unterkategorie von Datenpipelines betrachten. Die beiden Arten von Pipelines unterscheiden sich durch drei wichtige Merkmale:

• ETL-Pipelines folgen einer bestimmten Sequenz. Wie die Abkürzung impliziert, werden Daten extrahiert, transformiert und dann in ein Datenrepository geladen und darin gespeichert. Nicht alle Datenpipelines müssen dieser Sequenz folgen. Tatsächlich wurden ETL-Pipelines mit dem Aufkommen von cloudnativen Tools beliebter. Während bei dieser Art von Pipeline die Datenaufnahme weiterhin zuerst erfolgt, werden Transformationen erst durchgeführt, nachdem die Daten in das Cloud-Data-Warehouse geladen wurden.  

• ETL-Pipelines schließen tendenziell die Verwendung von Stapelverarbeitung ein, allerdings ist der Umfang von Datenpipelines größer, wie vorstehend angemerkt. Sie können auch Datenstromverarbeitung einschließen. 

• Schließlich, wenn auch eher unwahrscheinlich, müssen Datenpipelines als Ganzes nicht unbedingt Datentransformationen durchführen wie ETL-Pipelines. Es gibt allerdings kaum eine Datenpipeline, die keine Datentransformationen nutzt, um die Datenanalyse zu vereinfachen. 

Anwendungsfälle von Datenpipelines

Da Big Data weiter zunehmen, wird Datenmanagement zu einer immer höheren Priorität. Während Datenpipelines verschiedene Funktionen erfüllen, handelt es sich bei den folgenden um drei umfassende Anwendungsfälle in Unternehmen: 

• Explorative Datenanalyse: Explorative Datenanalyse (EDA) wird von Data-Scientists verwendet, um Datensätze zu analysieren und zu untersuchen und ihre Hauptmerkmale zusammenzufassen, wobei häufig Datenvisualisierungsmethoden verwendet werden. Sie hilft herauszufinden, wie die Datenquellen am besten bearbeitet werden können, um die benötigten Antworten zu erhalten und Muster und Anomalien zu erkennen, Hypothesen zu testen oder Annahmen zu überprüfen.

• Datenvisualisierungen: Datenvisualisierungen stellen Daten mit allgemeinen Grafiken, wie z. B. Diagrammen, Plots, Infografiken und sogar Animationen, dar. Diese visuellen Darstellungen von Informationen vermitteln komplexe Datenbeziehungen und datengestützte Erkenntnisse auf leicht verständliche Weise.

• Maschinelles Lernen: Maschinelles Lernen ist ein Teilgebiet von künstlicher Intelligenz (KI) und Informatik, das sich auf die Verwendung von Daten und Algorithmen konzentriert, um die Art und Weise zu imitieren, wie Menschen lernen, und damit schrittweise die Genauigkeit verbessert. Durch die Anwendung statistischer Methoden werden Algorithmen geschult, um Klassifikationen oder Vorhersagen zu machen und wichtige Erkenntnisse innerhalb von Data-Mining-Projekten aufzudecken.

IBM Lösungen
Ressourcen Mit IBM® Cloud Pak for Data und Datameer eine vollständige Datenpipeline erstellen

Lesen Sie den Blog und erfahren Sie, wie die Partnerschaft zwischen IBM Cloud Pak for Data und Datameer Sie dabei unterstützen kann, eine solide Datenpipeline zu erstellen.

Schaffen Sie eine solide Datenbasis für KI

Lesen Sie das Smartpaper zum Aufbau einer stabilen Datenbasis für KI durch Konzentration auf drei entscheidende Datenmanagementbereiche: Zugriff, Governance sowie Datenschutz und Compliance.

State Bank of India

Erfahren Sie, wie die State Bank of India (Staatsbank von Indien) mehrere IBM Lösungen zusammen mit der IBM® Garage-Methode verwendete, um eine umfassende Online-Banking-Plattform zu entwickeln.

Datenpipelines und IBM

IBM Cloud Pak for Data nutzt Microservices und sein führendes Daten- und KI-Leistungsspektrum, um die intelligente Integration verteilter Datensysteme zu ermöglichen und Unternehmen eine ganzheitliche Sicht der Unternehmensleistung zu bieten. Dies erleichtert die schnellere Zusammenstellung, Organisation und Einsicht in Unternehmensdaten und ermöglicht es Unternehmen, Entscheidungen im richtigen Maß zu treffen. Datenmanagement-Teams können zudem darauf vertrauen, dass ihre Daten sicher sind – mit konkurrenzfähigen IBM Sicherheitsframeworks zur Gewährleistung der Einhaltung regulatorischer Richtlinien und Reduzierung jeglicher Compliancerisiken. Erfahren Sie, wie IBM Cloud Pak® for Data und IBM Streams die Datenpipeline-Architektur Ihres Unternehmens über mehrere Umgebungen hinweg verbessern können.

IBM Cloud Pak® for Data