Was ist Datenstreaming?
Datenstreaming ist der Prozess der Übertragung eines kontinuierlichen Datenflusses (auch als Stream bezeichnet), der normalerweise in die Stream-Verarbeitungssoftware eingespeist wird, um wertvolle Erkenntnisse abzuleiten. Ein Datenfluss besteht aus einer Reihe von Datenelementen, die zeitlich angeordnet sind. Die Daten stellen ein „Ereignis“ oder eine Änderung des Zustands dar, die im Unternehmen eingetreten ist, und sind für das Unternehmen nützlich, um sie in Echtzeit zu kennen und zu analysieren. Einige Beispiele für Datenflüsse sind Sensordaten, Aktivitätsprotokolle von Webbrowsern und Finanztransaktionsprotokolle. Ein Datenfluss kann als endloses Förderband visualisiert werden, das Datenelemente trägt und diese kontinuierlich in einen Datenprozessor einspeist.
Mit dem Wachstum des Internets der Dinge (IoT) und den Erwartungen der Kunden hat die Bedeutung von Datenstreaming und Stream-Verarbeitung zugenommen. Persönliche Gesundheitsmonitore und Heimsicherheitssysteme sind zwei Beispiele für Datenstreaming-Quellen. Ein Heimsicherheitssystem umfasst mehrere Bewegungssensoren zur Überwachung verschiedener Bereiche des Hauses. Diese Sensoren erzeugen einen Datenfluss, der kontinuierlich an eine Verarbeitungsinfrastruktur übertragen wird, die jede unerwartete Aktivität entweder in Echtzeit überwacht oder die Daten zur Analyse auf später schwieriger zu erkennende Muster speichert. Gesundheitsmonitore sind ein weiteres Beispiel für Datenstreaming-Quellen wie Herzschlag-, Blutdruck- oder Sauerstoffmonitore. Diese Geräte erzeugen kontinuierlich Daten. Eine rechtzeitige Analyse dieser Daten ist unerlässlich, da die Sicherheit der Person davon abhängen kann.
Was sind die allgemeinen Merkmale von Datenflüssen?
Streamingdaten von Sensoren, Webbrowsern und anderen Überwachungssystemen weisen bestimmte Merkmale auf, die sie von herkömmlichen historischen Daten unterscheiden. Im Folgenden sind einige wichtige Merkmale von Streamingdaten aufgeführt:
Zeitkritisch
Jedes Element in einem Datenfluss trägt einen Zeitstempel. Die Datenflüsse sind zeitkritisch und verlieren nach einer gewissen Zeit an Bedeutung. Beispielsweise sollten die Daten eines Heimsicherheitssystems, die auf eine verdächtige Bewegung hinweisen, innerhalb kurzer Zeit analysiert und bearbeitet werden, damit sie relevant bleiben.
Kontinuierlich
Es gibt keinen Anfang und kein Ende von Streamingdaten. Datenflüsse sind kontinuierlich und erfolgen in Echtzeit, aber sie werden, abhängig von den Systemanforderungen, nicht immer sofort bearbeitet.
Heterogen
Die Streamingdaten stammen häufig aus Tausenden verschiedener Quellen, die geografisch weit entfernt sein können. Aufgrund der unterschiedlichen Quellen können die Streamingdaten eine Mischung aus verschiedenen Formaten sein.
Fehlerhaft
Aufgrund der Vielfalt ihrer Quellen und unterschiedlichen Datenübertragungsmechanismen können Datenelemente in einem Datenfluss fehlen oder beschädigt sein. Außerdem kommen die Datenelemente in einem Datenfluss eventuell nicht in der richtigen Reihenfolge an.
Flüchtig und unwiederholbar
Da das Datenstreaming in Echtzeit erfolgt, ist die wiederholte Übertragung eines Streams ziemlich schwierig. Auch wenn es Bestimmungen für die erneute Übertragung gibt, sind die neuen Daten möglicherweise nicht mit denen der letzten identisch. Dadurch sind die Datenflüsse sehr volatil. Viele moderne Systeme zeichnen jedoch ihre Datenflüsse auf, sodass Sie sie später analysieren können, selbst wenn Sie im Moment nicht darauf zugreifen konnten.

Welche Bedeutung hat Datenstreaming für Unternehmen?
Daten im Format von Streams sind in der heutigen Welt von großer Bedeutung. Zahlreiche IoT-Geräte und Internetnutzer erzeugen jede Sekunde riesige Mengen an kontinuierlichen Echtzeitdaten. Die Verarbeitung dieser Daten in Echtzeit ist sowohl eine Herausforderung als auch eine Chance für Unternehmen.
Die sich ändernde Natur von Daten
Traditionell sammeln Unternehmen Daten im Laufe der Zeit, speichern sie in Data Warehouses und verarbeiten sie in Batches. Das spart knappe Rechenleistung. In den letzten Jahren haben sich die Datenstruktur und die Verarbeitungstechnologien stark verändert. IoT hat eine Vielzahl von Sensoren eingeführt, die Streamingdaten erzeugen. Kreditkarten und Online-Finanztransaktionen generieren ebenfalls Echtzeitdaten, die analysiert und verifiziert werden müssen. Webbrowser generieren Online-Transaktionen und Aktivitätsprotokolle. Datenstreaming und Stream-Verarbeitung sind für die Verarbeitung dieser Art von Daten unerlässlich.
Große Datenmengen
Die Datenmenge, die jede Sekunde generiert wird, ist zu groß, um sie in einem Data Warehouse zu speichern. Daher werden Streamingdaten häufig sofort ausgewertet, um festzustellen, ob es sich um wichtige Echtzeitdaten handelt oder nicht. Auf diese Weise können Systeme Daten streamen und sofort analysieren, um zu entscheiden, was gespeichert wird und was nicht. Dies hilft Unternehmen dabei, Datenverlust und Datenspeicherung zu reduzieren und Infrastrukturkosten zu sparen.
Beispiele für Datenstreaming
Internet der Dinge: Das IoT umfasst eine Vielzahl von Geräten, die mithilfe von Sensoren Daten sammeln und in Echtzeit an einen Datenprozessor übertragen. IoT-Daten generieren Streamingdaten. Tragbare Gesundheitsmonitore wie Uhren, Heimsicherheitssysteme, Verkehrsüberwachungssysteme, biometrische Scanner, vernetzte Haushaltsgeräte, Cybersicherheit und Datenschutzsysteme generieren und streamen Daten in Echtzeit.
Börsenmonitore in Echtzeit: Finanzdaten in Echtzeit werden häufig in einem Stream-Format übertragen. Die Verarbeitung und Analyse von Finanzdaten (wie Aktienkursen und Markttrends) helfen Unternehmen dabei, wichtige Entscheidungen schnell zu treffen.
Aktivitäts- und Transaktionsprotokolle: Das Internet ist auch eine wichtige Quelle für Streamingdaten in Echtzeit. Wenn Nutzer Websites besuchen oder auf Links klicken, generieren Webbrowser Aktivitätsprotokolle. Online-Finanztransaktionen wie Kreditkartenkäufe generieren auch zeitkritische Daten, die gestreamt und für Echtzeitaktionen verarbeitet werden können.
Prozessmonitore: Jedes Unternehmen generiert Milliarden von Datenpunkten aus seinen internen Systemen. Durch das Streaming dieser Daten und die Verarbeitung in Echtzeit können Unternehmen den Systemzustand überwachen und handeln, bevor die Dinge eskalieren. Beispielsweise verfügen Produktionsbetriebe häufig über Geräte, die den Zustand des Fließband überwachen, Fehler erkennen und das Risiko in der Produktion bewerten. Diese Geräte können auch zeitkritische Daten streamen, um Ausfälle zu überwachen und sogar zu verhindern.
Was ist Stream-Verarbeitung? Wie funktioniert sie?
Um Streaming- oder Live-Daten verarbeiten zu können, benötigen Sie einen Prozess, der sich deutlich von der herkömmlichen Batch-Verarbeitung unterscheidet. Ein Stream-Prozessor sammelt, analysiert und visualisiert einen kontinuierlichen Datenfluss. Und um zu verarbeiten, müssen Sie natürlich mit dem Datenstreaming beginnen. Das Datenstreaming steht am Anfang der Stream-Verarbeitung. Die Stream-Verarbeitung wird verwendet, um die Datenströme aufzunehmen und daraus Erkenntnisse abzuleiten, oft in Echtzeit. Aufgrund der Einzigartigkeit der Streamingdaten muss ein Stream-Prozessor die folgenden Anforderungen erfüllen:
Niedrige Latenz
Ein Stream-Prozessor sollte schnell mit kontinuierlichen Datenflüssen arbeiten. Die Verarbeitungsgeschwindigkeit ist aus zwei Gründen ein Hauptanliegen. Die Daten werden erstens als kontinuierlicher Stream übertragen, ein langsamer Prozessor, der Daten auslässt, kann nicht zurückgehen. Zweitens verlieren die Streamingdaten in kurzer Zeit an Relevanz. Jede Verarbeitungsverzögerung führt zu einer Minderung des Wertes der Daten.
Skalierbarkeit
Streamingdaten haben nicht immer dasselbe Volumen. Beispielsweise können Sensoren häufig geringe Datenmengen erzeugen, aber gelegentlich kann es zu einem Anstieg der Daten kommen. Da die Datenmenge nicht vorhersehbar ist, sollte der Prozessor bei Bedarf für große Datenmengen skaliert werden.
Verfügbarkeit
Ein Stream-Prozessor kann sich keine langen Ausfallzeiten leisten. Die Streamingdaten sind kontinuierlich und kommen in Echtzeit an. Ein Prozessor muss fehlertolerant sein, was bedeutet, dass er auch dann weiterarbeiten kann, wenn einige seiner Komponenten ausfallen. Ein Stream-Prozessor sollte auch in der Lage sein, die Erkenntnisse zu sammeln, zu verarbeiten und sofort zur Präsentation an eine höhere Ebene weiterzugeben.
Was sind die Hauptkomponenten eines Stream-Prozessors?
Im Allgemeinen gibt es bei der Stream-Verarbeitung zwei Anwendungsfälle:
Datenflussmanagement
Beim Datenflussmanagement besteht das Ziel der Stream-Verarbeitung darin, eine Zusammenfassung der eingehenden Daten zu erstellen oder Modelle zu erstellen. Beispielsweise kann ein Stream-Prozessor aus einem kontinuierlichen Strom von Gesichtsdaten eine Liste von Gesichtszügen erstellen. Ein weiteres Beispiel für diesen Anwendungsfall sind die Protokolle der Internetaktivität. Aus dem ständigen Fluss der Benutzerklickdaten versucht der Stream-Prozessor, die Präferenzen und den Geschmack des Benutzers zu berechnen.
Komplexe Event-Verarbeitung
Die komplexe Ereignisverarbeitung ist der Anwendungsfall, der für die meisten IoT-Datenflüsse gilt. In diesem Anwendungsfall besteht der Datenstrom aus Event Streams. Die Aufgabe des Stream-Prozessors besteht darin, wichtige Ereignisse zu extrahieren, aussagekräftige Erkenntnisse abzuleiten und die Informationen schnell an eine höhere Ebene weiterzuleiten, sodass sofort Maßnahmen in Echtzeit ergriffen werden können.
Einige der Stream-Prozessoren verarbeiten nur einen der oben genannten Anwendungsfälle, während einige erweiterte Prozessoren beide verarbeiten. Unabhängig vom Anwendungsfall sollte eine durchgängige Architektur des Stream-Prozessors über folgende Funktionen verfügen:
Generierung von Daten
Das Datenerzeugungssystem bezeichnet die verschiedenen Quellen der Rohdaten wie Sensoren, Transaktionsmonitore und Webbrowser. Sie produzieren kontinuierlich Daten, die das Stream-Verarbeitungssystem verbrauchen kann.
Datenerhebung und -aggregation
Jede der oben genannten Datengenerierungsquellen ist einem Client zugeordnet, der Daten von der Quelle empfängt. Diese werden als Quellclients bezeichnet. Ein Aggregator sammelt die Daten von mehreren Quellclients und sendet die Daten, die übertragen werden, an einen zentralen Datenpuffer.
Message-Puffer
Die Message-Puffer übernehmen die Stream-Daten von einem Aggregationsagenten und speichern sie vorübergehend, bevor sie in einen Logikprozessor weitergeleitet werden. Es gibt zwei Haupttypen von Message-Puffern: themenbasiert und warteschlangenbasiert. In den themenbasierten Puffern werden die eingehenden Daten in Form von Datensätzen gespeichert, die als Themen bezeichnet werden. Ein oder mehrere Datenproduzenten können zu einem Thema beitragen. Der warteschlangenbasierte Message-Puffer ist eher ein Punkt-zu-Punkt-Puffersystem, das Daten von einem einzigen Hersteller liest und an einen einzelnen Datenverbraucher liefert.
Message Broker
Die Datenerfassungs-, Aggregations- und Message-Pufferungssysteme bilden zusammen ein Message-Broker-System. Die Funktion des Message-Brokers besteht darin, die Streamingdaten aus verschiedenen Quellen zu aggregieren, zu formatieren und an ein kontinuierliches Logikverarbeitungssystem weiterzugeben.
Kontinuierliche Logikverarbeitung
Dies ist der Kern der Stream-Verarbeitungsarchitektur. Das Subsystem für die kontinuierliche Logikverarbeitung führt verschiedene vordefinierte Abfragen für die eingehenden Datenflüsse aus, um nützliche Erkenntnisse abzuleiten. Die Abfragen können so einfach sein wie die, die in einer XML-Datei gespeichert sind. Diese Abfragen werden kontinuierlich für die eingehenden Daten ausgeführt. Dieses Subsystem kann eine deklarative Befehlssprache definieren, mit der die Benutzer diese Abfragen einfach erstellen können. Das kontinuierliche Logikverarbeitungssystem läuft häufig auf verteilten Maschinen, um Skalierbarkeit und Fehlertoleranz zu gewährleisten. Im Laufe der Jahre wurde das Logikverarbeitungssystem weiterentwickelt, um die dynamische Änderung von Abfragen und Programmierschnittstellen (APIs) zur einfacheren Abfrage zu unterstützen.
Aufbewahrung und Präsentation
Dies sind zwei unterstützende Systeme in der Stream-Verarbeitung. Das Speichersystem speichert eine Zusammenfassung des Eingabedatenstroms und kann für zukünftige Referenzen verwendet werden. Es speichert auch die Ergebnisse der Abfragen, die im kontinuierlichen Datenstrom ausgeführt werden. Das Präsentationssystem dient zur Visualisierung der Daten für die Verbraucher. Das Präsentationssystem kann ein Analysesystem auf höherer Ebene oder Warnungen an die Endbenutzer enthalten.
Stream-Verarbeitung im Vergleich zur Batch-Verarbeitung
Traditionell sammeln Unternehmen Daten aus verschiedenen Quellen – wie Verkaufsunterlagen, Kundeninteraktionen und Bewertungen – und speichern sie in einem Data Warehouse. Diese Daten werden dann in Batches in einem Daten-Analytik-System verarbeitet. Die Batch-Verarbeitung arbeitet oft mit nicht zeitkritischen, historischen Daten. Obwohl historische Daten wichtig sind, liefern sie nicht die Echtzeiterkenntnisse, die viele Unternehmen heute anstreben. Die Stream-Verarbeitung ermöglicht Einblicke in Echtzeitdaten und muss schnell verarbeitet werden.
Mit der Batch-Verarbeitung liefert die Flexibilität, die Daten nach Belieben zu speichern und zu verarbeiten, während die Stream-Verarbeitung in Echtzeit oder nahezu in Echtzeit Maßnahmen erfordert. Die Batch-Verarbeitung verarbeitet Daten, die nicht zeitkritisch sind und nicht so schnell sein müssen wie die Stream-Verarbeitung. Im Vergleich zur Stream-Verarbeitung erfordert die Batch-Verarbeitung häufig eine größere Infrastruktur zum Speichern von Daten, während sie auf die Analyse warten. Die meisten Unternehmen benötigen jedoch eine Kombination aus Stream- und Batch-Verarbeitung, um auf dem heutigen Markt erfolgreich zu sein.

Vorteile von Datenstreaming und Datenverarbeitung
Stream-Verarbeitung und hohe Renditen
Unternehmen können aus Daten im Allgemeinen einen immensen Wert schöpfen. Echtzeit-Stream-Verarbeitungstechniken verschaffen Unternehmen durch die Analyse zeitkritischer Daten einen Vorteil, sodass sie schnell auf mögliche Probleme reagieren können. Zum Beispiel hilft die Stream-Analyse Finanzorganisationen, Aktienkurse in Echtzeit zu überwachen und zeitkritische Entscheidungen zu treffen. Sie hilft ihnen dabei, über Markttrends in Echtzeit informiert zu werden. Robuste Visualisierungs-Systeme und eine Echtzeit-Stream-Verarbeitungsinfrastruktur ermöglichen Unternehmen, ihre Reaktionszeit auf wichtige Ereignisse zu verbessern.
Senkung der Infrastrukturkosten
Bei der traditionellen Datenverarbeitung werden Daten häufig in riesigen Mengen in Data Warehouses gespeichert. Die Kosten für diese Speichersysteme und Hardware belasten die Unternehmen häufig. Bei der Stream-Verarbeitung werden Daten nicht in riesigen Mengen gespeichert, sodass Verarbeitungssysteme geringere Hardwarekosten verursachen.
Reduzieren Sie vermeidbare Verluste
Echtzeit-Datenflüsse ermöglichen Unternehmen, ihr Geschäftsökosystem kontinuierlich zu überwachen. Sie informieren Unternehmen über mögliche Sicherheitsverletzungen, Herstellungsprobleme, Unzufriedenheit der Kunden, finanzielle Zusammenbrüche oder eine drohende Störung des sozialen Images. Durch kontinuierliches Datenstreaming und die Verarbeitung der Daten können Unternehmen diese Probleme vermeiden.
Steigerung der Wettbewerbsfähigkeit und Kundenzufriedenheit
Mit der Echtzeit-Datenverarbeitung können Unternehmen mögliche Probleme proaktiv lösen, bevor sie eintreten. Dies verschafft ihnen Zeit und Vorsprung gegenüber Wettbewerbern. Das Streaming und die Verarbeitung von Daten erhöhen auch die Kundenzufriedenheit, da Kundenprobleme in Echtzeit gelöst werden können. Bei kontinuierlicher Echtzeit-Datenverarbeitung kommt es zu keiner Verzögerung, die durch auf ihre Verarbeitung wartende Daten in Warehouses verursacht wird.
Herausforderungen für Datenstreaming und Datenverarbeitung
Datenstreaming- und -verarbeitungssysteme verarbeiten äußerst flüchtige, Echtzeit- und kontinuierliche Daten. Die Streamingdaten sind oft heterogen und unvollständig. Die Art der Streamingdaten stellt das Streaming und die Verarbeitung von Daten vor viele Herausforderungen.
Datenmenge und Diversität
Datenstreaming befasst sich mit riesigen Mengen an kontinuierlichen Echtzeitdaten. Datenverlust und beschädigte Datenpakete sind häufige Herausforderungen beim Datenstreaming. Streamingdaten sind oft heterogen und stammen aus verschiedenen geografischen Standorten und Anwendungen. Die Verarbeitung dieser Daten stellt aufgrund ihrer Beschaffenheit eine Herausforderung für Datenstreaming- und Verarbeitungsanwendungen dar.
Rechtzeitigkeit
Die Relevanz von Stream-Daten nimmt mit der Zeit ab. Das Datenstreaming und -verarbeitungssystem sollte schnell genug sein, um die Daten zu analysieren, solange sie noch relevant sind. Diese zeitkritische Beschaffenheit der Streamingdaten erfordert ein leistungsstarkes, fehlertolerantes System.
Elastizität
Die Stream-Datenmenge steigt täglich. Um ein gewisses Maß an Servicequalität aufrechtzuerhalten, müssen sich die Stream-Verarbeitungssysteme dynamisch an die Belastung anpassen. Stream-Datenquellen übertragen möglicherweise nicht immer große Datenmengen. In solchen Fällen dürfen die Verarbeitungssysteme nur minimale Ressourcen verwenden. Wenn die Nachfrage steigt, sollte das System dynamisch mehr Ressourcen zuweisen. Dieses Bedürfnis nach Elastizität ist eine weitere Herausforderung von Stream-Verarbeitungssystemen.
Fehlertoleranz
Die Stream-Verarbeitung erfolgt kontinuierlich in Echtzeit. Die gestreamten Daten können nicht wiederholt oder perfekt neu übertragen werden. Infolgedessen können sich Stream-Verarbeitungssysteme keine Ausfallzeiten leisten. Im Gegensatz zu herkömmlichen Batch-Verarbeitungssystemen bleibt zwischen Datenerfassung und -verarbeitung nicht viel Zeit. Die Systeme müssen ständig verfügbar sein und funktionieren. Wenn ein Teil des Systems ausfällt, darf das den Rest des Verarbeitungssystems nicht beeinträchtigen.