Zum Hauptinhalt springen

Datenbankmodell

Dieses Dokument beschreibt, wo und in welcher Form das Gateway Daten ablegt. Es dient als Referenz, wenn Sie die Aufbewahrungsdauer anpassen, die Festplatte voll läuft oder Sie direkt abfragen müssen.

Im Gateway läuft eine Cassandra-Instanz

Edge speichert seine Daten in einem lokalen Cassandra (127.0.0.1:9042, Keyspace PE). Dies ist etwas anderes als das Cassandra der übergeordneten Plattform (pp) — es ist ein eigener Speicher, damit die Erfassung auch bei unterbrochener Gateway-Verbindung eigenständig weiterläuft.

Es gibt nur 11 Tabellen, die sich in zwei Gruppen aufteilen.

PräfixBedeutung
APP_Konfiguration — was erfasst werden soll
TM_Zeitreihen- und Betriebsaufzeichnungen — was erfasst wurde und wie

APP_ — Erfassungskonfiguration​

Was Sie in den Bildschirmen (Verbindung · Tag) anlegen, landet direkt hier.

TabelleInhalt
APP_OPCVerbindungsdefinition — OPC_ID · Name · Protokoll (OPC_TYPE) · Ziel-IP/Port · Erfassungszyklus (TIMECYCLE) · automatische Erfassung ja/nein
APP_TAGTag-Definition — zu lesende Adresse und Datentyp
Wenn diese beiden verschwinden, stoppt die Erfassung

Zeitreihen 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 und Wiederherstellung.


TM_ — Erfasste Werte und Betriebsaufzeichnungen​

TabelleInhalt
TM_TAG_POINTRohe Erfassungswerte — der Kern dieses Speichers
TM_TAG_POINT_ARCHIVEKopie zur Archivierung
TM_TAG_ERRORErfassungsfehler pro Tag
TM_TAG_STATStatistik pro Tag
TM_TAG_WRITESchreib-(Steuerungs-)Verlauf
TM_OPC_STATStatistik pro Verbindung
TM_PLC_PINGVerlauf der Antwortprüfung des Zielgeräts
TM_MONITORGateway-Ressourcen und -Status
TM_API_LOGAufzeichnung der REST API-Aufrufe

Aufbau von TM_TAG_POINT​

PRIMARY KEY (TAG_ID, TIMESTAMP)
WITH CLUSTERING ORDER BY (TIMESTAMP DESC)
EigenschaftWert
PartitionsschlüsselTAG_ID — ein Tag entspricht einer Partition
ClusteringTIMESTAMP absteigend — Lesen beginnt bei den neuesten Werten
SpaltenVALUE · QUALITY · ERROR_CODE · TYPE · ATTRIBUTE (Map)
CompactionTimeWindowCompactionStrategy, 10-Minuten-Fenster
Warum TimeWindow

Beim Gateway läuft alles nach dem Muster „Schreiben, kurz Lesen, per TTL verwerfen“. Wenn SSTables nach Zeitfenstern gebündelt werden, kann ein abgelaufenes Fenster komplett verworfen werden, wodurch die Compaction-Kosten fast null sind.


Aufbewahrungsdauer — die Zahl steht an zwei Stellen​

Die 30 Tage im Schema sind nicht der tatsächliche Wert

default_time_to_live von scheme.cql beträgt 30 Tage (2592000 Sekunden), aber beim Start wird der Tabellen-TTL mit dem Wert von edge.ttl aus app.properties ALTER TABLE überschrieben.

Da der werkseitige Standardwert edge.ttl = 60 (Tage) beträgt, liegt die tatsächliche Aufbewahrung bei 60 Tagen. Verlassen Sie sich nicht allein auf die Schema-Datei mit ihren 30 Tagen.

Zum Ändern passen Sie edge.ttl an und starten neu.

cd /opt/kopens/plantpulse-edge/bin
./config.sh --get edge.ttl
./config.sh --set edge.ttl 90
./config.sh --restart # 기동 시 ALTER TABLE 로 반영된다
Bei Verkürzung verschwinden Daten sofort

Wird der TTL verkürzt, werden ältere Daten beim nächsten Compaction-Lauf entfernt. Dies kann nicht rückgängig gemacht werden. Falls Sie wegen Speicherplatzmangels 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 läuft​

Der Speicherbedarf ergibt sich aus Anzahl der Tags × Erfassungszyklus × Aufbewahrungstage. Einer dieser drei Werte muss reduziert werden.

AnsatzpunktMethode
Aufbewahrungstageedge.ttl verringern (siehe oben)
ErfassungszyklusTIMECYCLE der Verbindung erhöhen — nur Tags behalten, die wirklich eine sekundengenaue Erfassung benötigen
Anzahl der Tagsautomatische Erfassung für ungenutzte Tags deaktivieren

Zur Diagnose siehe Diagnose und Inspektion.


Verwandte Dokumente​