数据库管理
数据库构成
PlantPulse AI 使用 6 个数据库,各自用于不同的目的。
| 数据库 | 用途 | 数据类型 |
|---|---|---|
| PostgreSQL | 关系型元数据 | 用户信息、聊天历史、RAG 元数据、特征存储 |
| Cassandra | 时序存储 | 传感器数据、副驾驶任务、推理历史 |
| Neo4j | 图数据 | 本体(工厂层级、设备关系) |
| Qdrant | 向量存储 | 文档嵌入、设备特征向量 |
| Valkey (Redis) | 缓存 | 会话、临时数据、搜索缓存 |
| MinIO | 对象存储 | 文档文件、图像、报告 |
PostgreSQL
数据库列表
| 数据库 | 用户 | 使用服务 |
|---|---|---|
ch | ch | AI Chat Web(用户·聊天历史·应用·设置) |
lightrag | ch | LightRAG(文档状态 doc_status) |
管理
# PostgreSQL 접속
psql -h 127.0.0.1 -U ch -d ch
# 데이터베이스 목록 확인
psql -h 127.0.0.1 -U postgres -c '\l'
Cassandra
键空间
| 键空间 | 用途 |
|---|---|
pi | PlantPulse AI 主库(副驾驶任务、推理历史) |
管理
# Cassandra CQL 접속
cqlsh 127.0.0.1 9042 -u cassandra -p cassandra
# 키스페이스 목록
DESCRIBE KEYSPACES;
# 테이블 목록
USE pi;
DESCRIBE TABLES;
信息
Cassandra 键空间在首次启动时由 db/cassandra/support/keyspace-create.sh 脚本自动创建。
Neo4j
连接信息
| 项目 | 值 |
|---|---|
| Browser URL | http://<服务器IP>:7474 |
| Bolt URI | bolt://127.0.0.1:7687 |
| 用户 | neo4j |
| 密码 | neo4j123 |
管理
在 Neo4j Browser(http://<服务器IP>:7474)中使用 Cypher 查询管理图:
// 노드 타입별 카운트
MATCH (n) RETURN labels(n), count(n) ORDER BY count(n) DESC;
// 관계 타입별 카운트
MATCH ()-[r]->() RETURN type(r), count(r) ORDER BY count(r) DESC;
Qdrant
连接信息
| 项目 | 值 |
|---|---|
| REST API | http://127.0.0.1:6333 |
| Dashboard | http://127.0.0.1:6333/dashboard |
| API Key | qdrant-key-123 |
集合
| 集合 | 用途 |
|---|---|
| (LightRAG 自动创建) | RAG 文档向量(由 LightRAG 管理) |
MinIO
连接信息
| 项目 | 值 |
|---|---|
| API | http://127.0.0.1:9000 |
| Console | http://127.0.0.1:9001 |
| Access Key | minio |
| Secret Key | minio123! |
桶
| 桶 | 用途 |
|---|---|
documents-bucket | RAG 文档原本存储 |
数据存储路径
| 路径 | 内容 |
|---|---|
/data1/pp-data/ | 主数据目录 |
/data1/pp-data/lightrag/ | LightRAG 存储(索引·上传) |
/data1/pp-temp/ | 临时文件 |
备份建议
| 对象 | 方法 | 周期 |
|---|---|---|
| PostgreSQL | pg_dump | 每天 1 次 |
| Neo4j | neo4j-admin dump | 每天 1 次 |
| MinIO | mc mirror | 每天 1 次 |
| Qdrant | Snapshot API | 每周 1 次 |
template/env.sh | 文件复制 | 有变更时 |