Jump to section

Was ist Data Streaming?

URL kopieren

Data Streaming ist der kontinuierliche Fluss von Echtzeitinformationen und stellt die Basis des Softwaremodells der event-gesteuerten Architektur dar. Moderne Anwendungen können Data Streaming zum Verarbeiten, Speichern und Analysieren von Daten nutzen. 

Sie können sich Data Streaming als ein Protokoll vorstellen, in dem kontinuierlich Änderungen oder Events protokolliert werden, die in einem Datensatz stattgefunden haben. Oft ist dies ein Datensatz, der sich äußerst schnell ändert.

Die großen, sich schnell verändernden Datensätze, die Quellen von Data Streaming sein können, sind dabei unterschiedlicher Art: von Finanztransaktionen und Daten von IoT-Sensoren (Internet of Things) über logistische Abläufe und Einzelhandelsbestellungen bis hin zu Patienten-Monitoring. Data Streaming kann wie eine nächste Generation von Messaging betrachtet werden und eignet sich dadurch für Situationen, in denen Echtzeitreaktionen auf Events erforderlich sind.

Ein gutes Beispiel sind etwa Event-Daten, welche die Basis einer event-gesteuerten Architektur bilden. Event-gesteuerte Architekturen verbinden lose gekoppelte Microservices als Teil einer agilen Entwicklung.

Denken Sie beim Thema Data Streaming an Echtzeit-Anwendungen. Beispiele für gängige Use Cases:

  • Digitale Erlebnisse, die unmittelbaren Zugriff auf Daten benötigen
  • Microservice-Anwendungen zur Unterstützung agiler Softwareentwicklung
  • Streaming-Szenarien zur Modernisierung von datenbankgestützten Anwendungen, die zuvor per Batch-Verarbeitung gesteuert wurden
  • Echtzeitanalysen, vor allem solche mit Datenaufnahme aus mehreren Quellen
  • Edge Computing, das Daten von unterschiedlichen Geräten und Systemen zusammenbringt

Zu den beliebten Use Cases für Daten-Streams gehören etwa Anwendungen aus dem Bereich Messaging, Geolokalisierung, Betrugserkennung, Bestandsmanagement, Marketinganalysen, Überwachung von IT-Systemen und IIoT (Industrial IoT).

Apache Kafka ist eine verteilte Open-Source-Messaging-Plattform und mittlerweile eine der beliebtesten Methoden, mit großen Mengen an Echtzeit-Streaming-Daten zu arbeiten.

Softwareentwickler verwenden Kafka, um Daten-Pipelines und Streaming-Anwendungen zu entwickeln. Mit Kafka können Anwendungen:

  • Streams von Datensätzen veröffentlichen und abonnieren
  • Streams von Datensätzen speichern
  • Datensätze unmittelbar nach dem Entstehen verarbeiten

Kafka wurde entwickelt, um Streaming-Daten zu verwalten und gleichzeitig schnell, horizontal skalierbar und fehlertolerant zu sein. Da Sie mit Kafka die Notwendigkeit für Punkt-zu-Punkt-Integrationen für die gemeinsame Datennutzung in bestimmten Anwendungen minimieren können, lassen sich auch Latenzzeiten auf Millisekunden reduzieren. Das heißt, dass den Nutzerinnen und Nutzern Daten schneller zur Verfügung gestellt werden, was in solchen Use Cases von Vorteil sein kann, die eine Datenverfügbarkeit in Echtzeit erfordern, wie etwa IT-Operationen und E-Commerce.

Apache Kafka kann Millionen von Datenpunkten pro Sekunde handhaben und eignet sich so bestens für alle Herausforderungen von Big Data. In vielen Use Cases rund um die Datenverarbeitung, wie etwa beim IoT (Internet of Things) und bei sozialen Medien, steigt das Datenvolumen exponentiell an und kann schnell die Kapazitäten der auf Ihr aktuelles Datenvolumen zugeschnittenen Anwendungen sprengen.

Daten-Streams müssen per Definition sequenzierte Informationen in Echtzeit liefern. Streaming-Datenanwendungen benötigen Streams, die auch in Zeiten von hoher Aktivität konsistent und hochverfügbar sind. Das Bereitstellen und/oder Nutzen von Daten-Streams, die über diese Eigenschaften verfügen, kann zu einer echten Herausforderung werden.

Die Menge an Rohdaten in einem Stream kann schnell ansteigen. Denken Sie etwa an den plötzlichen exponentiellen Anstieg neu erstellter Daten, ausgelöst durch große Verkaufswellen beim Aktienhandel, durch Social-Media-Beiträge bei wichtigen Sportveranstaltungen oder auch durch Protokollierungsaktivitäten während eines Systemausfalls. Daten-Streams müssen skalierbar gestaltet werden. Selbst in Zeiten hoher Aktivität muss dabei die richtige Datensequenzierung, Datenkonsistenz und Verfügbarkeit an erster Stelle stehen. Streams müssen auch für den Fall eines teilweisen Systemausfalls auf Dauerhaftigkeit ausgelegt sein.

In einer verteilten Hybrid Cloud-Umgebung erfordert ein Streaming-Daten-Cluster besondere Überlegungen. Typische Datenbroker sind zustandsbehaftet und müssen bei einem Neustart beibehalten werden. Die Skalierung erfordert eine sorgfältige Orchestrierung, um sicherzustellen, dass sich Messaging-Dienste wie erwartet verhalten und keine Datensätze verloren gehen.

Warum sollten Sie einen Data-Streaming-Dienst nutzen?

Die Bereitstellung einer komplexen, hochverfügbaren Data-Streaming-Plattform in Echtzeit ist eine Herausforderung, die erhebliche Ressourcen beanspruchen kann. Dabei ist oft ein Maß an Expertise und Hardware erforderlich, das über die Kapazitäten einer internen IT-Abteilung hinausgeht.

Deshalb entscheiden sich viele Streaming-Datennutzer für einen gemanagten Cloud-Service, bei dem die Infrastruktur- und Systemverwaltung an einen Serviceanbieter ausgelagert wird. Dank dieser Option können Unternehmen sich auf ihre Kernkompetenzen konzentrieren, statt sich mit der Verwaltung einer komplexen Data-Streaming-Lösung befassen zu müssen.

Weiterlesen

Lernreihe

Kafka auf Kubernetes

Erfahren Sie von Experten, wie Sie event-gesteuerte Architektur mit Apache Kafka und OpenShift verwenden.

E-Book

Vereinfachtes Anwendungsmanagement in Kubernetes-Umgebungen

Erfahren Sie, wie Sie Aufgaben zum Management des Anwendungs-Lifecycle automatisieren können, um Ihrem Unternehmen mehr Wert zu bieten.

Analystenreport

Event-gesteuerte Anwendungen mit Red Hat AMQ Streams

Erfahren Sie, wie Red Hat AMQ Streams event-gesteuerten Unternehmen helfen kann, Apache Kafka auf OpenShift zu nutzen.