Startseite
Themen
Datenpipeline
Aktualisiert: 14. Juni 2024
Mitwirkender: Cole Stryker
Eine Datenpipeline ist eine Methode, bei der Rohdaten aus verschiedenen Datenquellen erfasst, konvertiert und dann zur Analyse in einen Datenspeicher wie einen Data Lake oder ein Data Warehouse übertragen werden.
Bevor Daten in einen Speicher eingespeist werden, werden sie in der Regel vorverarbeitet. Dies beinhaltet Konvertierungen wie Filterung, Maskierung und Aggregationen, die eine angemessene Datenintegration und Standardisierung sicherstellen. Dies ist besonders wichtig, wenn der Datensatz in eine relationale Datenbank übertragen wird. In dieser Art von Datenspeicher müssen Spalten und Datentypen ein bestimmtes Muster einhalten, damit vorhandene Daten durch neue aktualisiert werden können.
Wie der Name nahelegt, fungieren Datenpipelines als „Leitungssysteme“ für Data-Science-Projekte oder Business-Intelligence-Dashboards. Daten können aus den verschiedensten Quellen stammen – z. B. APIs, SQL- und NoSQL-Datenbanken, Dateien usw. – sind aber meist nicht direkt verwendbar. Beim Bereitstellen wird die Datenabstammung verfolgt, um die Beziehung zwischen Unternehmensdaten in verschiedenen Geschäfts- und IT-Anwendungen zu dokumentieren, z. B. wo sich Daten aktuell befinden und wie sie in einer Umgebung gespeichert werden, z. B. lokal, in einem Data Lake oder Data Warehouse.
In der Regel übernehmen Data Scientists oder Dateningenieure die Aufbereitung der Daten, um sie so zu strukturieren, dass sie die Anforderungen der geschäftlichen Anwendungsfälle erfüllen und riesige Datenmengen verarbeiten können. Wie die Daten in einer Datenpipeline zu verarbeiten sind, ergibt sich normalerweise durch eine Mischung aus explorativer Datenanalyse und definierten Geschäftsanforderungen. 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, wie explorative Datenanalysen, Datenvisualisierungen und Aufgaben des maschinellen Lernens.
Skalieren Sie KI-Workloads für alle Ihre Daten, egal, wo sie sich befinden.
Es gibt mehrere Haupttypen von Datenpipelines, die jeweils für bestimmte Aufgaben auf bestimmten Plattformen geeignet sind.
Die Entwicklung der Stapelverarbeitung war ein wichtiger Schritt, um zuverlässige, skalierbare Dateninfrastrukturen zu erstellen. 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, normalerweise außerhalb der Hauptgeschäftszeiten, in einen Speicher geladen. Dadurch werden keine anderen Workloads gestört, da in der Regel große Datenvolumen stapelweise verarbeitet werden, die das Gesamtsystem belasten können. Die Stapelverarbeitung ist normalerweise die optimale Datenpipeline, sofern nicht ein bestimmter Datensatz (z. B. monatliche Buchhaltung) dringend analysiert werden muss, und zählt eher zur Datenintegration per „extrahieren, konvertieren, laden“ (ETL).
Die einzelnen Jobs bei der Stapelverarbeitung bilden eine Abfolge aus Befehlen, wobei die Ausgabe des einen zur Eingabe des nächsten wird. Beispielsweise startet der eine Befehl die Datenaufnahme, woraufhin der nächste das Filtern bestimmter Spalten auslöst und der darauffolgende wiederum Daten aggregiert. Diese Abfolge von Befehlen wird fortgesetzt, bis die Datenqualität vollständig konvertiert und in einen Datenspeicher geschrieben wurde.
Im Gegensatz zur Stapelverarbeitung handelt es sich bei Streaming-Datenpipelines – auch bekannt als ereignisgesteuerte Architekturen – um kontinuierliche Ereignisse, die von verschiedenen Quellen wie Sensoren oder Benutzerinteraktionen innerhalb einer Anwendung generiert wurden. Ereignisse werden verarbeitet und analysiert und dann entweder in Datenbanken gespeichert oder zur nachgelagerten Analyse weitergeleitet.
Streaming wird genutzt, wenn Daten fortlaufend aktualisiert werden müssen. Kassenanwendungen oder -systeme benötigen beispielsweise Echtzeitdaten, um Bestand und Verkaufshistorie von Produkten zu aktualisieren und Auskunft über die Vorrätigkeit eines Produkts geben zu können. Eine Einzelaktion, beispielsweise ein Produktverkauf, wird als „Ereignis“ betrachtet, und verwandte Ereignisse, beispielsweise das Hinzufügen eines Artikels zur Kasse, werden in der Regel als „Thema“ oder „Stream“ gruppiert. Diese Ereignisse werden dann über Messaging-Systeme oder Nachrichtenbroker übertragen, wie z. B. die Open-Source-Lösung Apache Kafka.
Da Datenereignisse kurz nach dem Auftreten abgewickelt werden, haben Systeme zur Verarbeitung von Streamingdaten eine geringere Latenzzeit als Stapelverarbeitungssysteme, gelten jedoch als weniger zuverlässig, weil Nachrichten unbeabsichtigt aufgegeben oder lange Zeit in der Warteschlange bleiben können. Dieses Problem kann mit Bestätigungen durch Nachrichtenbroker angegangen werden: Ein Benutzer bestätigt dem Broker die Verarbeitung der Nachricht, damit sie aus der Warteschlange gelöscht wird.
Der Schwerpunkt von Pipelines zur Datenintegration liegt darauf, Daten aus mehreren Quellen in einer einheitlichen Ansicht zusammenzuführen. Diese Pipelines umfassen oft ETL-Prozesse (extrahieren, konvertieren, laden), die Rohdaten bereinigen, anreichern oder anderweitig ändern, bevor sie in einem zentralen Speicher wie einem Data Warehouse oder Data Lake abgelegt werden. Datenintegrationspipelines sind unerlässlich bei der Arbeit mit heterogenen Systemen, die inkompatible Formate oder Strukturen generieren. Beispielsweise kann eine Verbindung zu Amazon S3 (Amazon Simple Storage Service) hinzugefügt werden – einem AWS-Service (Amazon Web Services), der Objektspeicher über eine Web-Service-Oberfläche bereitstellt.
Eine moderne Datenplattform besteht aus einer Suite von cloudnativen Cloud-First-Softwareprodukten zur Erfassung, Bereinigung, Konvertierung und Analyse von Unternehmensdaten, um die Entscheidungsfindung zu verbessern. Moderne Datenpipelines werden immer komplexer und spielen bei Datenanalysen und datengestützten Entscheidungen eine immer größere Rolle. Vertrauen in diese Daten wird durch eine moderne Datenplattform geschaffen, die Daten so aufnimmt, speichert, verarbeitet und umwandelt, dass genaue, zeitnahe Informationen gewährleistet, Datensilos reduziert, Self-Service ermöglicht und die Datenqualität verbessert werden.
Drei zentrale Schritte bilden die Architektur einer Datenpipeline.
1. Datenaufnahme: Daten werden aus verschiedenen Datenquellen erfasst, darunter Software-as-a-Service-Plattformen (SaaS), IoT-Geräte (Internet der Dinge) und mobile Geräte, und mit unterschiedlichen Datenstrukturen, sowohl strukturiert als auch unstrukturiert. Bei Streaming-Daten werden diese Rohdatenquellen üblicherweise als Produzenten, Bereitsteller oder Absender bezeichnet. Zwar können Unternehmen entscheiden, Daten erst dann zu extrahieren, wenn sie zur Verarbeitung bereit sind, doch ist es besser, die Rohdaten zuerst bei einem Cloud-Anbieter für Data Warehouses zu speichern. So können historische Daten aktualisiert werden, wenn Datenverarbeitungsjobs anzupassen sind.Bei der Datenaufnahme können verschiedene Validierungen und Prüfungen durchgeführt werden, um die Konsistenz und Genauigkeit der Daten sicherzustellen.
2. Datenkonvertierung: In diesem Schritt werden mehrere Jobs ausgeführt, um Daten in das vom Zieldatenspeicher benötigte Format zu konvertieren. Diese Jobs führen sich wiederholende Workstreams, wie beispielsweise das Erstellen von Geschäftsberichten, mit Automatisierung und Governance aus, damit die Daten konsistent bereinigt und konvertiert werden. Bei der Datenkonvertierung kann beispielsweise versucht werden, einen geschachtelten JSON-String so aufzulösen, dass die wichtigen Felder zur Analyse extrahiert werden.
3. Datenspeicherung: Die konvertierten Daten werden dann in einem Datenspeicher abgelegt, wo die verschiedenen Stakeholder auf sie zugreifen können. Bei Streamingdaten werden diese konvertierten Daten in der Regel als Verbraucher, Abonnenten oder Empfänger bezeichnet.
Manchmal werden die Begriffe Datenpipeline und ETL-Pipeline synonym verwendet. Streng genommen sollten Sie jedoch ETL-Pipelines als Unterkategorie von Datenpipelines betrachten. Die beiden Arten von Pipelines unterscheiden sich durch drei Hauptmerkmale:
Mit der Zunahme von Big Data wird die Datenverwaltung immer wichtiger. Datenpipelines erfüllen verschiedene Funktionen. Die folgenden gelten für Geschäftsanwendungen:
IBM DataStage ist ein branchenführendes Datenintegrationstool, mit dem Jobs zum Verschieben und Konvertieren von Daten konzipiert, entwickelt und ausgeführt werden.
IBM Data Replication ist eine Software, mit der mehrere Datenspeicher nahezu in Echtzeit synchronisiert werden können. Außerdem ist IBM Data Replication eine ressourcensparende Lösung, die nur die vom Protokoll erfassten Datenänderungen verfolgt.
IBM Databand ist eine Observability-Software für Datenpipelines und Warehouses. Sie erfasst automatisch Metadaten, um vergangene Referenzwerte zu erstellen, Anomalien zu erkennen, Warnungen zu priorisieren sowie den Zustand und die Zuverlässigkeit von Apache Airflow Directed Acyclic Graphs (DAGs) zu überwachen.
IBM watsonx.data ist ein zweckmäßiger Datenspeicher auf Basis einer Open-Data-Lakehouse-Architektur, der Analyse- und KI-Workloads für alle Ihre Daten an jedem Ort skaliert.
Lesen Sie im SmartPaper, wie Sie eine solide Datengrundlage für KI schaffen, wenn Sie sich auf drei zentrale Bereiche der Datenverwaltung konzentrieren: Zugriff, Governance sowie Datenschutz und Compliance.
Erfahren Sie, wie die indische Staatsbank mit mehreren IBM Lösungen und der IBM Garage™ Methodik eine umfassende Online-Banking-Plattform entwickelt hat.