블로그
후기
멘토진
← 블로그 목록으로 돌아가기
Vector Database란 무엇일까?
JSCODE 시니
2026. 06. 13.
author
JSCODE 시니
category
Spring AI
createdAt
Jun 13, 2026 09:52 AM
isPublic
isPublic
series
실무에 바로 적용하는 Spring AI: Spring 서비스에 챗봇·RAG·MCP 도입하기
slug
introduction-to-vector-databases
type
post
updatedAt
✅ 1. Vector Database란 무엇일까?
과거의 백엔드 개발은 텍스트, 숫자 데이터를 관계형 DB에 저장하는 것이 전부였음
하지만, AI 시대가 오면서 데이터를 저장하고 검색하는 패러다임 자체가 완전히 바뀜
그 중심에 있는 것이 바로 Vector Database
Vector Database는
우리가 아는 일반적인 텍스트, 이미지, 오디오 등의 비정형 데이터를 AI가 이해할 수 있는 '숫자들의 배열(고차원 벡터)'로 변환하여 저장
사람의 언어를 AI 세계의 좌표계(X, Y, Z...) 위치로 번역해서 저장하는 것과 같음
✅ 2. RDB vs Vector DB
가장 핵심적인 차이는
검색방법에 있음
전통적인 RDB (키워드 매칭)
정확히
일치하는 단어
가 있어야만 찾을 수 있음
“꾸리꾸리한 날씨” 라고 검색하면, 데이터베이스에 ‘꾸리꾸리한’, ‘날씨’ 라는 글자가 똑같이 들어간 데이터만 검색됨
Vector DB (의미적 유사성 검색 - Semantic Search)
단어가 달라도
문맥과 의미가 비슷하면
찾아냄
“꾸리꾸리한 날씨” 라고 검색해도, 벡터 좌표상 가까운 거리에 있는 "비가 오고 흐린 날"이라는 데이터를 찾아옴
✅ 3. LLM과의 관계
프롬프트 엔지니어링만으로는 극복할 수 없는
LLM의 한계(환각 현상, 최신 정보 부족, 기억력 한계)를 Vector Database가 완벽하게 보완해줌
RAG (Retrieval-Augmented Generation, 검색 증강 생성)
LLM이 답변을 만들기 전에, Vector DB라는 '외부 지식 도서관'을 먼저 탐색하여 가장 정확하고 최신인 정보를 찾아옴
그 정보를 기반으로 답변을 생성
Hallucination을 막고, 사내 기밀 문서나 최신 뉴스 기반의 답변이 가능해짐
실무에서는 Vector DB의 의미 검색과 기존의 키워드 검색(Elasticsearch 등)을 혼합하여 검색의 정확도를 끌어올림
장기 기억 장치 (Long-term Memory) 구현
사용자와 나누었던 수많은 이전 대화 기록이나 사용자 성향 정보를 Vector DB에 저장
왜 예전에 말했던 거 있잖아 기억나? 라는 질문을 하더라도 대답하기 전에 "지금 이 질문과 관련된 과거의 대화 내용이 있나?" 하고 Vector DB를 검색(유사도 검색)해서 꺼내온 뒤, 프롬프트에 끼워넣음