ㅇ벡터 DB(Vector DataBase): 데이터를 벡터(Vector)로 변환하여 저장하고, 이를 빠르게 검색할 수 있도록 설계된 DB

주로 AI, 머신러닝, RAG(Retrieval-Augmented Generation)에서 유사한 데이터 검색에 사용된다
💡 쉽게 말하면?
일반적인 데이터베이스(SQL, NoSQL)는 키워드 기반 검색을 하지만, 벡터 DB는 "유사한 의미"를 가진 데이터를 검색한다!
그렇다면 벡터(Vector)란?
- 벡터는 숫자로 이루어진 배열(예: [0.2, -0.5, 0.8, ...])로, 텍스트, 이미지, 오디오 등의 데이터를 수치화하여 표현한 것이다!
- 같은 의미를 가진 데이터는 "벡터 값이 비슷하다"
📝 예제: "강아지"와 "개"는 비슷한 의미이므로 벡터 값도 유사함
"강아지" → [0.12, 0.87, 0.45, ...]
"개" → [0.14, 0.89, 0.40, ...]
"컴퓨터" → [-0.75, 0.23, -0.90, ...] (전혀 다른 의미)
✅ 벡터 DB는 이런 벡터 값을 기반으로 "가장 유사한 데이터"를 빠르게 찾는 역할을 한다!
벡터 DB의 필요성
❌ 기존 검색 방식의 한계
일반적인 데이터베이스(SQL, NoSQL)는 키워드 기반 검색을 사용함.
즉, 정확한 단어를 입력해야 검색됨.
💬 예시)
❌ "바다에 사는 동물" 검색 시 "돌고래"가 나오지 않을 수 있음!
(키워드 "바다 동물"이 포함되지 않기 때문)
✅ 하지만 벡터 DB를 활용하면?
- 텍스트의 의미를 기반으로 검색 가능 → "바다에 사는 동물"을 검색하면 "돌고래", "고래", "해파리" 같은 관련 데이터도 검색됨
- 이미지, 오디오 같은 비정형 데이터도 검색 가능 → 비슷한 이미지 찾기, 음성 검색 등 가능!
벡터 DB의 주요 기능
✅ 유사한 데이터 검색 (Nearest Neighbor Search, NNS)
✅ 빠른 검색 속도 (고차원 데이터 처리 최적화)
✅ 텍스트, 이미지, 오디오 등 다양한 데이터 저장 가능
(활용 예시)
- AI 챗봇(RAG 기반 검색) → 문서를 벡터로 변환 후, 질문과 가장 관련 있는 문서 검색
- 이미지 검색 → 특정 이미지와 비슷한 이미지 찾기
- 음성 인식 → 입력된 음성과 유사한 발음을 검색
- 추천 시스템 → 사용자의 검색/구매 내역과 비슷한 제품 추천
대표적인 벡터 DB 종류
🔹 FAISS(Facebook AI Similarity Search) → Facebook 개발, 빠른 벡터 검색
🔹 Pinecone → 클라우드 기반 벡터 DB, 실시간 검색 지원
🔹 Weaviate → 오픈소스 벡터 DB, 자연어 검색 최적화
🔹 Milvus → AI 최적화 벡터 DB, 대규모 데이터 검색에 강함
🔹 ChromaDB → RAG와 연동하기 쉬운 벡터 DB
[정리]
✅ 벡터DB는 일반 SQL/NoSQL DB와 달리, "유사한 의미"를 찾을 수 있는 DB!
✅ 텍스트, 이미지, 오디오 등을 벡터(Vector)로 변환하여 저장하고 검색!
✅ AI, RAG(검색+생성), 추천 시스템, 이미지 검색 등에 필수적인 기술!
📌 한마디로 "벡터 데이터베이스는 AI가 '비슷한 의미'를 이해하고 검색할 수 있도록 도와주는 DB"
참고 및 출처: 인공지능을 위한 선형대수(Khan Academy)
#SK, #SKALA, #SKALA1기
'인공지능 > 생성형 AI' 카테고리의 다른 글
[생성형 AI] LCEL(LangChain Expression Language) 실습: 체인을 더욱 간결하게 구성하기 (1) | 2025.03.11 |
---|---|
[생성형 AI] LangChain 기초: LLM과 프롬프트 엔지니어링 실습 (0) | 2025.03.11 |
[생성형 AI] 초보자도 바로 이해하는 RAG(Retrieval-Augmented Generation) 개념 (0) | 2025.03.10 |
[생성형 AI] 파인 튜닝 vs LLM 오케스트레이션 (2) | 2025.03.07 |
[생성형 AI] OpenAI 이미지 생성 활용(w/DALL·E 3) (1) | 2025.02.17 |