Datenbankmodell
Dieses Dokument beschreibt, wo und in welcher Form das Gateway seine Daten ablegt. Es ist relevant, wenn Sie die Aufbewahrungsdauer anpassen, die Festplatte volläuft oder Sie direkt Abfragen durchführen müssen.
Edge speichert seine eigenen Daten in einer lokalen Cassandra-Instanz (127.0.0.1:9042, Keyspace PE).
Das ist etwas anderes als die Cassandra der übergeordneten Plattform (pp) — es handelt sich um einen eigenen Speicher, damit die Erfassung auch bei getrenntem Gateway alleine weiterlaufen kann.
Es gibt nur 11 Tabellen, die sich in zwei Gruppen aufteilen.
| Präfix | Bedeutung |
|---|---|
APP_ | Konfiguration — was erfasst werden soll |
TM_ | Zeitreihen- und Betriebsprotokolle — was erfasst wurde und wie |
APP_ — Erfassungskonfiguration
Was auf den Bildschirmen (Verbindung · Tag) erstellt wird, landet unverändert hier.
| Tabelle | Inhalt |
|---|---|
APP_OPC | Verbindungsdefinition — OPC_ID · Name · Protokoll (OPC_TYPE) · Ziel-IP/Port · Erfassungsintervall (TIMECYCLE) · automatische Erfassung ja/nein |
APP_TAG | Tag-Definition — zu lesende Adresse und Datentyp |
Zeitreihendaten lassen sich erneut sammeln, aber die Konfiguration wurde von Menschen erstellt und kann nicht wiederhergestellt werden. Vergessen Sie diese beiden Tabellen nicht bei Backups → Backup.
TM_ — Erfasste Werte und Betriebsprotokolle
| Tabelle | Inhalt |
|---|---|
TM_TAG_POINT | Rohdaten der Erfassung — der Kern dieses Speichers |
TM_TAG_POINT_ARCHIVE | Kopie zur Archivierung |
TM_TAG_ERROR | Erfassungsfehler pro Tag |
TM_TAG_STAT | Statistiken pro Tag |
TM_TAG_WRITE | Schreib-(Steuerungs-)Historie |
TM_OPC_STAT | Statistiken pro Verbindung |
TM_PLC_PING | Verlauf der Antwortprüfung des Zielgeräts |
TM_MONITOR | Ressourcen/Status des Gateways |
TM_API_LOG | Protokoll der REST API-Aufrufe |
Aufbau von TM_TAG_POINT
PRIMARY KEY (TAG_ID, TIMESTAMP)
WITH CLUSTERING ORDER BY (TIMESTAMP DESC)
| Eigenschaft | Wert |
|---|---|
| Partitionsschlüssel | TAG_ID — ein Tag entspricht einer Partition |
| Clustering | TIMESTAMP absteigend — Lesen beginnt beim neuesten Wert |
| Spalten | VALUE · QUALITY · ERROR_CODE · TYPE · ATTRIBUTE (Map) |
| Compaction | TimeWindowCompactionStrategy, 10-Minuten-Fenster |
Das Gateway macht im Wesentlichen nur „schreiben, kurz lesen, per TTL verwerfen“. Wenn SSTables nach Zeitfenstern gebündelt werden, können abgelaufene Fenster komplett verworfen werden, wodurch die Compaction-Kosten kaum ins Gewicht fallen.
Aufbewahrungsdauer — der Wert steht an zwei Stellen
default_time_to_live in scheme.cql steht auf 30 Tage (2592000 Sekunden), wird aber beim Start durch den Wert von edge.ttl in app.properties per ALTER TABLE überschrieben, um die Tabellen-TTL zu setzen.
Der Werkseinstellungswert ist edge.ttl = 60 (Tage), daher beträgt die tatsächliche Aufbewahrungsdauer 60 Tage.
Verlassen Sie sich nicht allein auf die Schema-Datei und schließen Sie nicht auf 30 Tage.
Um den Wert zu ändern, passen Sie edge.ttl an und starten Sie neu.
cd /opt/kopens/plantpulse-edge/bin
./config.sh --get edge.ttl
./config.sh --set edge.ttl 90
./config.sh --restart # 기동 시 ALTER TABLE 로 반영된다
Wird die TTL verkürzt, werden ältere Daten beim nächsten Compaction-Lauf entfernt. Das ist nicht rückgängig zu machen. Wenn Sie wegen Platzmangels verkürzen müssen, prüfen Sie vorher, ob die benötigten Zeiträume bereits an die übergeordnete Plattform übertragen wurden.
Wenn die Festplatte voll wird
Der Speicherbedarf ergibt sich aus Anzahl der Tags × Erfassungsintervall × Aufbewahrungstage. Einer dieser drei Faktoren muss reduziert werden.
| Ansatzpunkt | Methode |
|---|---|
| Aufbewahrungstage | edge.ttl reduzieren (siehe oben) |
| Erfassungsintervall | TIMECYCLE der Verbindung erhöhen — nur Tags behalten, die wirklich eine Erfassung im Sekundentakt benötigen |
| Anzahl der Tags | automatische Erfassung nicht genutzter Tags deaktivieren |
Zur Diagnose siehe Diagnose.
Verwandte Dokumente
- Backup — was gesichert werden muss
- app.properties-Leitfaden — Schlüssel wie
edge.ttl - Monitoring
- Punktsuche — Zeitreihen im Bildschirm abfragen