データベースモデル
ゲートウェイがデータをどこに何の形で保存するかをまとめた文書です。保存期間を 調整したり、ディスクが満杯になったり、直接照会する必要があるときに参照します。
Edgeは自身のデータをローカルCassandra(127.0.0.1:9042、キースペース**PE)に保存します。
上位プラットフォームのCassandra(pp)とは別物**です — ゲートウェイが切断されても単独で収集を
続けるための自身のストレージです。
テーブルは11個だけで、2つのカテゴリに分かれます。
| プレフィックス | 意味 |
|---|---|
APP_ | 設定 — 何を収集するか |
TM_ | 時系列・運用記録 — 収集したデータとそのプロセス |
APP_ — 収集設定
画面(接続 · タグ)で作成したものがそのままここに入ります。
| テーブル | 内容 |
|---|---|
APP_OPC | 接続定義 — OPC_ID · 名前 · プロトコル(OPC_TYPE) · 対象IP/ポート · 収集間隔(TIMECYCLE) · 自動収集の有無 |
APP_TAG | タグ定義 — 読み取りアドレスとデータ型 |
時系列は再度収集すればよいが、設定は人が作成したものなので復旧する方法がありません。 バックアップからこの2つのテーブルを漏らさないようにしてください → バックアップ。
TM_ — 収集値と運用記録
| テーブル | 内容 |
|---|---|
TM_TAG_POINT | 生の収集値 — このストレージの本体 |
TM_TAG_POINT_ARCHIVE | 保存用コピー |
TM_TAG_ERROR | タグ単位の収集エラー |
TM_TAG_STAT | タグ別統計 |
TM_TAG_WRITE | 書き込み(制御)履歴 |
TM_OPC_STAT | 接続別統計 |
TM_PLC_PING | 対象設備の応答確認履歴 |
TM_MONITOR | ゲートウェイのリソース・状態 |
TM_API_LOG | REST API呼び出し記録 |
TM_TAG_POINT のスキーマ
PRIMARY KEY (TAG_ID, TIMESTAMP)
WITH CLUSTERING ORDER BY (TIMESTAMP DESC)
| 属性 | 値 |
|---|---|
| パーティションキー | TAG_ID — 1つのタグが1つのパーティション |
| クラスタリング | TIMESTAMP 降順 — 最新から読み込む |
| カラム | VALUE · QUALITY · ERROR_CODE · TYPE · ATTRIBUTE(マップ) |
| Compaction | TimeWindowCompactionStrategy、10分ウィンドウ |
ゲートウェイは「書き込み、少し読み、TTLで削除する」だけです。時間ウィンドウ単位でSSTableを まとめておけば、期限切れのウィンドウをまるごと削除でき、圧縮コストがほぼかかりません。
保存期間 — 数値が2箇所にあります
scheme.cql のdefault_time_to_live は30日(2592000秒)ですが、起動時に
app.properties の**edge.ttl** 値でテーブルTTLをALTER TABLE で上書きします。
出荷時のデフォルト値はedge.ttl = 60(日)なので、実際の保存期間は60日です。
スキーマファイルだけを見て30日だと判断しないでください。
変更するにはedge.ttl を修正して再起動します。
cd /opt/kopens/plantpulse-edge/bin
./config.sh --get edge.ttl
./config.sh --set edge.ttl 90
./config.sh --restart # 기동 시 ALTER TABLE 로 반영된다
TTLを減らすと、それより古いデータは次回のcompactionで回収されます。戻せません。 ディスク容量が逼迫していて減らす場合は、減らす前に必要な期間のデータを上位プラットフォームに アップロードしたか確認してください。
ディスク容量が満杯になったとき
容量はタグ数 × 収集間隔 × 保存日数で決まります。3つのいずれかを削減する必要があります。
| 変更対象 | 方法 |
|---|---|
| 保存日数 | edge.ttl を減らす(上記参照) |
| 収集間隔 | 接続のTIMECYCLE を増やす — 秒単位の収集が本当に必要なタグだけにする |
| タグ数 | 不要なタグの自動収集をオフにする |
診断については診断を参照してください。
関連文書
- バックアップ — 何をバックアップすべきか
- app.propertiesガイド —
edge.ttlを含むキー - モニタリング
- ポイント検索 — 画面で時系列を照会する