Begriffe und das Benutzermodell
Blockweises Schreiben der Daten
Da SCADA-Systeme eine kontinuierliche Last von Wertänderungen ("Events") und Alarme haben, muss das Schreiben in die Datenbank optimiert werden. Um das zu erreichen, werden die Daten in "Blöcken" gesammelt und in "Stücken" geschrieben. Dies verbessert die Performanz. Sobald ein Block vom Backend verarbeitet wurde, wird der Block gelöscht. Der Frontend-Manager sammelt die Daten und bereitet die "Blöcke" vor. Dies nennt man "Blockweises Scheiben".
Die Größe eines einzelnen Speicherbuffers sowie die Speicherung dieser Blöcke auf der Platte, um den Verlust von Daten im Falle von unerwartetem Herunterfahren zu vermeiden, kann konfiguriert werden. Zudem kann die maximale Anzahl an Blöcken konfiguriert werden, um einen Speicher- oder Festplattenüberlauf zu vermeiden. Wurde die maximale Anzahl an Blöcken erreicht, wird der älteste davon gelöscht. Auch, wenn die Daten des Blocks trotz mehrerer Versuche nicht in die Datenbank geschrieben wurden.
Historische Datenmanagement
Alle historischen Daten werden in die Datenbank (Events und Alarme) geschrieben und in sogenannten Segmenten gespeichert. Segmente haben einen definierten Start- und Endzeitpunkt, überlappen sich nicht zeitlich und enthalten keine Lücken. Die Dauer eines Segments ist benutzerspezifisch (z.B., ein Tag, eine Woche, ...). Der Grund für diese Trennung ist, dass Daten nicht für immer gespeichert werden können (aus Platz- und Performanzsgründen) und das Löschen von Daten aus der Datenbank sehr ineffizient sein kann, wenn diese auf unterster Ebene gelöscht werden (z.B. Aufnahme für Aufnahme). Die Lebensdauer der Segmente ("Aufbewahrung") kann definiert werden. NGA erstellt und löscht automatische Segmente, wenn erforderlich und speichert die Daten abhängig vom Zeitstempel im richtigen Segment. Segmente können leicht gelöscht, gesichert und, wenn nötig, auch wiederhergestellt werden. Um unterschiedliche Aufbewahrungsdauer für unterschiedliche Datenpunkte verwenden zu können, werden Archivgruppen verwendet. Eine Archivgruppe definiert eine Segmentdauer, Aufbewahrungsdauer und die Datenbank (Backend), in der die Daten gespeichert werden. Ein Datenpunktelement kann einer oder mehreren Archivgruppen zugewiesen werden. Jede Archivgruppe hat ihr eigenes Segmentmodell.
Sicherung, Wiederherstellung
Wie bereits beschrieben, erlaubt das Segmentmodell die Aufteilung der Daten über die Zeit in einzelne Segmente, durch den Benutzer. Jedes Segment deckt einen bestimmten Zeitraum ab. Für spätere Wiederherstellung können ältere Segmente an einen Sicherungsspeicherort kopiert werden. Alte Segmente können gelöscht werden, um Speicherplatz freizugeben. Beide Operationen (Sichern und Löschen) können manuell und /oder automatisch durchgeführt werden. Zudem können alle gesicherten Segmente manuell, wenn erforderlich, von ihrem Sicherungsspeicherort wiederhergestellt werden und dann für historische Abfragen verwendet werden. Diese wiederhergestellten Segmente müssen später manuell gelöscht werden. Für mehr Infromation, siehe Kapitel Erweiterte Einstellungen - Datenbankspezifische Konfiguration. Es kann auch die komplette Datenbank gesichert und wiederhergestellt werden - siehe Kapitel Vollständige DB-Sicherung und -Wiederherstellung.
Segment-Statusmodell
Siehe Kapitel NGA Data / Segment Management.