ChromaDB SEGV 복구
2026-04-12 배움
문제
품아이 ChromaDB에서 query() 호출 시 SEGV(프로그램 강제 종료). chroma 검색이 전부 죽어서 수주간 방치됨.
원인
- 위키백과 66,315건 한번에 넣음 (벌크 인제스트)
- 원본 7,411건인데 중복으로 24,842건이 됨 (약 3배)
- 총 91,157건 → 인덱스 279MB → 메모리 초과 → SEGV
해결
- SQLite에서 wiki_ 접두어 66,315건 직접 삭제
- 인덱스 파일 삭제 → ChromaDB가 자동으로 다시 만듦
- VACUUM으로 511MB → 139MB
교훈
- 대량 데이터 넣기 전에 메모리/인덱스 크기 영향 먼저 테스트
- 인덱싱 스크립트는 upsert(중복 방지) 사용. add 금지
- ChromaDB 인덱스 깨지면 SQLite 직접 조작 + bin 파일 삭제로 복구 가능
연결
- 대량 DB 업데이트 — 대량 데이터 다루기의 다른 사례
- 품아이는 Gemini와 한 몸 — 품아이 엔진의 핵심 부품