Big Data-ArchitekturenBig data architectures

Eine Big Data-Architektur ist für die Erfassung, Verarbeitung und Analyse von Daten konzipiert, die für herkömmliche Datenbanksysteme zu groß oder zu komplex sind.A big data architecture is designed to handle the ingestion, processing, and analysis of data that is too large or complex for traditional database systems. An welchem Punkt eine Organisation in den Big Data-Bereich übergeht, ist von den Kompetenzen der Benutzer sowie von deren Tools abhängig.The threshold at which organizations enter into the big data realm differs, depending on the capabilities of the users and their tools. Bei einigen ist es vielleicht bereits ab einer Datenmenge von mehreren hundert Gigabytes der Fall, bei anderen womöglich erst ab mehreren hundert Terabytes.For some, it can mean hundreds of gigabytes of data, while for others it means hundreds of terabytes. Mit der Weiterentwicklung der Tools umfangreicher Datasets entwickelt sich auch die Bedeutung von Big Data weiter.As tools for working with big data sets advance, so does the meaning of big data. Der Begriff bezieht sich zunehmend den Nutzen, den Sie durch erweiterte Analysen aus Ihren Daten ziehen können, und weniger auf die Größe der Daten, obwohl sie in diesen Fällen üblicherweise ziemlich groß ausfallen.More and more, this term relates to the value you can extract from your data sets through advanced analytics, rather than strictly the size of the data, although in these cases they tend to be quite large.

Die Datenlandschaft hat sich im Laufe der Jahre verändert.Over the years, the data landscape has changed. Dadurch haben sich auch die Möglichkeiten und Erwartungen im Zusammenhang mit der Datennutzung geändert.What you can do, or are expected to do, with data has changed. Speicherkosten sind erheblich gesunken, und es stehen immer mehr Möglichkeiten für die Datensammlung zur Verfügung.The cost of storage has fallen dramatically, while the means by which data is collected keeps growing. Einige Daten gehen mit hoher Geschwindigkeit ein und müssen kontinuierlich erfasst und beobachtet werden.Some data arrives at a rapid pace, constantly demanding to be collected and observed. Andere Daten gehen langsamer ein, dafür aber in sehr großen Blöcken – häufig in Form historischer Daten für mehrere Jahrzehnte.Other data arrives more slowly, but in very large chunks, often in the form of decades of historical data. Möglicherweise stehen Sie vor einer Aufgabe, die eine erweiterte Analyse oder Machine Learning erfordert.You might be facing an advanced analytics problem, or one that requires machine learning. Diese Herausforderungen lassen sich mit Big Data-Architekturen bewältigen.These are challenges that big data architectures seek to solve.

Big Data-Lösungen umfassen üblicherweise mindestens einen der folgenden Workloadtypen:Big data solutions typically involve one or more of the following types of workload:

  • Batchverarbeitung von ruhenden Big Data-QuellenBatch processing of big data sources at rest.
  • Echtzeitverarbeitung von Big Data während der ÜbertragungReal-time processing of big data in motion.
  • Interaktive Erkundung von Big Data.Interactive exploration of big data.
  • Predictive Analytics und Machine LearningPredictive analytics and machine learning.

Big Data-Architekturen können in folgenden Szenarien in Betracht gezogen werden:Consider big data architectures when you need to:

  • Sie möchten Daten in Mengen speichern und verarbeiten, die für eine herkömmliche Datenbank zu groß sind.Store and process data in volumes too large for a traditional database.
  • Sie möchten unstrukturierte Daten zum Zweck der Analyse und Berichterstellung transformieren.Transform unstructured data for analysis and reporting.
  • Sie möchten ungebundene Datenströme in Echtzeit oder mit geringer Latenz erfassen, verarbeiten und analysieren.Capture, process, and analyze unbounded streams of data in real time, or with low latency.

Komponenten einer Big Data-ArchitekturComponents of a big data architecture

Das folgende Diagramm zeigt die möglichen logischen Komponenten einer Big Data-Architektur.The following diagram shows the logical components that fit into a big data architecture. Individuelle Lösungen müssen nicht alle Elemente aus diesem Diagramm enthalten.Individual solutions may not contain every item in this diagram.

Allgemeines Datenpipelinediagramm

Die meisten Big Data-Architekturen enthalten einige oder alle der folgenden Komponenten:Most big data architectures include some or all of the following components:

  • Datenquellen:Data sources. Alle Big Data-Lösungen beginnen mit mindestens einer Datenquelle.All big data solutions start with one or more data sources. Beispiele:Examples include:

    • Anwendungsdatenspeicher wie z.B. relationale DatenbankenApplication data stores, such as relational databases.
    • Von Anwendungen erzeugte statische Dateien, z.B. Webserver-ProtokolldateienStatic files produced by applications, such as web server log files.
    • Echtzeitdatenquellen wie z.B. IoT-GeräteReal-time data sources, such as IoT devices.
  • Datenspeicher.Data storage. Daten für die Batchverarbeitung werden in der Regel in einem verteilten Dateispeicher gespeichert, der große Mengen an umfangreichen Dateien in verschiedenen Formaten aufnehmen kann.Data for batch processing operations is typically stored in a distributed file store that can hold high volumes of large files in various formats. Diese Art Speicher wird häufig als Data Lake bezeichnet.This kind of store is often called a data lake. Ein solcher Speicher lässt sich beispielsweise über Azure Data Lake Store oder Blobcontainer in Azure Storage implementieren.Options for implementing this storage include Azure Data Lake Store or blob containers in Azure Storage.

  • Batchverarbeitung:Batch processing. Da die Datasets so umfangreich sind, muss eine Big Data-Lösung Datendateien mithilfe von Batchaufträgen mit langer Ausführungszeit verarbeiten, um die Daten zu filtern, zu aggregieren und anderweitig auf die Analyse vorzubereiten.Because the data sets are so large, often a big data solution must process data files using long-running batch jobs to filter, aggregate, and otherwise prepare the data for analysis. Diese Aufträge beinhalten in der Regel das Lesen von Quelldateien, ihre Verarbeitung und das Schreiben der Ausgabe in neue Dateien.Usually these jobs involve reading source files, processing them, and writing the output to new files. Zu den Optionen gehört z.B. Folgendes: die Ausführung von U-SQL-Aufträgen in Azure Data Lake Analytics, die Verwendung von Hive-, Pig- oder benutzerdefinierten MapReduce-Aufträgen in einem HDInsight Hadoop-Cluster oder die Verwendung von Java-, Scala- oder Python-Programmen in einem HDInsight Spark-Cluster.Options include running U-SQL jobs in Azure Data Lake Analytics, using Hive, Pig, or custom Map/Reduce jobs in an HDInsight Hadoop cluster, or using Java, Scala, or Python programs in an HDInsight Spark cluster.

  • Echtzeiterfassung von Nachrichten:Real-time message ingestion. Wenn die Lösung Echtzeitquellen umfasst, muss die Architektur eine Möglichkeit bieten, Echtzeitnachrichten für die Verarbeitung des Datenstroms zu erfassen und zu speichern.If the solution includes real-time sources, the architecture must include a way to capture and store real-time messages for stream processing. Hierbei kann es sich um einen einfachen Datenspeicher handeln, in dem eingehende Nachrichten zur Verarbeitung in einem Ordner abgelegt werden.This might be a simple data store, where incoming messages are dropped into a folder for processing. Viele Lösungen benötigen jedoch einen Speicher für die Erfassung von Nachrichten, der als Puffer für Nachrichten fungiert. Der Speicher muss zudem die Verarbeitung der horizontalen Skalierung, eine zuverlässige Übermittlung sowie weitere Semantik für das Nachrichtenqueuing unterstützen.However, many solutions need a message ingestion store to act as a buffer for messages, and to support scale-out processing, reliable delivery, and other message queuing semantics. Dieser Teil einer Streamingarchitektur wird häufig als Streampufferung bezeichnet.This portion of a streaming architecture is often referred to as stream buffering. Zu den Optionen gehören Azure Event Hubs, Azure IoT Hub und Kafka.Options include Azure Event Hubs, Azure IoT Hub, and Kafka.

  • Streamverarbeitung:Stream processing. Die erfassten Echtzeitnachrichten müssen von der Lösung verarbeitet werden, indem die Daten gefiltert, aggregiert und anderweitig auf die Analyse vorbereitet werden.After capturing real-time messages, the solution must process them by filtering, aggregating, and otherwise preparing the data for analysis. Die verarbeiteten Daten aus dem Datenstrom werden dann in eine Ausgabesenke geschrieben.The processed stream data is then written to an output sink. Azure Stream Analytics stellt einen verwalteten Dienst für die Datenstromverarbeitung bereit, basierend auf kontinuierlich ausgeführten SQ-Abfragen, die in ungebundenen Datenströmen arbeiten.Azure Stream Analytics provides a managed stream processing service based on perpetually running SQL queries that operate on unbounded streams. Sie können auch Open Source-Apache-Streamingtechnologien wie Storm und Spark Streaming in einem HDInsight-Cluster verwenden.You can also use open source Apache streaming technologies like Storm and Spark Streaming in an HDInsight cluster.

  • Analysedatenspeicher:Analytical data store. Viele Big Data-Lösungen bereiten Daten für die Analyse vor und stellen die verarbeiteten Daten dann in einem strukturierten Format bereit, das mithilfe von Analysetools abgefragt werden kann.Many big data solutions prepare data for analysis and then serve the processed data in a structured format that can be queried using analytical tools. Der Analysedatenspeicher, in dem diese Abfragen ausgeführt werden, kann ein relationales Data Warehouse im Kimball-Stil sein, wie es in den meisten herkömmlichen BI-Lösungen (Business Intelligence) zu finden ist.The analytical data store used to serve these queries can be a Kimball-style relational data warehouse, as seen in most traditional business intelligence (BI) solutions. Alternativ dazu können die Daten auch über eine NoSQL-Technologie mit niedriger Latenz bereitgestellt werden, wie z.B. HBase. Eine weitere Möglichkeit ist eine interaktive Hive-Datenbank, die eine Metadatenabstraktion der Datendateien in einem verteilten Datenspeicher bereitstellt.Alternatively, the data could be presented through a low-latency NoSQL technology such as HBase, or an interactive Hive database that provides a metadata abstraction over data files in the distributed data store. Azure Synapse Analytics verfügt über einen verwalteten Dienst für umfangreiches cloudbasiertes Data Warehousing.Azure Synapse Analytics provides a managed service for large-scale, cloud-based data warehousing. HDInsight unterstützt Interactive Hive, HBase und Spark SQL – diese Module können auch zum Bereitstellen von Daten für die Analyse verwendet werden.HDInsight supports Interactive Hive, HBase, and Spark SQL, which can also be used to serve data for analysis.

  • Analysen und Berichte:Analysis and reporting. Ziel der meisten Big Data-Lösungen ist es, über Analysen und Berichte Einblicke in die Daten zu bieten.The goal of most big data solutions is to provide insights into the data through analysis and reporting. Um Benutzer die Datenanalyse zu ermöglichen, kann die Architektur eine Datenmodellierungsschicht umfassen, wie z.B. einen multidimensionalen OLAP-Cube oder ein Tabellendatenmodell in Azure Analysis Services.To empower users to analyze the data, the architecture may include a data modeling layer, such as a multidimensional OLAP cube or tabular data model in Azure Analysis Services. Sie kann auch Self-Service-BI unterstützen – hierbei kommen die Modellierungs- und Visualisierungstechnologien von Microsoft Power BI oder Microsoft Excel zum Einsatz.It might also support self-service BI, using the modeling and visualization technologies in Microsoft Power BI or Microsoft Excel. Analysen und Berichterstellung können auch in Form einer interaktiven Datenerkundung durch Data Scientists oder Data Analysts erfolgen.Analysis and reporting can also take the form of interactive data exploration by data scientists or data analysts. Für diese Szenarios unterstützen viele Azure-Dienste Analysenotebooks, z.B. Jupyter, sodass diese Benutzer ihre vorhandenen Kenntnisse von Python oder R nutzen können. Zum Erkunden sehr umfangreicher Daten können Sie Microsoft R Server als eigenständige Lösung oder zusammen mit Spark verwenden.For these scenarios, many Azure services support analytical notebooks, such as Jupyter, enabling these users to leverage their existing skills with Python or R. For large-scale data exploration, you can use Microsoft R Server, either standalone or with Spark.

  • Orchestrierung:Orchestration. Die meisten Big Data-Lösungen bestehen aus wiederholten Datenverarbeitungsvorgängen, die in Workflows gekapselt sind. Diese Vorgänge transformieren Quelldaten, verschieben Daten zwischen mehreren Quellen und Senken, laden die verarbeiteten Daten in einen Analysedatenspeicher oder übermitteln die Ergebnisse direkt in einen Bericht oder an ein Dashboard.Most big data solutions consist of repeated data processing operations, encapsulated in workflows, that transform source data, move data between multiple sources and sinks, load the processed data into an analytical data store, or push the results straight to a report or dashboard. Um diese Workflows zu automatisieren, können Sie eine Orchestrierungstechnologie wie such Azure Data Factory oder Apache Oozie und Sqoop verwenden.To automate these workflows, you can use an orchestration technology such Azure Data Factory or Apache Oozie and Sqoop.

Lambda-ArchitekturLambda architecture

Bei sehr großen Datasets kann die Ausführung der von Clients benötigten Abfragen sehr lange dauern.When working with very large data sets, it can take a long time to run the sort of queries that clients need. Diese Abfragen können nicht in Echtzeit durchgeführt werden und erfordern häufig Algorithmen wie MapReduce, die parallel für das gesamte Dataset ausgeführt werden.These queries can't be performed in real time, and often require algorithms such as MapReduce that operate in parallel across the entire data set. Die Ergebnisse werden dann getrennt von den Rohdaten gespeichert und für Abfragen verwendet.The results are then stored separately from the raw data and used for querying.

Ein Nachteil dieses Ansatzes ist die damit verbundene Wartezeit: Wenn die Verarbeitung einige Stunden dauert, gibt eine Abfrage unter Umständen Ergebnisse zurück, die bereits mehrere Stunden alt sind.One drawback to this approach is that it introduces latency — if processing takes a few hours, a query may return results that are several hours old. Im Idealfall möchten Sie einige Ergebnisse in Echtzeit erhalten (ggf. auf Kosten der Genauigkeit) und sie mit den Ergebnissen aus der Batchanalyse kombinieren.Ideally, you would like to get some results in real time (perhaps with some loss of accuracy), and combine these results with the results from the batch analytics.

Die Lambda-Architektur wurde erstmals von Nathan Marz vorgeschlagen und löst dieses Problem durch die Erstellung zweier Datenflusspfade.The lambda architecture, first proposed by Nathan Marz, addresses this problem by creating two paths for data flow. Alle beim System eingehenden Daten durchlaufen die beiden folgenden Pfade:All data coming into the system goes through these two paths:

  • Eine Batchebene (Pfad für kalte Daten) speichert alle eingehenden Daten als Rohdaten und führt eine Batchverarbeitung der Daten durch.A batch layer (cold path) stores all of the incoming data in its raw form and performs batch processing on the data. Das Ergebnis dieser Verarbeitung wird als Batchansicht gespeichert.The result of this processing is stored as a batch view.

  • Eine Geschwindigkeitsebene (Pfad für heiße Daten) analysiert Daten in Echtzeit.A speed layer (hot path) analyzes data in real time. Die geringe Wartezeit dieser Ebene geht zulasten der Genauigkeit.This layer is designed for low latency, at the expense of accuracy.

Die Daten der Batchebene werden einer Bereitstellungsebene zugeführt, die die Batchansicht indiziert, um effiziente Abfragen zu ermöglichen.The batch layer feeds into a serving layer that indexes the batch view for efficient querying. Die Geschwindigkeitsebene aktualisiert die Bereitstellungsebene nach und nach mit den neuesten Daten.The speed layer updates the serving layer with incremental updates based on the most recent data.

Diagramm der Lambda-Architektur

Daten, die den Pfad für heiße Daten durchlaufen, werden durch Wartezeitanforderungen der Geschwindigkeitsebene eingeschränkt, um eine schnellstmögliche Verarbeitung zu ermöglichen.Data that flows into the hot path is constrained by latency requirements imposed by the speed layer, so that it can be processed as quickly as possible. Hierbei müssen häufig gewisse Abstriche bei der Genauigkeit gemacht werden, um eine möglichst schnelle Verfügbarkeit der Daten zu erreichen.Often, this requires a tradeoff of some level of accuracy in favor of data that is ready as quickly as possible. Stellen Sie sich beispielsweise ein IoT-Szenario vor, in dem Telemetriedaten von einer großen Anzahl von Temperatursensoren übermittelt werden.For example, consider an IoT scenario where a large number of temperature sensors are sending telemetry data. Die Geschwindigkeitsebene kann zur Verarbeitung eines gleitenden Zeitfensters der eingehenden Daten verwendet werden.The speed layer may be used to process a sliding time window of the incoming data.

Daten, die den Pfad für kalte Daten durchlaufen, sind dagegen nicht den gleichen Anforderungen für kurze Wartezeiten unterworfen.Data flowing into the cold path, on the other hand, is not subject to the same low latency requirements. Dies ermöglicht äußerst zeitaufwendige Berechnungen mit hoher Genauigkeit für umfangreiche Datasets.This allows for high accuracy computation across large data sets, which can be very time intensive.

Die Pfade für heiße und kalte Daten werden schließlich in der Analyseclientanwendung zusammengeführt.Eventually, the hot and cold paths converge at the analytics client application. Wenn der Client zeitnahe, aber unter Umständen ungenauere Daten in Echtzeit anzeigen muss, wird das Ergebnis aus dem Pfad für heiße Daten abgerufen.If the client needs to display timely, yet potentially less accurate data in real time, it will acquire its result from the hot path. Andernfalls werden die Ergebnisse aus dem Pfad für kalte Daten verwendet, um weniger aktuelle, dafür aber genauere Daten anzuzeigen.Otherwise, it will select results from the cold path to display less timely but more accurate data. Mit anderen Worten: Der Pfad für heiße Daten liefert Daten für ein relativ kleines Zeitfenster, nach dem die Ergebnisse mit möglichst genauen Daten aus dem Pfad für kalte Daten aktualisiert werden können.In other words, the hot path has data for a relatively small window of time, after which the results can be updated with more accurate data from the cold path.

Die auf der Batchebene gespeicherten Rohdaten sind unveränderlich.The raw data stored at the batch layer is immutable. Eingehende Daten werden immer am Ende der bereits vorhandene Daten hinzugefügt, und die vorherigen Daten werden niemals überschrieben.Incoming data is always appended to the existing data, and the previous data is never overwritten. Änderungen am Wert eines bestimmten Bezugs werden als neuer Ereignisdatensatz mit Zeitstempel gespeichert.Any changes to the value of a particular datum are stored as a new timestamped event record. Dies ermöglicht die Neuberechnung zu einem beliebigen Zeitpunkt innerhalb des Verlaufs der gesammelten Daten.This allows for recomputation at any point in time across the history of the data collected. Die Möglichkeit zur Neuberechnung der Batchansicht auf der Grundlage der ursprünglichen Rohdaten ist wichtig, da es die Erstellung neuer Ansichten ermöglicht, wenn sich das System weiterentwickelt.The ability to recompute the batch view from the original raw data is important, because it allows for new views to be created as the system evolves.

Kappa-ArchitekturKappa architecture

Ein Nachteil der Lambda-Architektur ist ihre Komplexität.A drawback to the lambda architecture is its complexity. Die Verarbeitungslogik kommt an zwei verschiedenen Stellen zur Anwendung (am Pfad für kalte Daten und am Pfad für heiße Daten) und verwendet unterschiedliche Frameworks.Processing logic appears in two different places — the cold and hot paths — using different frameworks. Dies hat eine Duplizierung der Berechnungslogik sowie eine komplexe Verwaltung der Architektur für beide Pfade zur Folge.This leads to duplicate computation logic and the complexity of managing the architecture for both paths.

Die Kappa-Architektur wurde von Jay Kreps als Alternative zur Lambda-Architektur vorgeschlagen.The kappa architecture was proposed by Jay Kreps as an alternative to the lambda architecture. Sie weist die gleichen grundlegenden Ziele wie die Lambda-Architektur auf, jedoch mit einem wichtigen Unterschied: Alle Daten fließen über ein Datenstrom-Verarbeitungssystem durch einen einzelnen Pfad.It has the same basic goals as the lambda architecture, but with an important distinction: All data flows through a single path, using a stream processing system.

Diagramm der Kappa-Architektur

Es gibt gewisse Ähnlichkeiten mit der Batchebene der Lambda-Architektur. So sind auch hier die Ereignisdaten unveränderlich, und es wird nicht nur eine Teilmenge erfasst, sondern alles.There are some similarities to the lambda architecture's batch layer, in that the event data is immutable and all of it is collected, instead of a subset. Die Daten werden als Ereignisdatenstrom in einem verteilten und fehlertoleranten einheitlichen Protokoll erfasst.The data is ingested as a stream of events into a distributed and fault tolerant unified log. Diese Ereignisse sind sortiert, und der aktuelle Zustand eines Ereignisses wird nur durch Anfügen eines neuen Ereignisses geändert.These events are ordered, and the current state of an event is changed only by a new event being appended. Ähnlich wie bei der Geschwindigkeitsebene der Lambda-Architektur basiert die gesamte Ereignisverarbeitung auf dem Eingabedatenstrom und wird als Echtzeitansicht gespeichert.Similar to a lambda architecture's speed layer, all event processing is performed on the input stream and persisted as a real-time view.

Wenn Sie das gesamte Dataset neu berechnen müssen (analog zur Funktion der Batchebene der Lambda-Architektur), können Sie den Stream einfach erneut wiedergeben – üblicherweise unter Verwendung von Parallelität, damit die Berechnung zeitnah abgeschlossen werden kann.If you need to recompute the entire data set (equivalent to what the batch layer does in lambda), you simply replay the stream, typically using parallelism to complete the computation in a timely fashion.

Internet der Dinge (IoT, Internet of Things)Internet of Things (IoT)

In der Praxis steht „Internet der Dinge“ für jedes Gerät, das mit dem Internet verbunden ist.From a practical viewpoint, Internet of Things (IoT) represents any device that is connected to the Internet. Dazu zählen PCs, Smartphones, Smartwatches, intelligente Thermostate, intelligente Kühlschränke, vernetzte Autos, Implantate zur Herzüberwachung sowie sämtliche andere Komponenten, die mit dem Internet verbunden sind und Daten senden oder empfangen.This includes your PC, mobile phone, smart watch, smart thermostat, smart refrigerator, connected automobile, heart monitoring implants, and anything else that connects to the Internet and sends or receives data. Täglich kommen neue verbundene Geräte hinzu, und auch die Datenmenge, die von diesen Geräten erfasst wird, nimmt kontinuierlich zu.The number of connected devices grows every day, as does the amount of data collected from them. Diese Daten werden häufig in eng abgegrenzten Umgebungen erfasst, die teilweise eine hohe Wartezeit aufweisen.Often this data is being collected in highly constrained, sometimes high-latency environments. In anderen Fällen werden Daten aus Umgebungen mit geringer Wartezeit von tausenden oder Millionen von Geräten gesendet, was eine schnelle Datenerfassung und -verarbeitung erfordert.In other cases, data is sent from low-latency environments by thousands or millions of devices, requiring the ability to rapidly ingest the data and process accordingly. Zur Bewältigung dieser Einschränkungen und individuellen Anforderungen bedarf es daher einer sorgfältigen Planung.Therefore, proper planning is required to handle these constraints and unique requirements.

Ereignisgesteuerte Architekturen sind von zentraler Bedeutung für IoT-Lösungen.Event-driven architectures are central to IoT solutions. Das folgende Diagramm zeigt eine mögliche logische Architektur für IoT.The following diagram shows a possible logical architecture for IoT. Das Diagramm veranschaulicht die Komponenten der Architektur, die Ereignisströme verarbeiten.The diagram emphasizes the event-streaming components of the architecture.

IoT-Architektur

Das Cloudgateway erfasst Geräteereignisse an der Cloudgrenze mithilfe eines zuverlässigen Messagingsystems mit niedriger Latenz.The cloud gateway ingests device events at the cloud boundary, using a reliable, low latency messaging system.

Geräte können Ereignisse direkt an das Cloudgateway oder über ein Bereichsgateway.Devices might send events directly to the cloud gateway, or through a field gateway. Ein Bereichsgateway ist ein spezialisiertes Gerät oder Softwareprogramm, das sich üblicherweise am gleichen Ort befindet wie die Geräte. Es empfängt Ereignisse und leitet sie an das Cloudgateway weiter.A field gateway is a specialized device or software, usually collocated with the devices, that receives events and forwards them to the cloud gateway. Das Bereichsgateway kann auch Vorverarbeitungsfunktionen für die Geräteereignisse ausführen, z.B. Filtern, Aggregation oder Protokolltransformation.The field gateway might also preprocess the raw device events, performing functions such as filtering, aggregation, or protocol transformation.

Nach dem Erfassen durchlaufen Ereignisse einen oder mehrere Datenstromprozessoren, die die Daten weiterleiten (z.B. zum Speicher) oder Analyse- oder andere Verarbeitungsfunktionen ausführen.After ingestion, events go through one or more stream processors that can route the data (for example, to storage) or perform analytics and other processing.

Nachfolgend finden Sie einige häufige Verarbeitungsarten.The following are some common types of processing. (Diese Liste ist sicherlich nicht vollständig.)(This list is certainly not exhaustive.)

  • Schreiben von Ereignisdaten in einen Cold Storage zur Archivierung oder Batchanalyse.Writing event data to cold storage, for archiving or batch analytics.

  • Analyse des langsamsten Pfads – der Ereignisstrom wird (nahezu) in Echtzeit analysiert, um Anomalien zu erkennen, Muster in rollierenden Zeitfenstern zu ermitteln oder Warnungen auszulösen, wenn eine bestimmte Bedingung im Ereignisstrom auftritt.Hot path analytics, analyzing the event stream in (near) real time, to detect anomalies, recognize patterns over rolling time windows, or trigger alerts when a specific condition occurs in the stream.

  • Verarbeitung bestimmter Arten nicht telemetriebezogener Nachrichten von Geräten (etwa Benachrichtigungen und Warnungen).Handling special types of nontelemetry messages from devices, such as notifications and alarms.

  • Machine Learning.Machine learning.

Die grauen Felder stehen für Komponenten eines IoT-Systems, die nicht in direktem Zusammenhang mit der Ereignisstromverarbeitung stehen, sondern der Vollständigkeit halber hier mit aufgeführt werden.The boxes that are shaded gray show components of an IoT system that are not directly related to event streaming, but are included here for completeness.

  • Die Geräteregistrierung ist eine Datenbank der bereitgestellten Geräte und enthält die Geräte-IDs sowie üblicherweise einige Metadaten zu den Geräten, beispielsweise den Standort.The device registry is a database of the provisioned devices, including the device IDs and usually device metadata, such as location.

  • Die Bereitstellungs-API ist eine allgemeine externe Schnittstelle für die Bereitstellung und Registrierung neuer Geräte.The provisioning API is a common external interface for provisioning and registering new devices.

  • In einigen IoT-Lösungen können Nachrichten mit Befehlen und Steuerungsinformationen an die Geräte gesendet werden.Some IoT solutions allow command and control messages to be sent to devices.

In Frage kommender Azure-Dienst:Relevant Azure services:

Weitere Informationen zu IoT in Azure finden Sie in der Azure IoT-Referenzarchitektur.Learn more about IoT on Azure by reading the Azure IoT reference architecture.