한 줄 정의
Vector Database는 텍스트, 이미지, 코드 같은 데이터를 임베딩 벡터로 저장하고 질의와 가까운 항목을 유사도 기준으로 찾아주는 데이터베이스야. 정확히 같은 값보다 뜻이 비슷한 대상을 찾는 데 강해서 의미 검색 계층에서 많이 쓰여.
어떻게 작동하나
먼저 원본 문서나 이미지 같은 데이터를 임베딩 모델로 숫자 벡터로 바꿔 저장해. 사용자가 질문을 보내면 그 질문도 같은 방식으로 벡터로 만든 뒤 저장된 벡터 가운데 가장 가까운 후보를 찾아 결과로 돌려줘. 실제 시스템은 여기에 메타데이터 필터, 키워드 검색, 재정렬 같은 단계를 더 붙이기도 해.
왜 중요한가
RAG에서는 모델이 답을 잘 만드는 능력만큼 먼저 맞는 문서를 꺼내 오는 능력이 중요해. Vector Database는 그 검색 단계를 맡기 때문에 여기서 엇나가면 뒤의 생성 단계도 근거가 약해지기 쉬워. 또 문서 양이 커지고 질의가 다양해질수록 단순 문자열 검색만으로는 놓치는 내용을 의미 기준으로 다시 잡아낼 수 있어.
주의해서 볼 점
Vector Database를 쓴다고 검색 품질이 자동으로 좋아지지는 않아. 어떤 임베딩 모델을 골랐는지, 문서를 얼마나 잘게 나눴는지, 검색 뒤에 재정렬을 붙였는지에 따라 결과가 크게 달라져. 또 제품 코드나 숫자처럼 정확한 문자열 일치가 중요한 검색은 벡터 검색만으로 부족할 수 있어서 다른 검색 방식과 섞는 경우가 많아.
관련 용어
- RAG: RAG는 검색과 생성이 이어진 전체 파이프라인이야. Vector Database는 그 안에서 검색용 저장소와 유사도 조회 엔진 역할을 맡아.
- LlamaIndex: LlamaIndex는 문서를 나누고 인덱싱 흐름을 연결하는 프레임워크야. Vector Database가 데이터를 담고 찾는 엔진이라면 LlamaIndex는 그 엔진을 포함한 검색 파이프라인을 조립하는 쪽에 더 가까워.
- Embedding (임베딩): Embedding은 Vector Database에 들어가는 표현 형식이야. 저장소가 같아도 임베딩이 바뀌면 무엇을 가깝다고 보는지가 달라져서 검색 결과도 달라져.
- Pinecone (파인콘): Pinecone은 Vector Database를 서비스 형태로 제공하는 대표적인 제품 중 하나야. 개념 자체와 특정 관리형 서비스를 구분해서 봐야 도구 선택이 덜 헷갈려.