핵심 요약
임베딩은 ① 다국어(한국어) 지원, ② 도메인 적합도, ③ 차원·비용으로 고른다. 벡터DB는 데이터 규모가 작으면(수만~수십만) Postgres pgvector로 충분하고, 수백만 이상·고QPS면 전용 벡터DB를 본다. 작은 프로젝트에 거대 벡터 인프라는 과설계다.
1. 임베딩 고르기
- 한국어 비중 높으면 다국어/한국어 강한 모델
- 차원이 클수록 표현력↑·저장/검색 비용↑ — 균형
- 같은 모델로 색인·질의해야 한다(혼용 금지)
2. 벡터DB 선택
| 규모 | 권장 |
|---|---|
| ~수십만, 기존 PG 사용 | pgvector(운영 단순) |
| 수백만+·고QPS | 전용 벡터DB(HNSW) |
| 메타 필터 많음 | 필터+벡터 동시 지원 확인 |
3. 함정
- 색인과 질의 임베딩 모델이 다르면 검색이 망가진다
- 정확도-속도는 인덱스 파라미터(HNSW ef 등) 트레이드오프
- 모델 교체 시 전체 재색인 필요 — 버전 관리
자주 묻는 질문
꼭 전용 벡터DB가 필요한가요?
아닙니다. 이미 Postgres를 쓰고 데이터가 수십만 수준이면 pgvector로 운영이 단순하고 충분합니다. 규모·성능 요구가 커질 때 전용 DB를 고려하세요.
임베딩 모델을 바꾸면 어떻게 되나요?
벡터 공간이 달라져 기존 색인과 호환되지 않습니다. 전체를 새 모델로 재색인해야 하니 모델 버전을 메타데이터로 남겨 두세요.

댓글 0