Was ist eine Datenpipeline?
Veröffentlicht: 2024-01-12Die Organisation von Daten für robuste Business Intelligence, taktische Erkenntnisse und Analysen beginnt immer mit Datenpipelines. Die meisten Unternehmen haben es jedoch mit enormen Datenmengen zu tun, die aus unterschiedlichen Quellen stammen, in verschiedenen Cloud-Infrastrukturen gespeichert sind und in einer Vielzahl von Formaten verfügbar sind. Daher sind Silos eine unvermeidliche Folge.
Der Aufbau eines umfassenden und einheitlichen Verständnisses der eigenen Daten ist entscheidend, um fundierte Entscheidungen zu treffen, die Produktivität zu steigern und tiefgreifende Erkenntnisse zu gewinnen. Deshalb ist es wichtig zu wissen, was eine Datenpipeline ist und wie man sie in Betrieb nimmt.
- Definition der Datenpipeline
- Bedeutung und Vorteile einer Datenpipeline
- So erstellen Sie eine Datenpipeline
- Komponenten einer Datenpipeline
Was ist eine Datenpipeline?
Eine Datenpipeline besteht aus einem Ensemble von Aufgaben und Tools, die den Datentransfer von einem System unter Beibehaltung seiner Speicher- und Verarbeitungstechniken zu einem anderen System ermöglichen, wo sie verwaltet und aufbewahrt werden können – mit Schwerpunkt auf spezifischen Geschäftsanforderungen.
Darüber hinaus ermöglichen Pipelines den automatisierten Abruf von Daten aus zahlreichen Quellen sowie deren anschließende Konvertierung und Konsolidierung in einem einzigen, leistungsstarken Datenspeichersystem. Dies ist für moderne Unternehmen mit großen IT- und digitalen Abhängigkeiten von entscheidender Bedeutung.
Betrachten Sie sich selbst als Analyst verschiedener Datentypen, der demonstriert, wie Menschen mit Ihrer Marke interagieren. Dazu können der Standort des Benutzers, Gadgets, Sitzungsaufzeichnungen, der Transaktionsverlauf, Interaktionen mit dem Kundenservice und jegliches Feedback, das er gegeben hat, gehören. Anschließend werden diese Daten in einem mit einem CRM verknüpften Lager gesammelt, wodurch für jeden Kunden ein einzigartiges Profil erstellt wird.
Jeder Datennutzer, der sie benötigt, um Analysetools zu erstellen und zu warten oder strategische und operative Entscheidungen zu treffen, kann dies dank der durch Datenpipelines ermöglichten Aggregation einfach und flexibel tun. Bei diesen Personen handelt es sich um Vermarkter, Data-Science-Gruppen, BI-Experten, Chief Product Officers oder andere Fachleute, die stark auf Daten angewiesen sind.
Für CIOs ist es heute ein zentraler Teil ihrer Verantwortung, die ordnungsgemäße Architektur und den ordnungsgemäßen Betrieb von Unternehmensdatenpipelines sicherzustellen.
Warum brauchen Sie Datenpipelines? Hauptvorteile
In Ihren Systemen kommt es zu einem gewissen Grad an Datenein- und -ausgängen, und ohne Datenpipelines bilden diese einen unstrukturierten, ineffizienten Prozess. Umgekehrt können CIOs und IT-Manager durch Investitionen in ihre Datenpipelines:
Verbessern Sie die Datenqualität
Datenflüsse sind an zahlreichen Stellen anfällig für Hindernisse und Korruption. Datenpipelines helfen jedoch bei der kontinuierlichen Organisation von Daten. Sie erleichtern und machen die Überwachung allen Benutzern zugänglich. Darüber hinaus integrieren sie Daten aus verschiedenen Quellen und Systemen, um die Zuverlässigkeit, Genauigkeit und Benutzerfreundlichkeit der Informationen zu verbessern.
Automatisieren Sie Datenvorgänge
Die Aufteilung einer Datenpipeline in wiederholbare Phasen erleichtert die Automatisierung. Die Minimierung der Wahrscheinlichkeit menschlicher Fehler ermöglicht eine nahtlose Datenübertragung und beschleunigt die Verarbeitung. Außerdem kann die gleichzeitige Verarbeitung mehrerer Datenströme durch Eliminierung und Automatisierung redundanter Phasen erreicht werden – was die Effizienz steigert.
Ermöglichen Sie genauere Analysen
Aus verschiedenen Quellen extrahierte Daten weisen einzigartige Eigenschaften auf und liegen in verschiedenen Formaten vor. Eine Datenpipeline unterstützt die Bearbeitung und Transformation verschiedener Datensätze, unabhängig von ihren einzigartigen Attributen. Der Schwerpunkt liegt auf der Konsolidierung, um Analysen zu optimieren und eine nahtlosere Integration mit Business-Intelligence-Apps zu ermöglichen.
Aufbau einer Datenpipeline
Beim Aufbau von Datenpipelines entscheiden sich Technologieführer in der Regel für eine von zwei Optionen: Stapelverarbeitung und Streaming-Datenpipelines. Jedes ist für einen anderen Anwendungsfall geeignet, wie unten erläutert:
Stapelverarbeitungspipelines
Wie der Name schon sagt, lädt die Stapelverarbeitung in vorgegebenen Zeitintervallen „Batches“ von Daten in ein Repository. Bei Batch-Verarbeitungsaufgaben werden häufig erhebliche Datenmengen verarbeitet, was zu einer Belastung des Gesamtsystems führt. Daher wird dieser Prozess außerhalb der Hauptgeschäftszeiten geplant, um die Unterbrechung anderer Aufgaben so gering wie möglich zu halten.
Im Allgemeinen gilt die Stapelverarbeitung als die am besten geeignete Datenpipeline-Methode für Aufgaben wie die monatliche Buchhaltung, bei denen keine sofortige Analyse eines bestimmten Datensatzes erforderlich ist.
Die Schritte bestehen in diesem Fall aus einer Reihe aufeinanderfolgender Befehle, wobei das Ergebnis eines Befehls als Eingabe für den nächsten dient.
Ein hervorragendes Beispiel hierfür könnte sein, wenn ein einzelner Befehl die Aktion der Datenaufnahme initiiert; Ein anderer könnte die Filterung bestimmter Spalten auslösen und ein weiterer könnte für die Aggregation verantwortlich sein. Diese Befehlsfolge wird fortgesetzt, bis die Daten eine umfassende Transformation durchlaufen und dem Repository hinzugefügt wurden. Hadoop und MongoDB sind Beispiele für diese Art von Datenpipeline im Einsatz.
Streaming-Datenpipelines
Im Gegensatz zur sequentiellen Verarbeitung werden Streaming-Daten verwendet, wenn kontinuierliche Aktualisierungen der Daten erforderlich sind. Apps und Point-of-Sale-Systeme benötigen beispielsweise Echtzeitdaten, um Produktbestände und Verkaufshistorien zu aktualisieren.
Ein „Ereignis“ im Kontext von Streaming-Datenpipelines ist ein singuläres Ereignis, wie der Verkauf eines Softwareprodukts. Zur Veranschaulichung: Das Hinzufügen eines Elements zur Transaktion wird als „Thema“ oder „Stream“ bezeichnet. Diese Ereignisse wiederum durchlaufen Messaging-Infrastrukturen wie Apache Kafka.
Aufgrund der unmittelbaren Verarbeitung auftretender Datenereignisse weisen Streaming-Systeme im Vergleich zu sequentiellen Systemen eine geringere Latenz auf.
Sie sind weniger zuverlässig als Pipelines für die Massenverarbeitung, da Nachrichten versehentlich gelöscht werden können oder zu viele Nachrichten die Warteschlange verstopfen können.
Um dieses Problem anzugehen, fügen Messaging-Systeme eine Funktionalität namens „durch Bestätigung“ hinzu. In dieser Phase prüft die Datenpipeline, ob eine Datennachricht erfolgreich verarbeitet wurde, sodass das Nachrichtensystem sie aus dem Stapel entfernen kann.
CIOs müssen bei der Bewertung von Datenpipelines die spezifischen Anforderungen ihrer Organisation und jeder Geschäftseinheit berücksichtigen. Unabhängig davon, welche Pipeline Sie für eine Anwendung auswählen, besteht sie aus einigen Schlüsselkomponenten.
Die wesentlichen Komponenten von Datenpipelines
Eine Datenpipeline umfasst Folgendes:
Herkunft:
Der Ursprung ist der Ausgangspunkt einer Datenpipeline, an dem Daten eingegeben werden. Die IT-Umgebung Ihres Unternehmens wird über zahlreiche Datenquellen (Transaktions-Apps, verbundene Geräte, soziale Netzwerke usw.) und Speichereinrichtungen (Data Warehouses, Data Lakes usw.) verfügen – diese dienen alle als Ursprung.
Datenfluss:
Hierbei handelt es sich um die Übertragung von Daten von ihrem Ursprungsort zu ihrem endgültigen Ziel. Dabei werden sowohl die Anpassungen, die sie während der Übertragung erfahren, als auch die Datenspeicher, die sie durchlaufen, berücksichtigt. Diese Komponente wird oft als Einnahme bezeichnet.
Vorbereitung:
Vor der Implementierung kann es erforderlich sein, Daten zur Normalisierung zu bereinigen, zu aggregieren, zu transformieren (einschließlich Dateiformatkonvertierung) und zu komprimieren. Vorbereitung ist der Prozess, der Daten verändert, um sie für die Analyse geeignet zu machen.
Ziel:
Die Datenübertragung endet an einem Ort, der als „Ziel“ bezeichnet wird. Das Ziel ist nutzungsabhängig; So können beispielsweise Daten gewonnen werden, um die Datenvisualisierung oder andere Analysetools zu stärken und zu erweitern. Oder es kann ein Sicherheitsautomatisierungssystem wie SIEM vorantreiben.
Arbeitsablauf:
Der Workflow legt eine Reihe von Aktionen und deren Interaktionen innerhalb einer Datenpipeline fest. Upstream-Jobs sind Aufgaben, die für die Daten in der Nähe der Ressource ausgeführt werden, von der aus die Daten die Pipeline erreichen. Nachgelagerte Aktivitäten finden in größerer Nähe zum Endprodukt statt.
Fazit: Auswahl Ihres Data Pipeline Toolkits
Eine Organisation, die ihre Datenpipelines aufbauen und stärken möchte, sollte die Implementierung Folgendes in Betracht ziehen:
- Data Lakes : Data Lakes werden häufig von Organisationen zum Aufbau von Datenpipelines für maschinelles Lernen und KI-Initiativen genutzt. Für riesige Datenmengen bieten alle großen Anbieter von Cloud-Diensten – AWS, Microsoft Azure, Google Cloud und IBM – Data Lakes an.
- Data Warehouses : Diese zentralen Repositories speichern verarbeitete Daten ausschließlich für einen bestimmten Zweck. Teradata, Amazon Redshift, Azure Synapse, Google BigQuery und Snowflake sind beliebte Lageralternativen.
- ETL-Tools (Extrahieren, Transformieren, Laden) : ETL bietet eine Vielzahl von Tools für die Datenintegration und -aufbereitung, darunter Oracle Data Integrator, IBM DataStage, Talend Open Studio und mehrere andere.
- Batch-Workflow-Scheduler : Programmiertools wie Luigi oder Azkaban unterstützen die Erstellung von Teilprozessen als eine Reihe von Aufgaben mit gegenseitigen Abhängigkeiten. Es ist auch möglich, diese Arbeitsabläufe zu überwachen und zu automatisieren.
- Daten-Streaming-Tools : Diese Tools können kontinuierlich Daten verarbeiten, die aus Quellen wie IoT- und Transaktionssystemen gesammelt werden. Google Data Flow, Amazon Kinesis, Azure Stream Analytics und SQLstream sind einige Beispiele.
Uber nutzt auf Apache basierende Streaming-Pipelines, um Echtzeitdaten von Chauffeur-/Fahrer- und Passagieranwendungen zu sammeln. Durch die Nutzung von Datenkanälen, die sowohl On-Premise-Systeme als auch Google Cloud umfassen, stellt Macy's sicher, dass jeder Kunde ein gleichermaßen überzeugendes Erlebnis genießt, egal ob er im Geschäft ist oder online einkauft. Unabhängig von Ihrer Branche sind effiziente Datenpipelines für moderne, datengesteuerte Unternehmen von entscheidender Bedeutung.
Sie können Ihre Abläufe mithilfe von Daten optimieren, indem Sie sich auf die beispielhafte Pipeline-Architektur und das optimalste Toolkit konzentrieren.