跳到主要内容

数据库模型

网关存放数据的位置和格式参考文档。调整保留周期、磁盘满了或需要直接查询时查看。

网关内内置一个 Cassandra

Edge 将自有数据存储在本地 Cassandra(127.0.0.1:9042,键空间 PE)。 这与上层平台的 Cassandra(pp)不同 — 这是网关独立的存储库,即使网关断线也能继续采集。

11个表,分为两类。

前缀含义
APP_配置 — 采集什么
TM_时序·运营记录 — 采集的数据及其过程

APP_ — 采集配置

在界面(连接 · 标签)上创建的配置直接存储在这里。

表名存储内容
APP_OPC连接定义 — OPC_ID · 名称 · 协议(OPC_TYPE) · 目标 IP/端口 · 采集周期(TIMECYCLE) · 自动采集状态
APP_TAG标签定义 — 读取地址和数据类型
这两个表丢失会导致采集停止

时序数据可以重新采集,但配置是人工创建的,无法恢复。 备份时不要遗漏这两个表 → 备份


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_LOGREST API 调用记录

TM_TAG_POINT 的结构

PRIMARY KEY (TAG_ID, TIMESTAMP)
WITH CLUSTERING ORDER BY (TIMESTAMP DESC)
属性
分区键TAG_ID — 每个标签对应一个分区
聚类TIMESTAMP 降序 — 从最新开始读取
VALUE · QUALITY · ERROR_CODE · TYPE · ATTRIBUTE(映射)
CompactionTimeWindowCompactionStrategy10分钟窗口
为什么使用 TimeWindow

网关只需要「写入、短时间读取、通过 TTL 删除」。按时间窗口组织 SSTable,可以整体删除过期窗口,压缩成本几乎为零。


保留周期 — 两个位置有数值

模式中的 30 天不是实际值

scheme.cqldefault_time_to_live30天(2592000秒),但启动时 app.properties 中的**edge.ttl** 值会**ALTER TABLE** 表 TTL,覆盖该设置。

出厂默认值为 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 后,超过新 TTL 的数据会在下次 compaction 时回收。无法恢复。 如果因磁盘紧张而需要减少,请先确认已将需要的时间段上传到上层平台。


磁盘空间满时

容量由标签数 × 采集周期 × 保留天数决定。需要减少这三个因素中的一个。

调整位置方法
保留天数减少 edge.ttl(见上文)
采集周期增加连接的 TIMECYCLE — 只保留确实需要秒级采集的标签
标签数关闭不使用的标签的自动采集

诊断方法参见诊断


相关文档