728x90

✅ RAG에서 Vector DB가 중요한 이유

RAG는 결국 “검색 + 생성”

  • RAG = Retrieval-Augmented Generation
  • LLM이 답변하기 전, 외부 데이터에서 유사한 정보를 찾아오는 과정이 핵심
  • 이 “검색”을 맡는 것이 바로 Vector DB

✅ Vector DB란?

Vector Database = 의미(semantics)를 숫자로 비교하는 데이터베이스

  • 텍스트 → 임베딩(Embedding) → 벡터로 변환
  • 수학적으로 코사인 유사도 같은 계산으로
  • “이 질문과 비슷한 내용이 뭐지?”
  • 수백만~수십억 개 벡터 중에서 가장 가까운 벡터를 빠르게 찾아줌

✅ RAG에 Vector DB가 필요한 이유

LLM 한계 보완

  • LLM은 학습된 지식만 답변
  • 최신 정보, 사내 데이터는 알 수 없음
  • → Vector DB에서 최신 문서를 검색 후 LLM에 context로 주입

의미 기반 검색

  • “책상” ≈ “데스크”
  • 키워드 검색은 못 잡아내는 의미적 유사도까지 검색 가능

대용량 데이터 처리

  • 수백만 개 문서도 빠르게 유사도 검색

✅ 대표적인 Vector DB들

아래는 RAG 개발자들이 가장 많이 쓰는 Vector DB들 + 특징!


1. Pinecone

  • 완전 관리형 SaaS
  • Scale-out이 매우 쉽고 빠름
  • Multi-tenant 지원 → 여러 프로젝트 분리 관리
  • Hybrid Search 지원 (벡터+키워드)
  • 단점: 유료, 비용 다소 높음

2. Weaviate

  • 오픈소스 + SaaS 모두 가능
  • Graph-like 관계 탐색 가능 (Vector Graph)
  • Hybrid Search 지원
  • 자체적으로 Text2Vec 플러그인 제공
  • REST API, GraphQL 지원

3. Qdrant

  • Rust 기반 → 성능 빠름
  • Hybrid Search 지원
  • Docker로 손쉽게 로컬 실행 가능
  • 오픈소스 무료
  • 클라우드 서비스도 있음

4. Milvus

  • 가장 유명한 오픈소스 Vector DB
  • 수십억 벡터 저장 가능
  • Disk-based storage → 대규모 데이터에 유리
  • 복잡한 Index 옵션 다양
  • 단점: 세팅이 다소 복잡

5. Elasticsearch (Vector Search)

  • 전통 검색엔진 + Vector Search 추가
  • BM25 + 벡터 혼합 검색 가능
  • 이미 Elasticsearch 쓰고 있다면 도입 쉬움
  • 벡터 전용 DB보단 성능 약간 떨어질 수 있음

✅ RAG + Vector DB 동작 흐름

질문 → Embedding 생성 → Vector DB 검색 → Top-K 유사 문서 반환
→ LLM에게 context로 주입 → 최종 답변 생성

✅ Vector DB 선택 시 고려사항

  • 데이터 규모 (수백만 vs 수십억)
  • Hybrid Search 필요한가?
  • Latency (속도)
  • 운영 편의성 (SaaS vs Self-Hosted)
  • 비용

✅ 한 줄 요약

“RAG에서 Vector DB는 LLM의 두뇌에 최신 기억을 꽂아주는 USB다!”

 

728x90

+ Recent posts