Erkunden allgemeiner Elemente der Architektur für die Streamverarbeitung

Abgeschlossen

Es gibt viele Technologien, mit denen Sie eine Lösung für die Streamverarbeitung implementieren können. Auch wenn die spezifischen Implementierungsdetails variieren können, weisen die meisten Streamingarchitekturen gemeinsame Elemente auf.

Eine allgemeine Architektur für die Streamverarbeitung

Im einfachsten Fall sieht eine allgemeine Architektur für die Streamverarbeitung folgendermaßen aus:

Diagramm: Ein Ereignis erzeugt Daten, die vor der Verarbeitung in einer Warteschlange erfasst werden. Die Ergebnisse werden in einen Datenspeicher oder eine Visualisierung geschrieben.

  1. Ein Ereignis generiert einige Daten. Dabei kann es sich um ein von einem Sensor ausgegebenes Signal, eine in den sozialen Medien gepostete Nachricht, einen Eintrag in eine Protokolldatei oder ein anderes Ereignis handeln, das zur Erzeugung digitaler Daten führt.
  2. Die generierten Daten werden zur Verarbeitung in einer Quelle für das Streaming erfasst. In einfachen Fällen kann es sich bei der Quelle um einen Ordner in einem Clouddatenspeicher oder um eine Tabelle in einer Datenbank handeln. Bei leistungsfähigeren Streaminglösungen kann die Quelle eine Warteschlange sein, die mithilfe einer gekapselten Logik sicherstellt, dass die Ereignisdaten in der richtigen Reihenfolge verarbeitet werden und jedes Ereignis nur einmal verarbeitet wird.
  3. Die Ereignisdaten werden verarbeitet – häufig über eine fortlaufende Abfrage –, um Daten für bestimmte Arten von Ereignissen auszuwählen, Datenwerte hochzurechnen oder über (zeitbasierte) Abschnitte (oder Fenster) zu aggregieren – z. B. durch eine Zählung der Sensoremissionen pro Minute.
  4. Die Ergebnisse der Streamverarbeitung werden in ein Ausgabeziel (oder Senke) geschrieben, bei dem es sich um eine Datei, eine Datenbanktabelle, ein visuelles Echtzeitdashboard oder eine andere Warteschlange für die weitere Verarbeitung durch eine nachgeschaltete Abfrage handeln kann.

Echtzeitanalysedienste

Microsoft unterstützt mehrere Technologien, mit denen Sie Echtzeitanalysen von Streamingdaten implementieren können, darunter:

  • Azure Stream Analytics: Eine PaaS-Lösung (Platform-as-a-Service), mit der Sie Streamingaufträge definieren können, die Daten aus einer Streamingquelle erfassen, eine fortlaufende Abfrage durchführen und die Ergebnisse in eine Ausgabe schreiben.
  • Spark Structured Streaming: Eine Open-Source-Bibliothek, mit der Sie komplexe Streaming-Lösungen auf Apache Spark-basierten Diensten entwickeln können, darunter Microsoft Fabric und Azure Databricks.
  • Microsoft Fabric: Eine leistungsstarke Datenbank- und Analyseplattform, die Datentechnik, Data Factory, Data Science, Real-Time Analytics, Data Warehouse und Datenbanken umfasst.

Quellen für die Streamverarbeitung

Die folgenden Dienste werden häufig verwendet, um Daten für die Streamverarbeitung in Azure zu erfassen:

  • Azure Event Hubs: Ein Dienst zur Datenerfassung, mit dem Sie Warteschlangen mit Ereignisdaten verwalten können, um sicherzustellen, dass jedes Ereignis in der richtigen Reihenfolge und genau einmal verarbeitet wird.
  • Azure IoT Hub: Ein Dienst zur Datenerfassung, der Azure Event Hubs ähnelt, aber für die Verwaltung von Ereignisdaten von IoT-Geräten (Internet of Things) optimiert ist.
  • Azure Data Lake Store Gen 2: Ein hochgradig skalierbarer Speicherdienst, der häufig in Szenarien mit Batchverarbeitung eingesetzt wird, aber auch als Quelle für Streamingdaten verwendet werden kann.
  • Apache Kafka: Eine Open-Source-Lösung für die Datenerfassung, die häufig zusammen mit Apache Spark verwendet wird.

Senken für die Streamverarbeitung

Die Ausgabe der Streamverarbeitung wird häufig an die folgenden Dienste gesendet:

  • Azure Event Hubs: Wird dazu verwendet, die verarbeiteten Daten für die weitere nachgelagerte Verarbeitung in eine Warteschlange einzureihen.
  • Azure Data Lake Store Gen 2, Microsoft OneLake oder Azure Blob Storage: Wird verwendet, um die verarbeiteten Ergebnisse als Datei beizubehalten.
  • Azure SQL-Datenbank, Azure Databricks oder Microsoft Fabric: Wird verwendet, um die verarbeiteten Ergebnisse in einer Tabelle für Abfragen und Analysen zu speichern.
  • Microsoft Power BI: Dient zur Erstellung von Echtzeitdatenvisualisierungen in Form von Berichten und Dashboards.