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.
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äfix | Bedeutung |
|---|---|
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.
| Tabelle | Inhalt |
|---|---|
APP_OPC | Verbindungsdefinition — OPC_ID · Name · Protokoll (OPC_TYPE) · Ziel-IP/Port · Erfassungszyklus (TIMECYCLE) · automatische Erfassung ja/nein |
APP_TAG | Tag-Definition — zu lesende Adresse und Datentyp |
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
| Tabelle | Inhalt |
|---|---|
TM_TAG_POINT | Rohe Erfassungswerte — der Kern dieses Speichers |
TM_TAG_POINT_ARCHIVE | Kopie zur Archivierung |
TM_TAG_ERROR | Erfassungsfehler pro Tag |
TM_TAG_STAT | Statistik pro Tag |
TM_TAG_WRITE | Schreib-(Steuerungs-)Verlauf |
TM_OPC_STAT | Statistik pro Verbindung |
TM_PLC_PING | Verlauf der Antwortprüfung des Zielgeräts |
TM_MONITOR | Gateway-Ressourcen und -Status |
TM_API_LOG | Aufzeichnung 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 bei den neuesten Werten |
| Spalten | VALUE · QUALITY · ERROR_CODE · TYPE · ATTRIBUTE (Map) |
| Compaction | TimeWindowCompactionStrategy, 10-Minuten-Fenster |
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
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 로 반영된다
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.
| Ansatzpunkt | Methode |
|---|---|
| Aufbewahrungstage | edge.ttl verringern (siehe oben) |
| Erfassungszyklus | TIMECYCLE der Verbindung erhöhen — nur Tags behalten, die wirklich eine sekundengenaue Erfassung benötigen |
| Anzahl der Tags | automatische Erfassung für ungenutzte Tags deaktivieren |
Zur Diagnose siehe Diagnose und Inspektion.
Verwandte Dokumente
- Backup und Wiederherstellung — was gesichert werden muss
- app.properties-Referenz — Schlüssel einschließlich
edge.ttl - Monitoring
- Punktsuche — Zeitreihen im Bildschirm abfragen