Zum Hauptinhalt springen

Datenbankverwaltung

Übersicht

Diese Seite beschreibt die Konfiguration, den Zugriff, die Statusprüfung und grundlegende Tuning-Richtlinien für die Datenspeicher, die die installierte PlantPulse Platform verwendet.

Die Platform betreibt vier Datenspeicher nach Verwendungszweck.

SpeicherZweckStandard-PortHinweis
CassandraZeitreihe / Großvolumendaten (Tag-Datenpunkte, Ereignisse)9042 (CQL)Keyspace pp. Single-Engine-DB der Platform für Großvolumen
PostgreSQLMetastore (Master-/Konfigurationsdaten)5432Datenbank pp, Schema pp
Valkey (Redis-kompatibel)Cache / Sitzungen / Echtzeit-Status6379Zugriff mit redis-cli möglich
MinIOObjekt-Speicher (S3-kompatibel)9000 (S3) / 9001 (Konsole)Dateien / Großvolumen-Ausgaben

Darüber hinaus gibt es ein Hive Metastore + Iceberg-Tabellenformat, das von der Analytiksicht (Spark / Kyuubi) genutzt wird. Die Platform verwaltet dies intern, daher ist kein separater Betrieb erforderlich.

Hinweis: Die Ports 7000 (Cluster Gossip) und 7199 (JMX) von Cassandra sind nur für interne Kommunikation. Exponieren Sie diese nicht nach außen.

Zugriffsmethoden

Die folgenden Befehle gelten alle innerhalb des Data-Lake-Containers. Alle vier Speicher laufen in einem Container (plantpulse-datalake), daher treten Sie direkt in diesen Container ein, wenn Sie eine Shell ohne Argumente öffnen.

cd /opt/kopens/plantpulse-platform-docker/bin
./shell.sh

Konten und Passwörter werden über Umgebungsvariablen verwaltet (PP_CASSANDRA_USER/PASSWORD, PP_PG_USER/PASSWORD, PP_REDIS_PASSWORD usw.).

ElementSpeicherort
Tatsächlich angewendete WerteSecret Sidecar des Hosts /etc/kopens/plantpulse-platform.env (Berechtigungen 0600)
Werte ändernbin/passwd.sh — eine direkte Änderung der Datei wird nicht angewendet → Passwort-Rotation

Pfad-Bestätigung — Das Original des Secret Sidecar ist /etc/kopens/plantpulse-platform.env (Berechtigungen 0600). In älteren Installationen können unter /opt/kopens/ alte Versionen vorhanden sein, aber diese werden nicht gelesen, und das Installationsskript stellt das Original wieder her → Umgebungsvariablen-Referenz

Cassandra (cqlsh)

cd /opt/kopens/plantpulse-platform/plantpulse-storage/db/cassandra/bin
./cqlsh -u <PP_CASSANDRA_USER> 127.0.0.1 9042
-- 키스페이스 / 테이블 확인
DESCRIBE KEYSPACE pp;
SELECT table_name FROM system_schema.tables WHERE keyspace_name = 'pp';

PostgreSQL (psql)

PostgreSQL 18 wird verwendet, und die Client-Binärdatei befindet sich unter /usr/pgsql-18/bin.

/usr/pgsql-18/bin/psql -h 127.0.0.1 -U <PP_PG_USER> -d pp
-- 메타스토어 스키마 확인 (기본 search_path 는 pp 스키마)
\dn
\dt pp.*

Valkey (redis-cli)

redis-cli -h 127.0.0.1 -p 6379 -a '<PP_REDIS_PASSWORD>' ping

Warnung: Verwenden Sie nur für Abfragen (SELECT / DESCRIBE / ping). Datenmänderungen oder Schemaänderungen finden Sie unter Vorsichtsmaßnahmen.

Statusprüfung

Cassandra-Knotenstatus

Das pd node-Kommando umhüllt nodetool.

cd /opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin
./pd node status

Im normalen Zustand werden Knoten als UN (Up / Normal) angezeigt. Wenn Sie DN (Down) Knoten sehen, ist ein Neustart des Speichers oder eine Protokollprüfung erforderlich.

PostgreSQL-Status

/usr/pgsql-18/bin/pg_isready -h 127.0.0.1 -p 5432
/usr/pgsql-18/bin/psql -h 127.0.0.1 -U <PP_PG_USER> -d pp -c "SELECT version();"

Integriertes Status-Dashboard / Health-API

# 포트별 서비스 상태 + CPU / 메모리 / 디스크 요약
cd /opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin
./status.sh

# 헬스 API — cassandra / postgres 컴포넌트 상태 포함
curl -kfsS https://127.0.0.1:4950/api/health | jq

Prüfen Sie, ob die Komponenten cassandra und postgres in der Health-API-Antwort normal (UP) sind.

Schema / Datenlayout

ElementSpeicherortInhalt
Cassandra-KeyspaceppZeitreihen-Datentabellen (tm_*)
PostgreSQL-SchemaDatenbank pp / Schema ppMaster-/Konfigurationstabellen (mm_*)
Dateidaten-Pfad/data1/pp-dataDocker-Volume pp-data als Mount

Das PostgreSQL-Metastore-Schema ist zum Zeitpunkt des Image-Builds vorseeding, daher ist nach der Installation keine separate Schema-Erstellung erforderlich. Bei der Verbindung ist search_path auf Schema pp eingestellt, daher können Sie nur nach Tabellennamen abfragen.

Alle Daten werden unter /data1/pp-data gespeichert (Volume pp-data), daher werden Daten beibehalten, selbst wenn Sie den Container entfernen oder das Image aktualisieren.

Tuning-Standardwerte (werkseitige Einstellungen)

Cassandra wird mit den folgenden Standardwerten ausgeliefert, um die Platform-Workload zu unterstützen.

ElementWerkseitige EinstellungBeschreibung
JVM-Heap-Xms16G -Xmx16GAnfangs-/maximaler Heap identisch (verhindert dynamische Größenänderung)
GCZGC (Generational)Garbage Collector mit niedriger Latenz
Datei-Cachefile_cache_enabled: falseOS-Seiten-Cache-Nutzung, Off-Heap-Obergrenze entfernt
Direct-Speicher-XX:MaxDirectMemorySize=6GMemtable off-heap + IO-Puffer

Wichtig — Konfigurationsänderungs-Pfad: Die an den einzelnen Servicepfaden bereitgestellten Konfigurationsdateien (z. B. Cassandra cassandra.yaml, jvm-server.options) sind gerenderte Ausgaben aus der Vorlage in plantpulse-datalake-cli/config/templates/. Wenn Sie diese Datei direkt ändern, werden die Änderungen beim nächsten Neustart/Neukonfiguration (configure) durch Vorlagenwerte überschrieben.

Um Tuning-Werte zu ändern, folgen Sie bitte diesem Verfahren:

  1. Bearbeiten Sie die Vorlage unter /etc/kopens/conf auf dem Host (als Volume plantpulse-datalake-cli/config/templates im Container eingehängt) oder die Variable PP_* in bin/env.sh
  2. Führen Sie ./configure.sh im Data-Lake-Container aus — dies rendert die Vorlage erneut und stellt sie auf den einzelnen Servicepfaden bereit
  3. Starten Sie den relevanten Service neu (z. B. pd restart storage)

Da die Vorlage sich in einem Host-Verzeichnis befindet, können Operatoren diese direkt vom Host aus bearbeiten, und die Änderungen bleiben nach einer Neuinstallation erhalten.

Wenn Standardwertänderungen erforderlich sind, wenden Sie sich bitte zunächst an unser Technical Support Team.

Backup-Übersicht

Alle Daten einschließlich Datenbanken werden im Volume pp-data gespeichert, daher ist das Volume-Level-Backup die einfachste und sicherste Methode.

cd /opt/kopens/plantpulse-platform-docker/bin

# 기본 세트 (pp-data · pp-security) 를 한 번에
./backup.sh

# 볼륨 하나만 — <volume-name> [보관일수] [백업경로]
./tools/backup-volume.sh pp-data 7 /data1/pp-backup/docker-volume

Aus dem Standard-Set in backup.sh ist pp-backup das Ziel der Sicherung, und pp-temp ist für die Wiederherstellung nutzlos, also weggelassen. Bei Bedarf können Sie es als Argument angeben und sichern.

Detaillierte Verfahren für Point-in-Time-Wiederherstellung, separates DB-Backup, externe Speichersynchronisierung usw. finden Sie auf der Seite Admin-Handbuch - Backup und Wiederherstellung.

Vorsichtsmaßnahmen

  • Kein direktes DDL auf der Produktions-DB — führen Sie Tabellencreatings/Änderungen/Löschungen (CREATE / ALTER / DROP / TRUNCATE) nicht direkt aus. Das Schema wird von der Platform durch versionsspezifische Migrationen verwaltet; willkürliche Änderungen können zum Scheitern von Updates oder Datenverlust führen.
  • Vermeiden Sie direkte Datenänderungen — ändern Sie Master-Daten (mm_*) über die Admin-Konsole. Direktes Aktualisieren (UPDATE) der DB kann zu Inkongruenzen zwischen Cache und Integrationsdiensten führen.
  • Keine eingebetteten oder Ersatz-DBs — das Ersetzen des eingebetteten Cassandra/PostgreSQL durch andere DB-Produkte oder eingebettete DBs wird nicht unterstützt.
  • Keine direkte Dateilöschung — löschen Sie keine Dateien unter /data1/pp-data direkt zur Speicherplatzfreigabe. Wenn Datenbereinigung erforderlich ist, wenden Sie sich an das Technical Support Team.
  • Konto-/Portänderungen über Umgebungsvariablen — bei Bedarf zur Änderung von DB-Konten oder Ports verwenden Sie die Umgebungsvariablen-Override-Methode (PP_*), nicht die direkte Änderung von Konfigurationsdateien.

Technical Support

Bitte kontaktieren Sie uns jederzeit für Fragen zum Betrieb von Datenbanken.

AbteilungKontakt
Technical Supportwebmaster@kopens.com