RAG(검색 증강 생성, AI에게 외부 문서를 찾아 읽힌 뒤 답하게 하는 방식)를 만들려고 하면 거의 반드시 마주치는 관문이 있습니다. 바로 벡터 데이터베이스(Vector DB) 선택입니다.

저도 사이드 프로젝트로 PDF 검색기를 만들면서 한참 헤맸습니다. Pinecone, Chroma, Weaviate, Qdrant, Milvus… 비슷해 보이는 이름들이 너무 많거든요. 결국 셋 다 직접 깔아 써봤고, 그 경험을 바탕으로 정리해봤습니다.
이 글은 "vector db 비교"를 검색해서 들어왔지만 아직 어떤 걸 고를지 감이 안 오는 분들을 위한 글입니다. 너무 깊이 들어가지 않고, 5분 안에 의사결정을 끝낼 수 있도록 핵심만 추렸습니다.
벡터 DB가 뭐길래 굳이 쓰는가
벡터 DB는 숫자 묶음(벡터)으로 저장된 데이터를 "비슷한 순서대로" 빠르게 찾아주는 데이터베이스입니다.
기존 데이터베이스(MySQL, PostgreSQL 같은 것)는 "이름이 정확히 홍길동인 사람"을 찾는 데 강합니다. 반면 벡터 DB는 "이 문장과 의미가 비슷한 문서 5개"를 찾는 데 특화되어 있습니다.
일반 DB: "홍길동" == "홍길동" → 정확히 일치하는 것만
벡터 DB: "강아지 산책법" ≈ "반려견 운동 가이드" → 의미가 가까운 것
왜 RAG에 필요한가요? AI가 답을 잘 하려면 관련된 문서를 미리 찾아 읽혀야 하는데, 사용자가 "강아지 산책"이라고 물어도 문서에는 "반려견 운동"이라고 적혀 있을 수 있잖아요. 단어가 달라도 의미로 매칭해주는 도구가 벡터 DB입니다.
회사 내부 위키 검색, 고객 문의 챗봇, 이미지 유사도 검색 — 요즘 AI 서비스 뒷단에는 거의 다 벡터 DB가 깔려 있다고 보면 됩니다.
세 후보 한눈에 비교
본격적으로 들어가기 전에 한 표로 압축해봤습니다. 이 표만 봐도 대략 감이 잡힐 겁니다.
| 항목 | Pinecone | Chroma | Weaviate |
|---|---|---|---|
| 유형 | 완전 관리형 (SaaS) | 로컬·임베디드 | 오픈소스 + 클라우드 |
| 설치 난이도 | 가입만 하면 됨 | pip install 1줄 |
Docker 필요 |
| 무료 사용 | 1개 인덱스 무료 | 100% 무료 | 셀프호스팅 무료 |
| 학습 시간 | 약 30분 | 약 15분 | 약 1~2시간 |
| 강점 | 빠름·안정적 | 프로토타입 최적 | 기능 풍부 |
| 약점 | 비용·종속성 | 프로덕션엔 약함 | 초기 설정 복잡 |
| 추천 단계 | 서비스 출시 단계 | 학습·실험 단계 | 중간~대규모 운영 |
가격은 글 작성 시점(2025년 기준) 공식 사이트 기준이며, 정책은 자주 바뀌므로 결제 전에는 직접 확인하시길 권합니다.
Pinecone — 가장 편한 유료 선택지
Pinecone은 설치도 운영도 신경 쓰기 싫을 때 쓰는, "그냥 가입하면 끝"인 클라우드 벡터 DB입니다.
서버를 직접 깔거나 Docker(앱을 컨테이너에 담아 실행시키는 도구)를 다룰 필요가 없습니다. 회원가입하고 API 키(서비스에 접근할 때 쓰는 일종의 출입증)만 받으면 바로 코드에서 호출할 수 있습니다.
# Pinecone 사용 예시 — 데이터 넣고 검색하는 흐름
index.upsert(vectors=[("id1", [0.1, 0.2, ...])])
index.query(vector=[0.15, 0.21, ...], top_k=5)
위 코드는 "벡터 하나를 저장하고, 비슷한 것 5개를 찾아라"는 명령입니다. 단 두 줄로 끝납니다.
언제 쓰면 좋은가
- 스타트업이 빠르게 MVP를 띄우고 싶을 때
- 인프라 담당자가 따로 없을 때
- 트래픽이 갑자기 늘어도 알아서 확장되길 원할 때
단점
- 무료 티어는 인덱스 1개로 제한됨 (글 작성 시점 기준)
- 데이터가 외부 클라우드에 저장 → 민감한 사내 문서엔 부담
- 한번 들어가면 나오기 힘든 벤더 락인 위험. 코드를 Pinecone API에 맞춰 짜놓으면 다른 DB로 옮길 때 다시 짜야 합니다
저는 개인 프로젝트에선 Pinecone을 거의 안 씁니다. 학습 단계에선 굳이 돈 낼 이유가 없거든요. 다만 사이드 프로젝트가 진짜 사용자가 붙는 단계로 넘어갔을 때, 인프라에 시간 빼앗기기 싫어서 Pinecone으로 넘어간 경우는 있습니다.
Chroma — 노트북에서 5분 만에 시작
Chroma는 파이썬 한 줄로 깔리는, 로컬 환경에 특화된 오픈소스 벡터 DB입니다.
pip install chromadb
이게 끝입니다. 별도 서버 띄울 필요 없이, 파이썬 코드 안에서 바로 동작합니다. SQLite(개별 파일에 저장되는 가벼운 DB)처럼 가벼운 느낌이라고 보면 됩니다.
왜 인기 있는가
- LangChain·LlamaIndex 같은 RAG 프레임워크와 통합이 가장 매끄러움
- 공식 문서가 친절하고 예제가 많음
- 데이터가 내 컴퓨터에 저장되어 외부 유출 걱정이 없음
한계는 명확합니다
- 동시에 여러 사람이 접속하는 서비스용으론 약함
- 수천만 건 이상으로 데이터가 커지면 성능이 떨어짐
- 백업·모니터링 같은 운영 도구가 부족
이런 시나리오를 떠올려보세요.
블로그 글 200편을 쌓아둔 1인 운영자가, "내 블로그에서 RAG 검색 챗봇을 만들고 싶다"고 합니다. 이때 Pinecone에 돈 낼 필요도, Weaviate를 도커로 띄울 필요도 없습니다. Chroma 한 줄이면 끝납니다.
처음 RAG를 배우는 분에게는 거의 무조건 Chroma를 추천합니다. 망가뜨려도 부담이 없고, 한 시간이면 동작하는 챗봇을 만들 수 있습니다.
Weaviate — 기능은 가장 풍부한 중급자용
Weaviate는 오픈소스이면서도 프로덕션급 기능을 갖춘, "직접 운영하면서도 제대로 쓰고 싶을 때"의 선택지입니다.
Pinecone과 Chroma의 중간 어딘가에 있다고 보시면 됩니다. 셀프호스팅(직접 서버에 설치해 운영) 가능하면서, 클라우드 매니지드 옵션도 따로 제공합니다.
눈에 띄는 강점
[텍스트 검색] + [벡터 검색]
↓ 합쳐서 ↓
하이브리드 검색 결과
Weaviate는 키워드 검색과 의미 검색을 동시에 섞는 하이브리드 검색을 기본 지원합니다. 예를 들어 "2024년 매출 보고서"를 찾을 때, "2024"는 정확히 매칭되어야 하고 "매출 보고서"는 의미로 찾아야 하는데, 이걸 한 번에 처리해줍니다.
또한 모듈 구조라 임베딩(텍스트를 벡터로 바꾸는 작업) 모델, 분류기, 생성 모델을 DB 안에 통합해 쓸 수 있습니다.
진입 장벽
- Docker 또는 쿠버네티스 지식이 어느 정도 필요
- 스키마(데이터 구조) 설계를 처음부터 잡아야 함
- 작은 프로젝트엔 오버 스펙
저는 Weaviate를 처음 깔 때 두 시간 정도 썼습니다. Docker 컨테이너 띄우고, 스키마 정의하고, 임베딩 모델 연결하고… 그래도 한번 익히면 "이게 진짜 DB구나" 싶은 느낌이 들었습니다. 사내 검색 시스템이나 중간 규모 SaaS에 가장 적합합니다.
그래서 어떤 상황에 무엇을 골라야 하나
선택을 단순화하기 위해 시나리오별로 정리했습니다.
| 상황 | 추천 | 이유 |
|---|---|---|
| RAG 처음 배우는 중 | Chroma | 5분이면 시작 |
| 개인 블로그·노트 검색 | Chroma | 로컬로 충분 |
| 빠르게 MVP 출시 | Pinecone | 인프라 고민 0 |
| 사내 문서 검색 (보안 중요) | Weaviate (셀프호스팅) | 데이터 외부 유출 ❌ |
| 키워드+의미 둘 다 필요 | Weaviate | 하이브리드 검색 강함 |
| 트래픽 폭증 예상 | Pinecone | 자동 확장 |
| 비용 0원이어야 함 | Chroma 또는 Weaviate 셀프호스팅 | 둘 다 무료 |
체크리스트로도 정리해봤습니다. 본인 상황에 표시해보세요.
- ☐인프라 다룰 사람이 있는가? (없으면 Pinecone)
- ☐데이터를 외부 클라우드에 올려도 되는가? (안 되면 Chroma/Weaviate)
- ☐동시 사용자가 100명 이상인가? (그렇다면 Chroma 제외)
- ☐키워드 검색도 함께 필요한가? (그렇다면 Weaviate 우선)
- ☐학습 목적인가? (그렇다면 무조건 Chroma부터)
💡 한 가지 팁: 처음엔 Chroma로 시작하고, 사용자가 붙기 시작하면 Pinecone이나 Weaviate로 넘어가는 흐름이 가장 안전합니다. 처음부터 완벽한 선택을 할 필요는 없습니다.
비교에 안 넣은 옵션들에 대한 짧은 변명
Qdrant, Milvus, pgvector도 자주 거론됩니다. 빠지면 섭섭한 친구들이라 한 줄씩만 짚고 갑니다.
- Qdrant: Weaviate와 거의 동급의 강자. Rust로 쓰여 빠릅니다. 한국 자료가 아직 적은 게 단점
- Milvus: 대규모(수억 건 이상) 처리에 강한 엔터프라이즈 옵션. 개인이 만지기엔 무거움
- pgvector: 이미 PostgreSQL 쓰고 있다면 확장만 깔면 됨. 작은 규모엔 가장 실용적
이 셋도 후보로 충분히 고려할 만합니다. 다만 "처음 입문하는 분이 가장 많이 마주치는 이름 3개"가 Pinecone·Chroma·Weaviate라서 이번 글은 여기에 집중했습니다.
마무리
세 DB를 한 문장씩으로 압축하면 이렇습니다.
- Pinecone: 돈 내고 편하게 (서비스 출시용)
- Chroma: 가볍게 시작 (학습·프로토타입용)
- Weaviate: 직접 다 다뤄보기 (중급 운영용)
가장 추천하는 첫걸음은 Chroma로 30분 안에 RAG 챗봇 하나 돌려보기입니다. 직접 만져보면 위 표가 머리에 쏙 들어옵니다.
다음 글에서는 Chroma로 PDF 100장을 검색하는 RAG를 처음부터 끝까지 만들어볼 예정입니다. 이번 글의 비교가 손에 잡히는 코드로 이어지도록요.
'개발 & 기술 > 데이터베이스' 카테고리의 다른 글
| Supabase 5분 입문 — 코드 적게 쓰는 백엔드의 정답일까 (0) | 2026.06.23 |
|---|---|
| SQL 입문 5분 정리 — 비개발자도 SELECT부터 (0) | 2026.06.18 |
| SQLite vs PostgreSQL, 사이드 프로젝트엔 뭐 쓸까 (0) | 2026.06.11 |
| AI에게 SQL 쿼리 짜달라고 잘 부탁하는 법 프롬프트 5선 (0) | 2026.05.25 |
| [ORACLE] 오라클 기초 쿼리문 정리 (0) | 2010.06.24 |