10차시. 벡터저장소 이해
7. 저장소 종류와 선택 기준
출처: 원본 PDF 10차시_벡터저장소이해.pdf 15쪽 · 쪽 그림 15쪽
FAISS 말고도 여러 저장소가 있습니다. 언제 무엇을 쓸지 알아둡시다.
| 저장소 | 특징 | 적합한 상황 |
|---|---|---|
| FAISS | 로컬 파일 · 매우 빠름 · 설치 간단 | 학습 · 프로토타입 (이 과정) |
| Chroma | 메타데이터 필터링이 편리 · 관리쉬움 | 소규모 서비스 운영 |
| Qdrant | 조건 검색이 강력 · 운영 기능 충실 | 복잡한 필터가 필요한 서비스 |
| pgvector | 기존 PostgreSQL에 통합 | 이미 RDB를 쓰는 팀 |
| Pinecone | 완전 관리형 클라우드 · 무중단 | 운영 부담을 줄이고 싶을 때 |
💡 저장소를 바꿔도 코드는 거의 그대로입니다
LangChain이 인터페이스를 통일해두었습니다.
FAISS.from_documents(chunks, emb)
Chroma.from_documents(chunks, emb)
Qdrant.from_documents(chunks, emb)
클래스 이름만 바뀌고 나머지는 동일합니다.
그래서 지금은 FAISS로 배우고,
나중에 필요하면 갈아타면 됩니다.
7-1) 언제 FAISS를 벗어나야 하나
⚠️ FAISS의 한계
① 여러 서버에서 공유하기 어렵습니다
파일 기반이라 서버가 여러 대면 동기화가 문제입니다
② 실시간 갱신에 약합니다
문서가 수시로 바뀌면 재생성 부담이 큽니다
③ 복잡한 조건 검색이 제한적입니다
"부서=영업 AND 작성일>2025" 같은 것은 불편합니다
학습과 프로토타입 단계에서는 문제없습니다.
실서비스로 갈 때 다시 검토하면 됩니다.