数据库模型
AI 堆栈的数据存放位置和存储形式说明文档。共有四个存储库,各自承担不同角色。 运营流程参见数据库管理。
PostgreSQL·Cassandra 是PlantPulse 平台安装实例的共享资源。AI 堆栈不会独立启动自己的数据库。 因此「AI 备份」和「平台备份」存在重叠——如果不明确划分各方职责,两端都会出现备份缺失。
| 存储库 | 所有者 | 存储内容 |
|---|---|---|
PostgreSQL ch | AI(平台 PG 中的独立数据库) | 对话·事件·配置·MCP |
Cassandra pi | AI | 特征存储·异常检测产出物 |
Cassandra pp | 平台(只读) | 原始传感器·报警·OEE |
| Neo4j | AI | 本体知识图谱 |
| Qdrant | AI | 文档嵌入向量 |
PostgreSQL ch — 对话与运营状态
平台 PostgreSQL 内的独立数据库 ch(jdbc:postgresql://<platform-host>:5432/ch)。
| 分组 | 表 |
|---|---|
| 对话 | chats · chat_messages · prompts · prompt_history |
| 用户 | users · user_roles · employees · web_push_subscription |
| 事件 | incident · incident_event · assignees |
| 异常检测运营 | anomaly_mute · hourly_anomaly · asset_tag_profile |
| MCP | mcp_server · mcp_tool_call_log · mcp_tool_pref |
| RAG 集成 | rag_asset_card · rag_asset_doc_sync · rag_sync_run |
| 配置 | config · config_audit_log · metadata |
2026-07 改版前,Cassandra 中也存有对话历史。现在是**chat_messages 单一来源**。
查看旧文档时,不要在 Cassandra 中查找。
Cassandra pi — 特征存储
时序洞察服务拥有并生成的 12 个表。表名前缀为 tsi_。
| 分组 | 表 |
|---|---|
| 特征 | tsi_tag_feature_hourly · tsi_tag_feature_daily · tsi_asset_feature_hourly · tsi_asset_feature_daily |
| 上下文·资料 | tsi_asset_context_daily · tsi_asset_profile |
| 异常·故障 | tsi_anomaly_embedding · tsi_failure_signature · tsi_precursor_alert |
| 管道 | tsi_pipeline_status · tsi_pipeline_history · tsi_backfill_status |
服务启动时会幂等创建这些表。但键空间 pi 本身不由应用创建——由安装脚本负责(provision-platform-db.sh)。
管理控制台的异常检测·预测屏幕全部读取这些表。如果结果为空,先检查管道而不是模型 → 管理控制台的 Pipeline Status·Run History(AI 管理控制台)。
pp.ti_* 已不存在2026-07-30 从 pp 键空间迁移至 pi,旧表已 DROP。
用旧名称查询不会有结果。
Cassandra pp — 平台原始数据(只读)
AI 仅读取平台采集的数据。不向其中写入。
| 表 | 用途 |
|---|---|
tm_asset_data_based_second / _minute / _hour | 设备传感器时序 |
tm_tag_point | 标签数据点 |
tm_asset_alarm | 报警 |
tm_asset_oee_history | OEE |
tm_asset_ram · tm_asset_ems_history | RAM · EMS |
tm_monitor_platform_status | 系统资源(CPU·内存·磁盘) |
分区键因解析度而异
second : PRIMARY KEY ((asset_id, date, hour), timestamp)
minute : PRIMARY KEY ((asset_id, date), timestamp)
hour : PRIMARY KEY (asset_id, timestamp)
秒级解析度在分区键中包含设备·日期·时刻。长时间跨度按秒级查询会触及数千个分区。
长时间跨度用 _hour,短时间跨度才用 _second。
平台完整架构见平台数据库模型。
Neo4j · Qdrant — 知识图谱与向量
| 存储库 | 存储内容 |
|---|---|
| Neo4j | 本体——设备·工艺·文档的关系图 |
| Qdrant | 文档块的嵌入向量 |
RAG 引擎(LightRAG)配置为图存入 Neo4j,向量存入 Qdrant(LIGHTRAG_GRAPH_STORAGE=Neo4JStorage、LIGHTRAG_VECTOR_STORAGE=QdrantVectorDBStorage)。
两者都是从原始文档衍生的产物。没有备份的情况下,只能重新上传原始文件并重建索引—— 原始文件的保留实际上就是备份。
本体概念参见理解本体。
备份范围清单
| 存储库 | 谁负责备份 | 丢失后果 |
|---|---|---|
PostgreSQL ch | AI 方需自行处理 | 对话·事件·配置丢失 |
Cassandra pi | AI 方需自行处理 | 特征丢失导致分析屏幕无数据(可重新计算但耗时) |
Cassandra pp | 平台备份 | — |
| Neo4j · Qdrant | AI | 文档索引丢失(可从原始文件重新生成) |
运营流程见数据库管理。