왜 벡터DB가 필요한가
RAG(검색증강생성) 시스템은 문서를 임베딩(벡터)으로 변환해 저장하고, 질문이 들어오면 의미적으로 가장 유사한 벡터를 빠르게 찾아야 합니다. 이 유사도 검색에 특화된 저장소가 벡터DB입니다.
Pinecone — 완전관리형
서버 운영 부담 없이 쓸 수 있는 완전관리형·서버리스 서비스로, 임베딩 생성과 재순위화(reranking) 기능까지 내장돼 있습니다. 커스터마이징을 어느 정도 포기하는 대신 운영 부담이 거의 없습니다.
Milvus — 대규모·자체 호스팅
수십억 개 규모의 벡터를 낮은 비용으로 처리하도록 설계됐지만, 직접 운영하려면 엔지니어링 리소스가 필요합니다.
pgvector — PostgreSQL 확장
별도 DB가 아니라 PostgreSQL의 확장 기능입니다. 임베딩·문서·메타데이터를 하나의 DB에 두고 SQL 조인으로 함께 쿼리할 수 있어, 수백만 개 이하 규모의 RAG 워크로드에는 강력한 선택지입니다.
선택 기준
- 운영 부담 없이 빠르게 시작: Pinecone
- 대규모(수십억 벡터), 비용 최적화, 직접 튜닝: Milvus
- 이미 PostgreSQL을 쓰고 있고 데이터 규모가 크지 않음: pgvector