Eine Datenpipeline ist eine Methode, bei der Rohdaten aus verschiedenen Datenquellen erfasst, konvertiert und dann in einen Datenspeicher wie einen Data Lake oder ein Data Warehouse übertragen werden, um sie zu analysieren.
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 – 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 strukturierte Datenpipelines bilden die Basis für eine Vielzahl von Datenprojekten, darunter auch explorative Datenanalysen, Datenvisualisierungen und maschinelles Lernen.
Es gibt verschiedene Arten von Datenpipelines, die jeweils für bestimmte Aufgaben auf bestimmten Plattformen geeignet sind. Zu den gängigen Typen gehören
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 beiStreaming-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, anschließend werden sie in Datenbanken gespeichert oder zur weiteren 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. Auf diese Weise können die Verbraucher Auskunft darüber erhalten, ob ein Produkt vorrätig ist. 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 Aufgaben ausgeführt, um Daten in das vom Zieldatenspeicher benötigte Format zu konvertieren. Diese Aufgaben integrieren Automatisierung und Governance in wiederkehrende Workflows, wie beispielsweise das Erstellen von Geschäftsberichten, um sicherzustellen, dass die Daten konstant gereinigt und transformiert 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:
Erstellen und verwalten Sie intelligente Streaming-Datenpipelines über eine intuitive grafische Benutzeroberfläche, die eine nahtlose Datenintegration in Hybrid- und Multicloud-Umgebungen ermöglicht.
Erkunden Sie IBM Databand, die Observability-Software für Datenpipelines. Sie erfasst automatisch Metadaten, um protokollierte Referenzwerte zu erstellen, Unregelmäßigkeiten zu erkennen und Workflows zu erstellen, damit Probleme mit der Datenqualität behoben werden können.
Erstellen Sie mit IBM-Datenintegrationslösungen belastbare, leistungsstarke und kostenoptimierte Datenpipelines für Ihre generativen KI-Initiativen, Echtzeitanalysen, Lagermodernisierungen und betrieblichen Anforderungen.