Direkt zum Hauptinhalt

Einführung in das Daten-Streaming

In den letzten Jahren ist der Bedarf an Echtzeitdaten exponentiell gestiegen. Unternehmen bauen zunehmend Anwendungen und Plattformen, die Datenströme nutzen, um -Aund maschinelles Lernen zur Förderung des Geschäftswachstums zu liefern. Durch kontinuierliches Erfassen, Verarbeiten und Analysieren von Daten können Führungskräfte unmittelbare Erkenntnisse gewinnen, schnellere Entscheidungen treffen und genauere Vorhersagen treffen.  

Unternehmen können Echtzeit-Daten-Streaming einsetzen, um Geschäftstransaktionen in ihren Systemen nachzuverfolgen, potenziellen Betrug frühzeitig zu erkennen und dynamische Preismodelle zu steuern. Gleichzeitig führt die Verbreitung des Internet of Things (IoT) dazu, dass Alltagsgeräte und Sensoren enorme Mengen an Rohdaten übertragen. Der unmittelbare Zugriff auf diese Datensätze hilft, potenzielle Probleme schneller zu beheben oder standortspezifische Empfehlungen auszusprechen. 

Kurz gesagt: Echtzeitdaten können Organisationen transformieren, indem sie neue, innovative Möglichkeiten eröffnen und Einblicke in laufende Datenströme liefern.

Ähnliche Themen erkunden

Das Big Book of Data Engineering

Bringen Sie Ihre Kompetenzen auf Kurs – mit diesem unverzichtbaren Leitfaden für das KI-Zeitalter.

Jetzt lesen

Erste Schritte mit ETL

Informieren Sie sich über ETL-Pipelines – mit diesem technischen Leitfaden von O'Reilly.

JETZT HERUNTERLADEN

Data Engineering jetzt erlernen

Sehen Sie sich vier Videos an und absolvieren Sie ein Quiz, um einen Badge zu erhalten.

Erste Schritte

Streaming vs. Batch-Verarbeitung  

Zur Verarbeitung ihrer Daten haben Unternehmen traditionell auf Batch-Verarbeitung gesetzt. Dabei werden große Datenmengen zu festgelegten Intervallen in Paketen („Batches“) erfasst und verarbeitet. Heute kommt Batch-Verarbeitung vor allem dann zum Einsatz, wenn zeitnahe, aber keine Echtzeitdaten benötigt werden. Das beinhaltet Anwendungen wie Verkaufsprognosen, Bestandsmanagement, Datenaufnahme von Großrechnern und sogar die Verarbeitung von Verbraucherumfragen. 

Um jedoch im globalen Wettbewerb bestehen zu können, benötigen Organisationen zunehmend in dem Moment Zugang zu den Daten, in dem sie erfasst werden. Streaming-Daten helfen Organisationen, rechtzeitige Entscheidungen zu treffen, indem sie sicherstellen, dass Daten schnell, genau und nahezu in Echtzeit verarbeitet werden. Durch Latenzen im Sekunden- oder Millisekundenbereich eignet sich Streaming ideal für Anwendungsfälle wie Hochfrequenzhandel, Echtzeit-Auktionen, Log-Verarbeitung, Echtzeit-Analysen oder Betrugserkennung.

Auch wenn Organisationen ihren Bedarf an Streaming-Daten erkennen, gestaltet sich der Übergang von Batch- zu Streaming-Verarbeitung oft schwierig – unter anderem aus folgenden Gründen:

  1. Neue APIs und Sprachen. Es kann schwierig sein, bestehende Datenteams mit den Sprachen und Tools zu befähigen, die sie bereits kennen.
  2. Komplexe operative Infrastruktur. Der Aufbau und die zuverlässige Wartung von Streaming-Pipelines im Produktivbetrieb ist technisch anspruchsvoll.
  3. Getrennte Systeme für Echtzeit- und historische Daten. Inkompatible Governance-Modelle können zudem den Zugriff für die richtigen Benutzer und Gruppen einschränken.

Mit der Data Intelligence Plattform unterstützt Databricks Unternehmen dabei, die traditionelle Trennung von Batch- und Streaming-Daten zu überwinden. Durch die Integration von Echtzeit-Analysen, maschinellem Lernen (ML) und Anwendungen auf einer einzigen Plattform profitieren Organisationen von einer vereinfachten Datenverarbeitung auf einer einzigen Plattform, die sowohl Batch- als auch Streaming-Daten verarbeitet.

Mit der Databricks Data Intelligence Platform können Nutzer:

  1. Streaming-Pipelines und Anwendungen schneller entwickeln. Kunden können die Sprachen und Tools, die sie bereits kennen, mit einheitlichen Batch- und Streaming-APIs in SQL und Python nutzbar machen. Nutzen Sie Echtzeit-Analytics, ML und Anwendungen für das gesamte Unternehmen.
  2. Den Betrieb mit automatisierten Tools vereinfachen. Stellen Sie Ihre Echtzeit-Pipelines und Anwendungen einfach für den Produktivbetrieb bereit und verwalten Sie sie effizient. Automatisierte Tools vereinfachen die Orchestrierung von Aufgaben, die Fehlertoleranz/Notfallwiederherstellung, die automatische Überprüfung, die Leistungsoptimierung und die automatische Skalierung.
  3. Die Governance für alle Ihre Echtzeit-Daten cloudübergreifend vereinheitlichen. Unity Catalog stellt ein einheitliches Governance-Modell für alle Streaming- und Batch-Daten bereit. Er vereinfacht das Auffinden, den Zugriff und die gemeinsame Nutzung von Echtzeitdaten.

Databricks-Verarbeitung

Streaming vs. Echtzeit-Verarbeitung 

Streaming und Echtzeit-Verarbeitung sind eng verwandte Konzepte und werden oft synonym verwendet. Sie unterscheiden sich jedoch in einigen wichtigen Details: 
 
„Streaming-Daten“ bezieht sich auf kontinuierliche Datenströme („data in motion“). Es handelt sich um einen Datenpipeline-Ansatz, bei dem Daten in kleinen Paketen oder Ereignissen verarbeitet werden, sobald sie erzeugt werden. „Echtzeitverarbeitung“ hingegen betont die Unmittelbarkeit von Analyse und Reaktion und zielt darauf ab, Erkenntnisse mit minimaler Verzögerung nach Eingang der Daten bereitzustellen. Mit anderen Worten: Ein Streaming-System nimmt Echtzeitdaten auf und verarbeitet sie unmittelbar bei ihrem Eintreffen. 
 
Es ist wichtig zu beachten, dass es selbst im Rahmen des „Echtzeit-Streamings“ einen Unterschied zwischen „Echtzeit“ und „Nahezu-Echtzeit“ gibt – vor allem in Bezug auf die Latenz. Echtzeitdaten beziehen sich auf Systeme, die Daten mit vernachlässigbaren Verzögerungen analysieren und darauf reagieren, in der Regel innerhalb von Millisekunden nach ihrer Erzeugung. Diese Systeme sind für Szenarien ausgelegt, in denen sofortiges Handeln entscheidend ist – etwa beim automatisierten Aktienhandel, in medizinischen Überwachungssystemen oder bei der Betrugserkennung in Finanztransaktionen. 
 
Nahezu-Echtzeit-Verarbeitung hingegen beinhaltet eine geringe Verzögerung, die in der Regel in Sekunden gemessen wird. Dieser Ansatz eignet sich für Situationen, in denen eine unmittelbare Reaktion nicht erforderlich ist, zeitnahe Updates jedoch weiterhin bevorzugt werden – zum Beispiel bei Aktualisierungen von Social-Media-Feeds, beim Logistik-Tracking oder bei der Aggregation von Daten für operative Dashboards. 

Inkrementelle Verarbeitung in Datenpipelines 

Auch wenn Stream-Verarbeitung für manche Organisationen die passende Wahl sein kann, ist sie oft kostenintensiv und ressourcenaufwendig. Eine Möglichkeit, die Vorteile von Daten-Streaming ohne kontinuierliche Verarbeitung zu nutzen, ist die Inkrementalisierung. Bei dieser Methode werden ausschließlich neu hinzugefügte, geänderte oder modifizierte Daten verarbeitet – anstelle des gesamten Datensatzes.

Ein Beispiel dafür, wie die Inkrementalisierung durchgeführt werden kann, sind materialisierte Ansichten in Databricks. Eine materialisierte Ansicht ist ein Datenbankobjekt, das die Ergebnisse einer Abfrage als physische Tabelle speichert. Im Gegensatz zu üblichen Datenbankansichten, die virtuell sind und ihre Daten aus den zugrunde liegenden Tabellen ableiten, enthalten materialisierte Ansichten vorab berechnete Daten, die planmäßig oder bei Bedarf inkrementell aktualisiert werden. Diese Vorberechnung ermöglicht kürzere Reaktionszeiten bei Abfragen und kann die Leistung in bestimmten Szenarien deutlich verbessern.  
Materialisierte Ansichten sind besonders nützlich, wenn kleinere Datenmengen verarbeitet werden sollen, anstatt ganze Datensätze. Insgesamt kann die schrittweise Verarbeitung von Daten innerhalb einer Pipeline die Effizienz erhöhen, indem Rechenaufwand, Zeit und Ressourcenverbrauch reduziert werden. Dies ist besonders ideal für groß angelegte Pipelines, bei denen die Verarbeitung von Updates zu schnelleren Analysen und fundierteren Entscheidungen führen kann. 

Überlegungen und Kompromisse beim Streaming  

Wenn Organisationen Echtzeit-Datenströme implementieren, gibt es mehrere wichtige Faktoren, die in der Datenverarbeitungsarchitektur berücksichtigt werden müssen. Wie Sie Ihr System entwerfen, kann bestimmte Kompromisse erfordern und hängt stark von den Arbeitsanforderungen sowie den Geschäftszielen Ihrer Organisation ab. Einige zu berücksichtigende Merkmale sind:  
 
Latenz: Die Zeit, die benötigt wird, um Daten zu verarbeiten und bereitzustellen, nachdem sie empfangen wurden. Daten mit geringer Latenz sind für Echtzeit-Anwendungen wie Betrugserkennung oder Live-Video-Streaming von entscheidender Bedeutung, können jedoch kostspielig in der Wartung sein. 
 
Eine höhere Latenz bei Ihren Daten zu wählen, kann ideal für Arbeitsabläufe sein, die nur periodisches Reporting erfordern oder bei denen eine sofortige Verarbeitung und Entscheidungsfindung nicht kritisch ist. Systeme, die Protokolldaten speichern oder tägliche bzw. wöchentliche Verkaufsberichte erstellen, nutzen in der Regel Datenströme mit höherer Latenz. 
 
Durchsatz: Der Durchsatz ist ein Maß für das Datenvolumen, das ein System über die Zeit verarbeiten kann, normalerweise ausgedrückt als Ereignisse pro Sekunde. Ein hoher Durchsatz ist insbesondere für IoT entscheidend, da hier massive Datenströme effizient verarbeitet werden müssen. Höhere Durchsatzwerte führen jedoch zu Kompromissen bei der Latenz. 
 
Kosten: Für viele Organisationen sind die Kosten der entscheidende Faktor bei der Bestimmung des richtigen Latenz- und Durchsatzniveaus für ihre Systeme. Für einige Arbeitslasten, die eine zeitnahe Datenverarbeitung erfordern, könnte es sich lohnen, ein System mit geringer Latenz und hoher Durchsatzrate zu entwerfen. Wenn Ihre Datenanforderungen nicht unmittelbar erfüllt werden müssen oder Ihre Arbeitslasten größere Datenmengen erfordern, dann könnte ein System mit höherer Latenz die richtige Wahl sein. 
 
Nicht alle Streaming-Architekturen sind gleich umgesetzt. Es ist wichtig, das richtige Gleichgewicht zu finden, um den Anforderungen Ihrer Arbeitslasten und gleichzeitig Ihrem Budget gerecht zu werden. Denken Sie daran: Es geht darum, im richtigen Moment auf Ihre Daten zuzugreifen, wenn Sie sie wirklich benötigen – nicht zwangsläufig in Echtzeit. 

Spark Streaming Architektur  

SparkTM Structured Streaming ist die Schlüsseltechnologie, die Daten-Streaming auf der Databricks Data Intelligence Platform ermöglicht und eine einheitliche API für die Batch- und Stream-Verarbeitung bietet. Spark ist ein Open-Source-Projekt, das kontinuierliche Datenströme in kleine, handliche Batches für die Verarbeitung zerlegt. Structured Streaming ermöglicht es, dieselben Operationen wie im Batch-Modus mit den strukturierten Spark-APIs auch im Streaming-Verfahren auszuführen. Dadurch lässt sich die Latenz reduzieren und eine inkrementelle Verarbeitung mit Verzögerungen von nur 250 ms erreichen.
 
Im Structured Streaming werden Daten wie eine unendliche Tabelle betrachtet und fortlaufend inkrementell verarbeitet. Spark erfasst eingehende Daten über kurze Zeitintervalle, fasst sie zu einem Batch zusammen und verarbeitet sie wie herkömmliche Batch-Jobs. Dieser Ansatz kombiniert die Einfachheit der Batch-Verarbeitung mit nahezu Echtzeit-Fähigkeiten und bietet Checkpoints, die Fehlertoleranz und Fehlerbehebung ermöglichen. 
 
Sparks Ansatz zur Datenpipeline ist darauf ausgelegt, Ressourcen effizient zu nutzen. Die Pipeline beginnt mit der Aufnahme von Rohdaten, die dann gefiltert, aggregiert oder auf dem Weg zur Datensenke abgebildet werden. Jede Stufe verarbeitet jedoch Daten inkrementell, während sie durch die Pipeline fließt, und sucht nach Anomalien oder Fehlern, bevor sie in einer Datenbank gespeichert werden.  
 
Für Arbeitslasten, die eine hohe Reaktionsfähigkeit erfordern, bietet Spark einen Continuous-Processing-Modus, der Echtzeit-Fähigkeiten ermöglicht, indem jeder Datensatz einzeln verarbeitet wird, sobald er eintrifft. Mehr über das Management von Streaming-Daten auf Databricks erfahren Sie hier.

Streaming ETL

Streaming ETL (Extrahieren, Transformieren, Laden) hilft Organisationen, Daten in Echtzeit oder nahezu Echtzeit zu verarbeiten und zu analysieren, um den Anforderungen datengesteuerter Anwendungen und Workflows gerecht zu werden. ETL wurde in der Regel in Chargen ausgeführt; Streaming-ETL hingegen verarbeitet Daten sofort bei der Generierung, sodass sie unmittelbar für Analysen bereitstehen.

Streaming-ETL minimiert die Latenz, indem Daten schrittweise verarbeitet werden. Das ermöglicht kontinuierliche Updates, anstatt auf eine komplette Datensatz-Charge warten zu müssen. Es reduziert außerdem die Risiken, die mit veralteten oder irrelevanten Daten verbunden sind, und stellt sicher, dass Entscheidungen stets auf den neuesten verfügbaren Informationen basieren. 

Jedes ETL-Tool muss die Fähigkeit zur Skalierung mitbringen, wenn ein Unternehmen wächst. Databricks hat DLT als erstes ETL-Framework eingeführt, das einen einfachen deklarativen Ansatz zur Erstellung zuverlässiger Datenpipelines bietet. Teams können vertraute Sprachen und Tools wie SQL und Python nutzen, um Batch- und Streaming-Datenpipelines an einem Ort mit steuerbaren und automatisierten Aktualisierungseinstellungen zu erstellen und auszuführen. Das spart nicht nur Zeit, sondern reduziert auch die betriebliche Komplexität. Ganz gleich, wohin Sie Ihre Daten senden möchten: Der Aufbau von Streaming-Daten-Pipelines auf der Databricks Data Intelligence Platform sorgt dafür, dass Sie bei der Bereinigung Ihrer Rohdaten keine Zeit verlieren.

Streaming-Analyse 

Wie wir gesehen haben, ermöglicht Daten-Streaming die kontinuierliche Verarbeitung von Daten mit geringer Latenz und die Übertragung von Echtzeit-Analysen, sobald Ereignisse eintreten. Der Zugang zu Echtzeit- (oder Nahezu-Echtzeit-)Rohdaten ist entscheidend für Geschäftsprozesse, da er Entscheidungsträgern die neuesten und relevantesten Informationen bereitstellt. Einige der Vorteile von Streaming-Analysen sind: 
 
Datenvisualisierung. Unternehmen, die die wichtigsten Betriebsdaten im Blick haben, können ihre Key Performance Indicators (KPIs) auf Tagesbasis verwalten. Streaming-Daten werden in Echtzeit überwacht, sodass Unternehmen in jedem Moment wissen, was gerade passiert. 
 
Geschäftliche Erkenntnisse. Echtzeit-Dashboards können Sie alarmieren, sobald außergewöhnliche Geschäftsvorfälle eintreten. Sie unterstützen die automatische Erkennung und Reaktion auf Bedrohungen oder markieren Bereiche, in denen abnormales Verhalten untersucht werden sollte. 
 
Höhere Wettbewerbsfähigkeit. Unternehmen können Trends schneller erkennen und Benchmarks setzen, um sich einen Vorsprung gegenüber Wettbewerbern zu verschaffen, die auf Batch-Analysen setzen. Dies kann ihnen einen Vorteil gegenüber Wettbewerbern verschaffen, die auf Batch-Analyse setzen. 
 
Vermeidbare Verluste eindämmen. Mit Streaming-Analytics können Unternehmen Schäden durch Sicherheitsverletzungen, Produktionsprobleme oder Kundenabwanderung verhindern oder verringern. 
 
Analyse von Routinevorgängen. Streaming-Analysen helfen Organisationen, Daten in Echtzeit zu erfassen und sofort umsetzbare Erkenntnisse zu gewinnen. Wenn Führungskräfte Zugang zu relevanten, zeitnahen und vertrauenswürdigen Daten haben, können sie fundierte Entscheidungen treffen. 

Streaming für KI/ML

Da sich künstliche Intelligenz (KI) und ML-Modelle weiterentwickeln und reifen, stößt die klassische Batch-Verarbeitung zunehmend an ihre Grenzen – insbesondere bei der Größe und Vielfalt der Daten, die diese Anwendungen erfordern. Verzögerungen bei der Datenübertragung können zu ungenauen Antworten und einer Zunahme der Anwendungseffizienzverluste führen. 
 
Streaming-Daten liefern einen kontinuierlichen Fluss von Echtzeit-Informationen auf Basis der jeweils aktuellsten verfügbaren Daten. So können KI/ML-Modelle sich anpassen und Vorhersagen in dem Moment treffen, in dem Ereignisse eintreten. Es gibt zwei Möglichkeiten, wie Streaming-Daten bei der Vorbereitung von KI-Modellen helfen:

KI-Training: In den frühen Phasen der KI/ML-Entwicklung sind Streaming-Daten entscheidend für das Training von Modellen, da sie große Datensätze – sowohl strukturierter als auch unstrukturierter Art – bereitstellen. Die Modelle werden darauf trainiert, Muster und Korrelationen zu erkennen und anschließend erste Vorhersagen auf Grundlage zufälliger oder vordefinierter Parameter zu treffen. Dieser Prozess wird mit großen Datenmengen wiederholt und schrittweise verfeinert, um die Genauigkeit und Zuverlässigkeit der Modelle im Laufe der Zeit zu erhöhen. Indem sie aus Mustern und Trends – ebenso wie aus Abweichungen davon – lernen, entwickeln die Modelle immer präzisere Ergebnisse und Vorhersagen.

KI-Inferenz: Sobald ein KI/ML-System trainiert wurde, kann es in einer Produktionsumgebung eingesetzt werden. Dort nutzt es die im Training erlernten Parameter, um auf Basis von Eingabedaten Vorhersagen (Inferenz) zu treffen. Streaming-Daten liefern kontinuierlich neue und bisher unbekannte Informationen, während die Modelle nahezu in Echtzeit Erkenntnisse und Vorhersagen generieren.

Unternehmen aus unterschiedlichen Branchen nutzen die Vorteile von KI, die auf Streaming-Datensätzen basiert. Einzelhändler in der Gesundheits- und Wellnessbranche etwa setzen Echtzeit-Berichte über Kundendaten ein, damit Apotheker personalisierte Empfehlungen und Ratschläge geben können. Telekommunikationsunternehmen wiederum verwenden Echtzeit-Machine-Learning, um betrügerische Aktivitäten wie illegale Gerätefreischaltungen oder Identitätsdiebstahl zu erkennen. Einzelhändler können Streaming-Daten nutzen, um die Preisgestaltung basierend auf Lagerbestand und Marktfaktoren in Echtzeit zu automatisieren.
 
Obwohl Streaming-Daten für diese Modelle von entscheidender Bedeutung sind, ist es wichtig zu beachten, dass die Integration von KI/ML mit Daten-Streaming eine einzigartige Reihe von Herausforderungen darstellt. Einige dieser Herausforderungen sind: 
 
Datenvolumen: Organisationen haben eine Flut von Daten zur Verfügung, darunter Kundendaten, Transaktionsdaten, Gerätenutzungsdaten und mehr. Die Verwaltung dieser Datenmengen und ihre Integration in ein KI/ML-Modell erfordert eine robuste Datenarchitektur und leistungsfähige Verarbeitungssysteme, die sowohl skalierbar als auch widerstandsfähig sind. 
 
Datenqualität: Die Menge an Daten wächst exponentiell, aber nicht alle Daten sind von hoher Qualität und genau. Daten stammen oft aus verschiedenen Systemen,haben unterschiedliche Formate und können unvollständig oder inkonsistent sein. Damit KI/ML-Modelle gut funktionieren, müssen Daten kontinuierlich getestet und validiert werden, um Zuverlässigkeit zu gewährleisten. 
 
Datenpipelines: Der Aufbau robuster und effizienter Datenpipelines zur Handhabung der Echtzeit-Datenaufnahme, -transformation und -lieferung für KI/ML kann komplex sein. Es ist entscheidend, dass Ihr Unternehmen in eine skalierbare Infrastruktur investiert, um große Datenmengen sowohl bei der Aufnahme als auch bei der Verarbeitung effizient bewältigen zu können.

Databricks behebt diese Probleme mit Mosaic AI, das Kunden einheitliche Tools zum Aufbau, Einsatz, zur Bewertung und Steuerung von KI- und ML-Lösungen bietet. Benutzer erhalten genaue Ausgaben, die mit Unternehmensdaten angepasst sind, und können ihre eigenen benutzerdefinierten großen Lernmodelle (LLMs) zu 10x niedrigeren Kosten trainieren und bereitstellen. 

Streaming auf Databricks

Die Implementierung von Daten-Streaming in Ihrer Organisation kann einen erheblichen Aufwand erfordern. Databricks erleichtert das durch die Vereinfachung des Daten-Streamings. Die Databricks Data Intelligence Platform bietet Echtzeit-Analysen, maschinelles Lernen und Anwendungen – alles auf einer Plattform. Durch den Aufbau von Streaming-Anwendungen auf Databricks können Sie:

  1. Ermöglichen Sie allen Ihren Datenteams, Streaming-Daten-Workloads mit den Sprachen und Tools, die sie bereits kennen, und den APIs, die sie bereits verwenden, einfach zu erstellen.
  2. Vereinfachen Sie Entwicklung und Betrieb durch die Nutzung von Out-of-the-Box-Funktionen, die viele der Produktionsaspekte automatisieren, die mit dem Aufbau und der Wartung von Echtzeit-Datenpipelines verbunden sind.
  3. Daten-Silos eliminieren und Ihre Sicherheits- und Governance-Modelle mit einer einzigen Plattform für Streaming- und Batch-Daten zentralisieren. 

Darüber hinaus erhalten Kunden mit Hilfe von DLT automatisierte Werkzeuge zur Vereinfachung der Datenaufnahme und ETL, um Datensätze für den Einsatz in Echtzeit-Analysen, ML und betrieblichen Anwendungen vorzubereiten. 
 
Spark Structured Streaming bildet den Kern der Echtzeit-Funktionen von Databricks. Es wird von Hunderttausenden von Einzelpersonen und Organisationen eingesetzt und bietet eine einheitliche API für Batch- und Stream-Verarbeitung. Dadurch können Data Engineers und Entwickler Echtzeitanwendungen erstellen, ohne ihren Code ändern oder neue Fähigkeiten erlernen zu müssen. 

Weltweit setzen Organisationen Daten-Streaming auf der Databricks Data Intelligence Platform ein, um ihre Betriebssysteme zu optimieren, digitale Zahlungsnetzwerke zu verwalten, Innovationen in erneuerbarer Energie voranzutreiben und Verbraucher vor Betrug zu schützen.
 
Databricks bietet alle diese eng integrierten Möglichkeiten, um Ihre Echtzeit-Anwendungsfälle auf einer Plattform zu unterstützen.

    Zurück zum Glossar