벡터 데이터베이스 (vector database)

컴퓨터과학·AI
한 줄 정의: 텍스트나 이미지를 숫자 벡터로 바꿔 저장해두고, "의미가 비슷한 것"을 빠르게 찾아주는 데이터베이스입니다.

쉽게 풀면

도서관에서 책을 제목의 알파벳 순서로 찾는 대신, "내용이 비슷한 책"끼리 가까운 책장에 꽂아두고 찾는다고 생각해봅시다. 벡터 데이터베이스는 문장이나 이미지를 임베딩(숫자 벡터)으로 변환한 뒤, 벡터끼리의 거리(유사도)를 계산해서 "의미상 가장 가까운 것"을 순식간에 찾아줍니다. 수백만 개의 문서 중에서 질문과 가장 관련 있는 문단을 찾아내는 식으로 동작합니다.

왜 중요한가

대규모 언어 모델은 학습 시점 이후의 정보나 특정 조직의 내부 문서를 알지 못하기 때문에, 최신 정보를 외부에서 가져와 답변에 반영하는 검색증강생성 구조가 널리 쓰입니다. 벡터 데이터베이스는 이 구조에서 "관련 있는 정보를 빠르게 찾아오는" 핵심 부품 역할을 하며, 그 검색 품질이 최종 답변의 정확도와 신뢰성에 직접 영향을 미칩니다. 이 때문에 자연어처리뿐 아니라 추천시스템, 이미지 검색 등 다양한 분야의 논문에서 벡터 데이터베이스의 구조와 성능이 함께 다뤄집니다.

논문에서는 이렇게 쓰입니다

"질의문을 임베딩 벡터로 변환한 뒤 벡터 데이터베이스에서 코사인 유사도 기준 상위 5개 문서를 검색하였다."

이 문장은 사용자의 질문을 벡터로 바꾸고, 미리 저장해둔 문서 벡터들과 비교해서 가장 유사한 문서 5개를 찾아냈다는 뜻입니다. 이렇게 찾은 문서는 흔히 검색 증강 생성의 입력으로 활용됩니다.

"제품 이미지 임베딩을 벡터 데이터베이스에 색인하여, 사용자가 업로드한 이미지와 유사한 상품을 실시간으로 추천하는 파이프라인을 구축하였다."

이 문장은 이미지 검색이나 추천시스템 분야에서 벡터 데이터베이스가 텍스트가 아닌 이미지 임베딩을 다루는 데도 쓰인다는 것을 보여줍니다.

"환자 진료 기록의 임베딩을 벡터 데이터베이스에 저장하고, 유사 증례를 검색하여 진단 보조 정보로 제공하였다."

의료 분야 논문에서도 과거 유사 사례를 빠르게 찾아 참고 자료로 활용하는 방식으로 벡터 데이터베이스가 응용됩니다.

조금 더 깊게 보면

실제 논문에서는 벡터 데이터베이스의 성능을 이야기할 때 HNSW, IVF 같은 근사 최근접 이웃(ANN) 인덱싱 알고리즘의 이름이 자주 등장합니다. 이들은 모든 벡터와 일일이 거리를 계산하는 대신, 그래프나 클러스터 구조를 미리 만들어두고 탐색 범위를 줄여 검색 속도를 높이는 방식입니다. 이 과정에서 정확도(재현율)와 속도는 서로 트레이드오프 관계에 있으며, 논문에서는 이 균형을 조정하는 하이퍼파라미터와 그에 따른 성능 변화를 함께 보고하는 경우가 많습니다.

주의할 점

벡터 데이터베이스는 단순히 벡터를 저장만 하는 것이 아니라, 대규모 벡터 중에서도 유사한 것을 빠르게 찾아내는 근사 최근접 이웃(ANN) 검색 구조가 핵심입니다. 벡터 자체가 무엇을 의미하는지는 임베딩 과정에서 결정되므로, 검색 품질은 좋은 임베딩 모델에 크게 좌우됩니다.

관련 용어