Develop/AI

벡터 데이터베이스를 알아보자.

YOOZI. 2025. 3. 15. 21:03
728x90
AI 가능한 패턴 검색 복제하기

 

 

 

오늘은 벡터 데이터베이스 알아보자.

오늘의 배움
  • 벡터 데이터베이스란?
  • 벡터 DB의 특징
  • 벡터  DB의 유형 및 활용 사례

1. 벡터 데이터베이스

  • 정의: 벡터 데이터베이스는 벡터 형식으로 저장된 데이터(고차원 임베딩 데이터)를 관리하고, 유사도 기반 검색 및 작업을 최적화하는 데이터베이스이다.
  • 한 줄 요약: 고차원 임베딩 데이터를 효율적으로 관리하고 검색하는 시스템이다.
  • 특징:
    • 벡터 임베딩 저장: 데이터를 벡터로 변환해 저장
    • 유사도 검색 최적화: 입력 벡터와 가장 유사한 벡터를 빠르게 검색
    • 확장성: 대규모 벡터 데이터를 처리할 수 있는 구조 제공
  • 필요성: AI/ML, 자연어 처리(NLP), 이미지 검색 등에서 데이터 효율적 관리를 위해 필요하다.
  • 장점/단점:
    • 장점: 고차원 데이터 관리 용이, 비정형 데이터 처리 적합, 빠른 유사도 계산
    • 단점: 특정 용도에 최적화되어 있어 범용성이 떨어질 수 있음
  • 예시: 추천 시스템, 이미지 검색, 자연어 검색 등
  • 종류:
이름 특징
Pinecone 클라우드 기반 서비스로 사용이 간편하며, 대규모 벡터 데이터 처리 가능
Weaviate 오픈 소스 벡터 DB로, 데이터 검색과 AI 통합 기능 제공
FAISS Facebook에서 개발한 라이브러리로, 고속 유사도 검색 지원
Milvus 대규모 데이터 처리를 지원하는 오픈 소스 벡터 DB
Qdrant 벡터 검색과 필터링 기능에 강점이 있는 오픈 소스 DB
Chroma Python 기반의 간단한 API 제공, LangChain과 통합 가능
Vespa 벡터 + 키워드 검색을 지원하며, 추천 시스템에서 많이 활용됨
Redis 빠른 검색 속도와 캐시 기능을 제공하며, 기존 Redis와 통합 가능
Elasticsearch 기존 검색 엔진과 결합 가능하며, KNN 검색 기능 지원
MongoDB Atlas Vector Search 기능을 제공하며, 기존 MongoDB 환경에서 사용 가능

 

[참고] Vector DB vs RDB  

더보기
항목 관계형 DB (RDB) 벡터 DB
데이터 저장 방식 테이블(행-열) 기반 구조 고차원 벡터 형태로 저장
검색 방식 SQL 기반의 정렬 및 필터링 유사도 기반 검색
(Cosine Similarity, Euclidean Distance 등)
데이터 유형 구조화된 데이터 (정형 데이터) 텍스트, 이미지, 오디오 등의 비정형 데이터
사용 사례 전통적인 기업 데이터 (고객 정보, 트랜잭션 등) 추천 시스템, 이미지/문서 검색, AI 모델 연동

 

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


2. 유사도 계산 방식

  • Cosine Similarity: 
    • 두 벡터의 코사인 각도를 기반으로 유사도를 측정한다.
    • 값 범위: [-1, 1]
  • 유클리드 거리: 두 벡터 간의 거리를 측정하여 유사도를 평가한다.
    • 두 벡터 간의 거리로 유사도를 측정
    • 값이 작을수록 유사
  • 예시: 추천 시스템에서 두 사용자 간의 유사도를 계산할 때 사용.
728x90

'Develop > AI' 카테고리의 다른 글

RAG (검색 증강 생성) 알아보자.  (0) 2025.03.15
LangChain을 알아보자.  (0) 2025.03.15
ollama 사용 설정  (0) 2025.03.15
LLM 주요 파라미터 및 적용에 대해 알아보자.  (0) 2025.03.15
LLM 사용에 대해 알아보자.  (0) 2025.03.15