Im Zug der fortschreitenden Digitalisierung werden Echtzeitsysteme immer wichtiger. In einer siebenteiligen Blogserie beleuchten wir diese aus unterschiedlichen Perspektiven:
- Teil 1: Sensoren
- Teil 2: Netzwerk-Kommunikation
- Teil 3: Unternehmensdaten
- Teil 4: Externe Daten
- Teil 5: Datenhaltung und -management
- Teil 6: Datenanalysen
- Teil 7: Informationssicherheit und Datenschutz (ISDS)
Sie lesen aktuell Teil 5 zu Datenhaltung und -management.
Dem Management von Daten kommt in Echtzeitsystemen eine wichtige Rolle zu: Je nach Ausprägung eines Echtzeitsystems muss die darunterliegende Dateninfrastruktur mit grossen Datenströmen umgehen können – also potenziell pro Sekunde Tausende oder gar Millionen von Messwerten empfangen, plausibilisieren, verarbeiten und für die weitere Analysen strukturiert ablegen können.
Eine digitale Stadt
Angenommen, eine Stadt will die Digitalisierung vorantreiben und sich so digitale Technologien für ihre Aufgaben zunutze zu machen. Sie will die dadurch erschlossenen neuen Möglichkeiten anwenden, um ihren Einwohnerinnen und Einwohnern, den Beschäftigten und den ansässigen Unternehmen bessere Dienstleistungen und eine bessere Infrastruktur zu bieten.
Die Stadtverwaltung erbringt Dienstleistungen in ganz unterschiedlichen Bereichen: Dazu gehören etwa die sichere Stromversorgung, die umweltschonende Abwicklung des Verkehrs, die zuverlässige Entsorgung von Abfall und Abwasser, die vorausschauende Siedlungsplanung oder auch die Überwachung der Luftqualität und die Verbesserung des Stadtklimas. In allen diesen Themen werden zunehmend Daten gesammelt, verarbeitet und ausgewertet: Sensoren messen beispielsweise den Stromverbrauch und die Stromeinspeisung, die Anzahl Autos und Velos auf einem Strassenabschnitt, den Füllstand der städtischen Abfalleimer und die Luftqualität und -temperatur.
Auf der anderen Seite stehen die Empfänger-Systeme, die diese Daten als Grundlage für die Erledigung ihrer jeweiligen Aufgaben verwenden wollen. Dabei kann es sich beispielsweise um Fachapplikationen in den städtischen Ämtern und Dienstabteilungen handeln oder um Dashboards zur Informationsaufbereitung für Entscheidungsträgerinnen und -träger.
Die folgende Abbildung zeigt ein Beispiel, wie eine (vielleicht mit der Zeit gewachsene) Architektur und die Datenströme zwischen einer Gruppe von Datenquellen (Sensoren) und Datenempfängern aussehen können: Verschiedene Datenquellen stellen Daten zur Verfügung, zum Teil für mehrere Empfänger-Systeme. Die Empfänger nutzen einen oder mehrere Datenströme aus den Datenquellen.
Zentrale Herausforderungen
Eine solche Dateninfrastruktur kann bei Echtzeitdaten und den damit häufig einhergehenden grossen Datenmengen an Grenzen stossen. Vor allem, wenn viele verschiedene Datenquellen und Empfänger vorhanden sind:
- Die Empfänger-Systeme müssen jeweils separat an alle für sie relevanten Datenquellen angebunden werden. Dies kann aufwändig sein.
- Ein Empfänger-System ist oft nur an Teilen des Datenumfangs aller erschlossener Datenquellen interessiert. Zum Beispiel bezieht eine Applikation zur Überwachung der Verkehrssicherheit aus dem Wettersensor nur Angaben zu Niederschlag, Sichtweite und Temperatur, aber nicht zum CO2– und zum NOx-Gehalt). Die Applikation muss die relevanten Daten aus den angelieferten Daten herausfiltern.
- Jedes Empfänger-System muss die empfangenen Echtzeitdaten plausibilisieren, allenfalls korrigieren, verarbeiten und in einer passenden Struktur ablegen. Dies führt zu unnötiger Mehrspurigkeit dieser Arbeitsschritte und hat auch zur Folge, dass dieselben Daten mehrfach und an unterschiedlichen Orten abgelegt sind. Durch diese redundante Datenhaltung steigt die Gefahr von unterschiedlichen Datenständen (inkonsistente Datenlage) und damit von Einbussen in der Datenqualität.
Der Ansatz des Datenhubs
Um die oben beschriebenen Herausforderungen zu meistern, sollte die Dateninfrastruktur entsprechend aufgebaut werden. Mit einem sogenannten Datenhub ist es möglich, viele verschiedene Datenquellen zentral anzubinden. Im Hub werden die Daten aus den unterschiedlichen Quellen einmalig empfangen, plausibilisiert und strukturiert abgelegt. Falls sinnvoll, können im Datenhub bereits erste Verarbeitungsschritte vorgenommen werden.
Die Daten werden im Datenhub in einer strukturierten Form abgelegt und für die Empfänger-Systeme bereitgehalten. Die verschiedenen Empfänger greifen auf einen gemeinsamen Datenhub zu. Sie können dabei einzelne Datenströme «abonnieren», um sicherzustellen, dass sie nur diejenigen Daten erhalten, die sie benötigen. Der Gesamtaufwand für die Anbindung der Empfänger-Systeme reduziert sich dadurch.
Datenhub-Systeme sind enorm performant und können riesige Datenströme effizient verarbeiten. Durch die Datenaufbereitung im Hub kann sichergestellt werden, dass Daten, die beispielsweise in unterschiedlicher Frequenz geliefert werden, trotzdem gut miteinander kombiniert werden können. Neue Datenquellen und -empfänger lassen sich leichtfüssiger anbinden als in einem System ohne Hub.
Es gibt auf dem Markt verschiedene Produkte, die sich für den Aufbau einer Echtzeit-Dateninfrastruktur gemäss dem Hub-Modell eignen. Die nächsten Abschnitte stellen drei davon kurz vor.
Esri GeoEvent Server
Der Esri GeoEvent Server ist eine proprietäre Software basierend auf der Technologie von Esri. Mit dem GeoEvent Server können Datenströme gespeichert, verarbeitet und an Drittapplikationen exportiert werden. Der GeoEvent Server ist ein kommerzielles Produkt, das sich nahtlos ins «Esri-Ökosystem» einfügt.
Der GeoEvent Server verfügt über eine Vielzahl von Konnektoren und Prozessoren:
- Input Connectors: Sie ermöglichen unterschiedlichen Datenquellen, Event-Daten an den GeoEvent Server zu senden. Verschiedene Input-Konnektoren sind bereits im GeoEvent Server integriert, zum Beispiel «ArcGIS Server», «RSS», «WebSocket» oder «File».
- Output Connectors: Sie erlauben das Verteilen von Event-Daten an unterschiedliche Empfänger. Auch hier sind bereits verschiedene Konnektoren integriert, z.B. «ArcGIS Server», der «Spatiotemporal Big Data Store», «E-Mail», «Instant Message» oder «RSS»
- Processors: Prozessoren sind konfigurierbare Elemente, die spezifische Aktionen auf Event-Daten durchführen. Bereits in GeoEvent Server integriert sind gewisse räumliche und tabellenbezogene Funktionen wie zum Beispiel «Convex Hull Creator», «Event Joiner», «Field Calculator» oder «GeoTagger».
Apache Kafka
Apache Kafka ist eine Open Source-Software, die ursprünglich von LinkedIn entwickelt wurde. Apache Kafka funktioniert ähnlich wie der Esri GeoEvent Server. Auch Kafka ist darauf spezialisiert, Datenströme zu speichern, zu verarbeiten und sie an Drittapplikationen zu verteilen. Es ist ein verteiltes System, was zu einer hohen Skalierbarkeit und Fehlertoleranz führt. Es ist daher gut geeignet, um mit grossen Datenmengen umzugehen.
Kafka verfügt über vier Kern-APIs:
- Producer API: erlaubt einer Datenquelle, als «Produzent» zu agieren, also einen Datenstrom für Kafka zu veröffentlichen. Die Daten werden dabei direkt in ein sogenanntes «Topic» bei Kafka geschrieben.
- Consumer API: erlaubt einem Empfänger, eines oder mehrere «Topics» zu abonnieren und darin vorhandenen Daten weiterzuverarbeiten.
- Streams API: Damit kann eine Applikation einen Datenstrom prozessieren, d.h. sie kann einen Datenstrom konsumieren, verarbeiten und dann wieder als «Produzent» zurück nach Kafka publizieren.
- Connector API: ermöglicht, wiederverwendbare «Produzenten» und Empfänger («Konsumenten») zu erstellen und auszuführen, die Kafka «Topics» mit existierenden Applikationen oder Datensystemen verbinden (ein «Connector» zu einer relationalen Datenbank kann z.B. jede Veränderung einer Tabelle erfassen).
OSIsoft PI System
Auch das PI System von OSIsoft ermöglicht die Sammlung, Speicherung, Verarbeitung und Visualisierung von Echtzeit-Datenströmen und deren Weitergabe an Drittapplikationen. Das PI System ist eine proprietäre Software, die auf Operational Intelligence aufbauend auf grossen Datenmengen spezialisiert ist.
Das PI System basiert auf drei Haupt-Bausteinen:
- PI System-Verbindungen: Es gibt verschiedene Möglichkeiten – mit ihren jeweiligen Stärken – für die Anbindung von Datenquellen, zum Beispiel «Connectors» oder «Interfaces».
- PI Server: Der PI Server ist der Kern des PI Systems und ermöglicht das Speichern, Organisieren und Kontextualisieren von Daten. Der PI Server nutzt die beiden Komponenten «Data Archive» und «Asset Framework» für die Erfassung, Konsolidierung, Organisation und Kontextualisierung von Sensor-Daten.
- PI System-Dienstprogramme: Mit unterschiedlichen Dienstprogrammen wird u.a. die Visualisierung und Berichterstellung basierend auf den Daten ermöglicht.
Schlüsselfragen für das passende System
Welches System für den Aufbau eines Echtzeitsystems am besten auf einen bestimmten Anwendungskontext passt? Eines der oben beschriebenen oder ein anderes? – Das hängt von unterschiedlichen Faktoren ab. Unter anderem beleuchten wir der Auswahl eines Systems folgende Punkte:
- die Grösse und der Durchsatz des Systems (Datenmengen, Mengengerüste)
- Art und Anzahl der Datenströme und Datenquellen
- der Zweck und die Art der Datennutzung und -weiterverwendung
- ob und wie (in welchem Schritt) die Daten mit zusätzlichen (internen oder externen) Daten kombiniert werden sollen
- die vorhandene Unternehmens- und Dateninfrastruktur und Umsysteme, in die sich das System integrieren bzw. mit denen das System interagieren soll
Entdecke mehr von digital.ebp.ch
Subscribe to get the latest posts sent to your email.
4 Gedanken zu „Fokus Echtzeitsysteme – Teil 5: Datenhaltung und -management“
Kommentare sind geschlossen.