정확성의 시대를 넘어, 유사성의 시대를 위한 데이터베이스의 진화
유형 | 주요 목적 | 데이터 예시 | 핵심 쿼리 방식 |
---|---|---|---|
RDBMS | 정형 데이터 저장 및 관계 질의 | 숫자, 문자열, 날짜 등 | WHERE , JOIN , GROUP BY 등 SQL |
NoSQL | 유연한 구조, 대규모 분산 처리 | JSON, 문서, 키-값, 그래프 등 | 키 기반 조회, 문서 검색 |
벡터 DB | 벡터 기반 유사도 검색 | 임베딩 벡터 (텍스트, 이미지 등) | k-NN 검색 (유사한 벡터 찾기) |
RDBMS는 “정확히 일치하는” 값을 찾는 데 적합하다.
예: WHERE id = 5
또는 WHERE age > 30 AND city = '서울'
NoSQL은 구조가 유동적인 데이터를 빠르게 저장하고, 간단한 키 조회나 문서 기반 쿼리에 강하다.
예: MongoDB에서 { "userId": "abc123" }
같은 문서 검색
벡터 DB는 “비슷한 것을 찾아줘”에 특화되어 있다.
예: “이 문장과 의미가 유사한 문장 5개 찾아줘”
벡터 DB는 정확히 일치하는 값을 찾지 않고, 수학적으로 가장 가까운 벡터들을 찾는다. 이를 위해 K-최근접 이웃(KNN) 알고리즘이 핵심 역할을 한다.
항목 | RDBMS | NoSQL | 벡터 DB |
---|---|---|---|
저장 데이터 | 행(row), 열(column) 구조 | 키-값 또는 문서 형태 | ID + 고차원 벡터 |
예시 데이터 | ("홍길동", 30, "서울") | { name: "홍길동", age: 30 } | ("doc1", [0.12, 0.87, 0.33, ...]) |
데이터 타입 | 숫자, 문자열, 날짜 등 | 문자열, 배열, 객체 등 | 실수(float)로 구성된 N차원 벡터 |
벡터 DB는 벡터의 고차원 수치 배열을 다루기 때문에, 정렬이나 필터링보다 거리 계산과 유사도 기반 검색이 핵심이다.
인덱스 기법 | 특징 |
---|---|
HNSW (Hierarchical Navigable Small World) | 그래프 기반, 정확도와 속도 균형 우수 |
IVF (Inverted File Index) | 벡터를 클러스터링 후 후보만 탐색 |
LSH (Locality Sensitive Hashing) | 유사한 벡터끼리 같은 해시로 매핑하여 빠르게 검색 |
기존 DB에서는 이런 복잡한 수치 기반 인덱싱이 필요하지 않지만, 벡터 DB에서는 필수적인 구성 요소다.
항목 | RDBMS/NoSQL | 벡터 DB |
---|---|---|
질의 목적 | 값 조회, 조건 검색, 집계 | 유사 벡터 검색 |
질의 대상 | 속성(attribute) | 벡터 공간의 거리 |
결과 기준 | 값의 일치 여부 | 유사도의 크기 순 (Top-K) |
쿼리 언어 | SQL / 문서 기반 쿼리 | API or 벡터 쿼리 DSL (예: search(vector, k) ) |
RDBMS:
검색어 = “바다” → 태그 컬럼에서 문자열 검색
→ 정확히 "바다"라는 태그가 붙은 사진만 찾을 수 있다
NoSQL:
문서에서 "tags": ["바다", "풍경"]
조건으로 검색
→ 태그가 잘 정리되어 있어야 하고, 검색어에 맞는 태그가 등록되어 있어야 함
벡터 DB:
“바다 풍경”이라는 텍스트를 임베딩 → 해당 벡터와 유사한 이미지의 벡터들을 KNN으로 검색
→ 태그가 없어도, 실제로 유사한 이미지들이 검색됨
항목 | RDBMS | NoSQL | 벡터 DB |
---|---|---|---|
정형성 | 정형 데이터 전용 | 반정형, 유연한 구조 | 비정형 데이터의 벡터 표현 |
쿼리 기준 | 정확한 값 | 키 or 필드 조건 | 유사도 기반 (거리/각도) |
검색 대상 | 속성 값 | 문서 or 키 | 고차원 벡터 |
인덱스 | B-Tree, Hash | 해시, 필드 인덱스 | HNSW, IVF, LSH 등 |
쓰임새 | 전통적 업무 시스템 | 실시간 웹, 로그 처리 | AI 검색, 추천, 의미 기반 검색 |
벡터 DB는 기존의 데이터베이스처럼 “값을 정확히 조회”하는 방식이 아니라,
유사한 의미, 비슷한 특성을 기준으로 정보를 찾아주는 완전히 다른 검색 패러다임을 제공한다.
RDB나 NoSQL이 정형·반정형 데이터를 빠르게 저장하고 조작하는 데 최적화되어 있다면,
벡터 DB는 의미 중심의 검색, 즉 사람의 직관과 유사한 방식으로 정보를 찾는 데 특화된 도구다.
앞으로 LLM 기반 RAG 시스템, 개인화 추천, 유사 이미지 검색 등 고도화된 AI 응용이 늘어날수록 벡터 DB의 활용도는 더 커질 것이다.
즉, 벡터 DB는 단지 새로운 종류의 데이터베이스가 아니라, 새로운 질의 방식에 대응하는 진화된 인프라라고 할 수 있다.