벡터 데이터베이스

모와이·2026년 2월 4일

llm

목록 보기
15/20

벡터DB의 이해

벡터 형식으로 저장된 데이터를 관리하고 유사도 기반 검색 및 작업을 최적화 하도록 설계된 데이터베이스이다

AI/ML, 자연어 처리(NLP), 이미지 검색, 추천 시스템에서 주로 사용 / 최근접 이웃 검색(ANN)기법 활용

벡터DB의 특징

  • 특징

    1. 벡터 임베딩 저장 : 데이터를 벡터로 변환해 저장
    2. 유사도 검색 최적화 : 입력 벡터와 가장 유사한 벡터 검색(COSINE SIMILARITY)
    3. 대규모 벡터 데이터 처리가능한 구조 제공
  • 장점

    1. 고차원 데이터 효율적 관리
    2. 비정형 데이터(이미지, 텍스트) 처리에 적합
    3. 유사도 계산을 빠르게 수행
  • 적용 분야 : 추천 시스템, 콘텐츠 기반 검색, 이미지/자연어 검색

  • 방식

    1. 분산 : 벡터 차원이 수백만~수억 => 속도 느려지기에 여러대 서대에 나눠 저장
    2. 샤딩 : 데이터를 조각으로 쪼개서 서버별로 저장
    3. 인덱싱 : 후보를 좁히는 방식(RDBMS)

    관계형 DB는 정확한 데이터 매칭이 강점이고, 벡터 DB는 유사도 기반 검색이 강점

벡터DB의 종류

  • 라이브러리/검색엔진 (실제 DB는 따로 있어야함)
  1. Redis : 빠른 검색 속도와 캐시 기능 제공
  2. MongoDB : Atlas Vector Search 기능을 제공하며, 기존 MongoDB 환경에서 사용 가능
  3. Elasticsearch : KNN검색 기능 지원
  4. FAISS : 고속 유사도 제공
  • DB형
  1. Pinecone : 대규모 벡터 데이터 처리 가능
  2. Weaviate : 데이터 검색과 AI통합 기능 제공
  3. Milvus : 대규모 데이터 처리 지원 오픈소스
  4. Qdrant : 벡터 검색과 필터링 기능에 강점
  5. Chroma : 빠르게 가볍게 사용가능

유사도 계산 방식

  1. Cosine Similarty
    • 방향이 얼마나 비슷한지(의미가 비슷하면 방향이 비슷)
  2. 유클리드 거리
    • 점A에서 점B까지 직선거리(가까울수록 유사)

코사인: 패턴/비율 위주
유클리드: 값 자체가 얼마나 비슷한지(절대 크기 포함) 위주

  1. 점수 기반 검색
    • 유사도 거리 계산 후 기준점수를 정하고 그 이상(이하)인 것만 결과로 내보내는 방식

벡터DB 활용 사례

  1. 추천 시스템 : 사용자 행동(별점, 시청콘텐츠, 구매 물건, 어떤것을클릭)
  2. 이미지 검색 : 유사한 이미지 검색(이미지의 특징값 => 벡터)
  3. 문서 검색 : 텍스트 임베딩 기반으로 문서 찾기(->RAG(검색증강기법))
  4. 음성 검색 : 음색, 패턴, 발화 특징 => 벡터
  5. 의료 데이터 검색 : 모든 증상(혈압,체온)들을 다 가져와 벡터화한뒤 환자의 증세랑 비슷한거 찾기
profile
공부하는거 정리하는 블로그

0개의 댓글