
Weaviate
의미 검색·RAG·추천·멀티모달을 위한 오픈소스 벡터DB
Weaviate는 텍스트/이미지/오디오 등 비정형 데이터를 벡터로 저장해 의미 기반 검색을 고속 제공하는 오픈소스 벡터 데이터베이스입니다. 하이브리드 검색(BM25+Vector), 멀티테넌시, 복제·일관성, RBAC, 백업/복원을 갖춘 클라우드 네이티브 설계로 RAG·추천·멀티모달 AI의 핵심 인프라로 쓰입니다.
현재 진행중인 프로젝트에서 RAG 파이프라인 설계 중인데
Chroma_db 대신 Weaviate를 사용하기 위해 정리 해보았습니다.
https://weaviate.io/
The AI-native database developers love | Weaviate
Bring AI-native applications to life with less hallucination, data leakage, and vendor lock-in
weaviate.io
1) Weaviate란 무엇인가?
의미 기반 벡터 검색 DB
문서·이미지·오디오를 임베딩 벡터로 저장하고, 코사인/닷프로덕트/L2 등 거리 기준으로 유사도 검색을 수행합니다. 키워드가 아닌 “의미”로 찾기 때문에 RAG·추천·멀티모달에 강합니다.
API 다양성
검색은 GraphQL(Search API), 관리/CRUD는 REST, 고성능 클라이언트는 gRPC를 사용합니다. Python/JS 등 공식 클라이언트는 v4 Collections API를 권장합니다.
오픈소스 & 클라우드 네이티브
아파치 2.0 라이선스, 도커·쿠버네티스·Weaviate Cloud(매니지드/서버리스) 지원.
2) 핵심 기능 한눈에 보기
- 벡터 검색 + 하이브리드 검색(BM25+Vector): 키워드 정합성과 의미 유사도를 결합해 정확도와 회수율을 동시에 확보. alpha 가중 및 다양한 퓨전 방식 지원.
- 스키마 기반 모델링(컬렉션/속성): RDB처럼 구조 정의 + 벡터를 1급 시민으로 저장. 구조화 필터(where)와 집계도 가능.
- 복제·일관성: 컬렉션 단위로 복제 인자와 일관성 레벨(ONE/QUORUM/ALL) 설정. 성능·가용성·일관성 균형을 조절.
- 멀티테넌시: 테넌트별 데이터 격리. 한 인스턴스에서 여러 고객/프로젝트 안전 수용.
- 보안(RBAC + 인증): API Key / OIDC 인증과 RBAC(역할 기반 권한). 최소 권한 원칙 적용.
- 백업/복원: 로컬·S3·GCS·Azure 대상으로 백업/복원. 마이그레이션·DR에 유용.
- 모니터링: Prometheus 메트릭 노출, Grafana/Datadog 연동.
3) 내부 아키텍처 & 데이터 흐름
| Schema(컬렉션/속성) | 데이터/벡터 구조 정의 |
| Vectorizer(옵션) | 임베딩 자동 생성(모듈 사용 시) |
| Index(HNSW) | 근사 최근접 탐색(ANN)으로 초고속 유사도 검색 |
| Storage | 오브젝트+벡터 영속 저장 |
| API 서버 | GraphQL/REST/gRPC 처리 |
데이터 파이프라인
원본 데이터 → (Vectorizer 또는 외부 모델) → 벡터 생성 → HNSW 인덱스 등록 → 저장 → 검색/필터/집계
4) FAQ & 베스트 프랙티스
Q. 4096차원(Solar 등) 임베딩도 저장되나요?
A. 가능합니다. 자가 임베딩(self-provided) 모드에서는 외부 모델이 생성한 벡터를 그대로 저장·검색합니다. 단, 한 컬렉션 내 차원은 일관되게 유지하세요.
Q. 하이브리드 검색이 왜 유리하죠?
A. 키워드 정합성(BM25)과 의미 유사도를 결합해 노이즈에 강하고 OOV/동의어에도 탄력적입니다. alpha로 가중치를 조절하세요.
Q. gRPC(50051) 포트는 꼭 필요?
A. 최신 클라이언트(v4) 성능과 일부 기능에 유리하므로 같이 노출하는 것을 추천합니다.
Q. 운영에서 꼭 켜야 할 것?
A. RBAC+API Key/OIDC, 백업(주기 실행), 모니터링(/metrics), 복제/일관성 튜닝, 지속 볼륨(데이터 경로 마운트).
5) 참고 자료
- 공식 문서: https://weaviate.io/developers/weaviate
- Python v4 클라이언트: https://weaviate.io/developers/weaviate/client-libraries/python
- 하이브리드 검색 개념/튜토리얼: https://weaviate.io/developers/weaviate/search/hybrid
- 백업/복원: https://weaviate.io/developers/weaviate/manage/backup
- 보안(RBAC/인증): https://weaviate.io/developers/weaviate/configuration/authentication
- 모니터링(/metrics): https://weaviate.io/developers/weaviate/monitoring/metrics
마무리
저는 지금까지 Chroma_db만 사용해왔는데 Docker까지 사용하는 Vector_DB는 어떨지 궁금하네요.
사용법은 다음 게시글에 실제 코드와 함께 적어두도록 하겠습니다.
[Vector DB] Weaviate 사용법 - 1
Weaviate의 사용법에 대해 작성해보겠습니다.모든 데이터는 깃허브에 저장해 둘 예정입니다.git clone https://github.com/joo9906/RAG 하시거나 직접 파일을 만들어보시면 될 것 같습니다. 현재 Weaviate는 25년
joo9906.tistory.com
더 고도화된 정보는 아래 게시글을 참고해주세요.
[Vector DB] Weaviate 고도화
HNSW, 이진 양자화(BQ), 멀티 타겟 검색 등의 고도화안녕하세요! 현재 제가 재직중인 회사의 VDB로 Weaviate를 사용하는 만큼, 많은 최적화/고도화 방법을 공부하고 있습니다. 특히 RAG 기반의 멀티 에
joo9906.tistory.com
'AI 관련 지식 > RAG' 카테고리의 다른 글
| [RAG] Naive RAG, Graph RAG, OpenKB 비교 (0) | 2026.05.20 |
|---|---|
| [OpenKB] OpenKB란? (1) | 2026.05.15 |
| [지식 그래프] LightRag란? (1) | 2026.04.12 |