데이터베이스 관리
데이터베이스 구성
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 | 파일 복사 | 변경 시 |