벡터DB

이해하기

벡터 DB는 수많은 벡터 데이터를 저장하고
유사한 벡터를 빠르게 검색할 수 있도록 만들어진 특화된 데이터베이스입니다.

예를 들어, - “이 문장과 비슷한 의미의 문서 찾아줘” - “이 이미지를 설명하는 텍스트는 뭐야?” 이런 질문을 처리하려면, 수많은 벡터 중 가장 가까운 벡터를 빠르게 찾아야 합니다.

벡터 DB는 이런 작업을 효율적으로 처리할 수 있도록 최적화되어 있습니다.

  • 예: “분위기 좋은 카페”라고 입력하면
    비슷한 문장을 임베딩해 벡터로 바꾸고
    의미가 유사한 벡터 문서를 찾아줍니다.

2. AI 챗봇의 RAG (Retrieval-Augmented Generation)

  • 질문을 벡터로 변환해 관련 문서를 벡터 DB에서 검색한 뒤
    그 정보를 바탕으로 AI가 답변을 생성합니다.

3. 이미지 검색

  • 이미지 자체를 임베딩해 저장하고
    비슷한 이미지나 설명을 가진 벡터를 검색합니다.

🔍 벡터 DB는 어떻게 동작할까?

벡터 DB는 벡터 간의 거리(유사도)를 기준으로 검색합니다.
자주 쓰이는 거리 계산 방식은 다음과 같습니다.

  • 코사인 유사도 (Cosine Similarity)
  • 유클리드 거리 (Euclidean Distance)
  • 점곱 (Dot Product)

🚀 대표적인 벡터 DB

  • Azure AI Search : 벡터 검색도 가능한 문서 검색기반 서비스

  • Pinecone: 클라우드 기반, 매우 빠른 검색 속도

  • Weaviate: 오픈소스, 다양한 확장 기능 제공

  • FAISS (Facebook AI Similarity Search): 페이스북에서 개발한 라이브러리, GPU 지원

  • Milvus: 대규모 벡터 처리에 적합한 분산형 DB

Contents