Merge branch 'main' of https://git.ro-being.com/ivada_Ro-being/DOCS
This commit is contained in:
commit
5fd9bac4ec
44
troubleshooting/20251002_db_separation_emotion_data.md
Normal file
44
troubleshooting/20251002_db_separation_emotion_data.md
Normal file
@ -0,0 +1,44 @@
|
||||
# DB 분리 구조 및 감정 데이터 저장 현황
|
||||
|
||||
## 발생 일시
|
||||
2025-10-02
|
||||
|
||||
## 현황
|
||||
세 개의 분리된 데이터베이스 운영 중
|
||||
|
||||
### DB 구조
|
||||
1. **main_db**: 핵심 데이터
|
||||
- user, conversation_log, gmail_token 등 16개 테이블
|
||||
- PostgreSQL 일반 DB
|
||||
|
||||
2. **robeing_metrics**: 시계열 메트릭
|
||||
- emotion_readings 테이블 (TimescaleDB 하이퍼테이블)
|
||||
- 감정 데이터 3건 저장 (2025-10-02 12:21~12:27)
|
||||
|
||||
3. **rb8001_db**: rb8001 전용 DB
|
||||
|
||||
### 감정 데이터 저장 확인
|
||||
```sql
|
||||
-- robeing_metrics DB에 저장
|
||||
SELECT * FROM emotion_readings;
|
||||
-- 결과: 3건 (happiness 2건, anger 1건)
|
||||
```
|
||||
|
||||
### 문제점
|
||||
- conversation_log가 main_db에 있어 시계열 분석 비효율
|
||||
- 감정 시스템 구현했지만 실제 대화 flow 미연동
|
||||
- DB 간 JOIN 필요 시 성능 이슈
|
||||
|
||||
### 해결 방안
|
||||
1. conversation_log를 robeing_metrics로 이전
|
||||
2. user 테이블 주요 컬럼만 robeing_metrics에 읽기 전용 복제
|
||||
3. Foreign Data Wrapper로 필요시 크로스 DB 조회
|
||||
|
||||
### 관련 파일
|
||||
- `/home/admin/rb8001/app/state/database.py`: METRICS_DB_URL 환경변수
|
||||
- `/home/admin/rb8001/app/router/emotion_endpoint.py`: robeing_metrics 연결
|
||||
|
||||
## 교훈
|
||||
- 용도별 DB 분리는 유지 (성능/백업 전략 차별화)
|
||||
- 시계열 데이터는 TimescaleDB 사용
|
||||
- 자주 조인하는 데이터는 복제 고려
|
||||
Loading…
x
Reference in New Issue
Block a user