データベース管理
概要
このページでは、インストールされた PlantPulse プラットフォームが使用するデータストアの構成、接続方法、状態確認、基本的なチューニング方針について説明します。
プラットフォームは、用途別に4種類のデータストアを内蔵して運用します。
| ストア | 用途 | デフォルトポート | 備考 |
|---|---|---|---|
| Aster TSDB | 時系列 / 大容量データ (タグポイント、イベント) | 9042 (CQL) | キースペース pp。プラットフォームの単一大容量DBエンジン |
| PostgreSQL | メタストア (マスター / 設定データ) | 5432 | データベース pp、スキーマ pp |
| Valkey (Redis 互換) | キャッシュ / セッション / リアルタイム状態 | 6379 | redis-cli で接続可能 |
| RustFS | オブジェクトストレージ (S3 互換) | 9000 (S3) / 9001 (コンソール) | ファイル / 大容量出力の保存 |
この他に、分析レイヤー(Spark / Kyuubi)が使用する Hive Metastore + Iceberg テーブルフォーマット がありますが、これはプラットフォームが内部的に管理するため、別途の運用作業は不要です。
参考: Aster TSDB の 7000(クラスタ gossip)、7199(JMX) ポートは内部通信用です。外部に公開しないでください。
接続方法
以下のコマンドはすべて データレイクコンテナ内部 基準です。4つのストアはすべて plantpulse-datalake 1つのコンテナ内で動作するため、引数なしでシェルを開くとそのコンテナに入ります。
cd /opt/kopens/plantpulse-platform-docker/bin
./shell.sh
接続アカウントとパスワードは環境変数(PP_CASSANDRA_USER/PASSWORD、PP_PG_USER/PASSWORD、PP_REDIS_PASSWORD など)で管理されます。
| 項目 | 場所 |
|---|---|
| 実際に適用された値 | ホストのシークレットサイドカー /etc/kopens/plantpulse-platform.env (権限 0600) |
| 値を変更する方法 | bin/passwd.sh — ファイルを直接編集しても反映されません → パスワードローテーション |
パス確認 — シークレットサイドカーの正本は
/etc/kopens/plantpulse-platform.envの1つです(権限0600)。旧インストールでは/opt/kopens/の下に同名のファイルが残っている場合がありますが、読み取られず、インストールスクリプトが正本に戻します → 環境変数リファレンス
Aster TSDB (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 が使用され、クライアントバイナリは /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
注意: 参照(SELECT / DESCRIBE / ping)用途のみで使用してください。データの変更やスキーマ変更は注意事項を参照してください。
状態確認
Aster TSDB ノード状態
pd node 動詞が nodetool をラップして提供します。
cd /opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin
./pd node status
正常状態ではノードが UN(Up / Normal) と表示されます。DN(Down) ノードが見える場合は、ストレージの再起動またはログ確認が必要です。
PostgreSQL 状態
/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();"
統合状態ダッシュボード / ヘルス 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
ヘルス API 応答の cassandra、postgres コンポーネントが正常(UP)か確認してください。
スキーマ / データ配置
| 項目 | 場所 | 内容 |
|---|---|---|
| Aster TSDB キースペース | pp | 時系列データテーブル (tm_*) |
| PostgreSQL スキーマ | データベース pp / スキーマ pp | マスター / 設定テーブル (mm_*) |
| データファイルパス | /data1/pp-data | Docker ボリューム pp-data でマウント |
PostgreSQL メタストアスキーマは イメージビルド時に事前シード されているため、インストール後のスキーマ作成作業は不要です。接続時には search_path が pp スキーマに設定されており、テーブル名だけで参照できます。
データはすべて /data1/pp-data(ボリューム pp-data) の下に保存されるため、コンテナを削除したりイメージを更新してもデータは保持されます。
チューニングデフォルト (出荷時設定)
Aster TSDB はプラットフォームのワークロードに合わせて以下のデフォルト値で出荷されます。
| 項目 | 出荷時デフォルト | 説明 |
|---|---|---|
| JVM ヒープ | -Xms16G -Xmx16G | 初期 / 最大ヒープ同一 (動的リサイズ防止) |
| GC | ZGC (Generational) | 低レイテンシガベージコレクタ |
| ファイルキャッシュ | file_cache_enabled: false | OS ページキャッシュを活用、off-heap 上限を撤廃 |
| Direct メモリ | -XX:MaxDirectMemorySize=6G | memtable off-heap + IO バッファ用途 |
重要 — 設定変更の経路: 各サービスパスに配置された設定ファイル(例: Aster TSDB の
cassandra.yaml、jvm-server.options)はplantpulse-datalake-cli/config/templates/のテンプレートから レンダリングされた生成物 です。このファイルを直接編集すると、次の再起動 / 再設定(configure)時にテンプレート値で上書きされ、変更が失われます。チューニング値を変更する必要がある場合は、必ず以下の経路で進めてください。
- ホストの
/etc/kopens/confにあるテンプレート(コンテナのplantpulse-datalake-cli/config/templatesにバインドマウントされます)またはbin/env.shのPP_*変数を編集- データレイクコンテナ内で
pd config renderを実行 — テンプレートを再レンダリングして各サービスパスに配布- 該当サービスを再起動 (例:
pd restart storage)テンプレートは ホストディレクトリ にあるため、オペレーターがホスト上で直接編集でき、再インストールしても編集内容が保持されます。
デフォルト値の変更が必要な場合は、まずテクニカルサポートチームにご相談ください。
バックアップ概要
データベースを含むすべてのデータは pp-data ボリュームに保存されるため、ボリューム単位のバックアップが最も簡単で安全な方法です。
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
backup.sh のデフォルトセットでは pp-backup はバックアップの 宛先 であるため、pp-temp は復旧に役立たず除外されています。必要であれば引数で指定してバックアップできます。
時点復旧、DB 別の個別バックアップ、外部ストレージ同期などの詳細な手順は 管理者ガイド - バックアップと復旧 ページを参照してください。
注意事項
- 運用 DB への直接 DDL 禁止 — テーブル作成 / 変更 / 削除(CREATE / ALTER / DROP / TRUNCATE)を直接実行しないでください。スキーマはプラットフォームがバージョンごとのマイグレーションで管理しており、任意に変更するとアップデートが失敗したりデータが失われる可能性があります。
- データ直接変更の回避 — マスターデータ(
mm_*)は管理コンソール画面から変更してください。DB 直接 UPDATE はキャッシュ / 連携サービスとの不整合を引き起こす可能性があります。 - エンベデッド / 代替 DB の使用禁止 — 内蔵 Aster TSDB / PostgreSQL を他の DB 製品やエンベデッド DB に置き換える構成はサポートしていません。
- データファイル直接削除禁止 — ディスク容量確保のために
/data1/pp-dataの下のファイルを直接削除しないでください。データ整理が必要な場合はテクニカルサポートチームに問い合わせてください。 - アカウント / ポート変更は環境変数で — DB アカウントやポートを変更する必要がある場合、設定ファイルの直接編集ではなく、環境変数(
PP_*)オーバーライド方式で行ってください。
テクニカルサポート
データベース運用に関するお問い合わせは、いつでもご連絡ください。
| 担当 | 連絡先 |
|---|---|
| テクニカルサポート | webmaster@kopens.com |