0441f6e2a2
- Formalized automatic record migration protocol in System Manual. - Integrated high-density knowledge for RAG, AI, Business Strategy, and Leadership. - Enhanced graph connectivity across core strategic hubs. - Archived raw data and updated timeline records.
20 lines
4.8 KiB
Markdown
20 lines
4.8 KiB
Markdown
# [[Vector Database]]
|
|
|
|
## 📌 Brief Summary
|
|
벡터 데이터베이스(Vector Database)는 머신러닝 모델이 생성한 고차원 벡터 임베딩을 효율적으로 저장, 처리, 색인하도록 설계된 특수 저장 시스템이다 [1, 2]. 전통적인 데이터베이스와 달리, 이 시스템은 정확한 키워드 일치가 아닌 코사인 유사도나 유클리드 거리 같은 수학적 거리 지표를 활용하여 데이터 간의 의미적 유사성을 비교한다 [3, 4]. 이를 통해 텍스트, 이미지, 오디오 등 방대한 비정형 데이터에 대해 빠르고 정확한 근사 최근접 이웃(ANN) 검색을 수행하여 사용자의 검색 의도를 파악할 수 있게 해준다 [2, 3, 5].
|
|
|
|
## 📖 Core Content
|
|
* **고차원 데이터의 인덱싱 및 저장**: 벡터 데이터베이스는 텍스트나 이미지 등의 비정형 데이터를 수백, 수천 개의 숫자로 이루어진 다차원 공간의 벡터 임베딩으로 변환하여 저장 및 색인한다 [5-7].
|
|
* **특화된 벡터 인덱스 유형**: 대규모 데이터셋에서 빠르고 효율적인 검색을 지원하기 위해 특수한 인덱스 구조를 사용한다. 대표적으로 완벽한 정확도를 제공하지만 소규모 데이터에 적합한 'Flat index(무차별 대입 검색)', 속도와 정확도의 균형을 맞춘 'HNSW(Hierarchical Navigable Small World)', 해싱을 이용해 유사 벡터를 군집화하는 'LSH(Locality Sensitive Hashing)', 데이터를 클러스터로 분할하는 'IVF(Inverted File Index)', 그리고 메모리 사용량을 줄이기 위해 벡터를 압축하는 'PQ(Product Quantization)' 등이 있다 [2, 4, 8].
|
|
* **유사도 측정 메커니즘**: 쿼리 벡터와 문서 벡터 간의 유사성을 정량화하기 위해 수학적 거리 지표를 사용한다. 주로 벡터 간의 각도를 평가하여 방향적 일치성을 포착하는 코사인 유사도(Cosine Similarity), 두 점 사이의 직선 거리를 측정하는 유클리드 거리(Euclidean Distance), 기계학습 모델에서 관련성을 측정할 때 자주 쓰이는 내적(Dot Product) 방식을 활용하여 가장 가까운 이웃(Nearest Neighbors)을 찾아낸다 [3-5].
|
|
* **엔터프라이즈 AI 및 RAG의 핵심 인프라**: Pinecone, Weaviate, FAISS, Milvus 등 다양한 벡터 데이터베이스는 대규모 확장이 가능하며, 100ms 미만의 쿼리 지연 시간과 수십억 개의 벡터에 대한 수평적 확장성을 지원한다 [3, 9]. 대형 언어 모델(LLM)의 환각 현상을 줄이기 위한 RAG(검색 증강 생성) 아키텍처에서, 질문과 가장 의미가 유사한 문서 조각(Chunk)을 신속하게 검색하여 LLM에 제공하는 정보 검색 계층으로 작동한다 [1, 9, 10].
|
|
|
|
## ⚖️ Trade-offs & Caveats
|
|
* **차원의 저주와 컴퓨팅 비용**: 벡터 데이터베이스는 고차원 데이터를 다루기 때문에 기존 키워드 검색보다 훨씬 더 많은 컴퓨팅 리소스를 필요로 한다 [11, 12]. 차원 수가 증가할수록 벡터 거리를 계산하는 비용이 기하급수적으로 상승하여 검색 성능이 저하되는 '차원의 저주'가 발생할 수 있으며, 이를 완화하기 위해 차원 축소나 벡터 양자화 같은 손실(Lossy) 압축 기술이 요구된다 [12].
|
|
* **가비지 컬렉션(Garbage Collection)의 어려움**: 관계형 데이터베이스와 달리, 객체나 값이 변경될 때 인덱스에서 폐기된 정보를 찾아 제거하고 최신 상태로 유지하는 과정이 벡터 인덱스에서는 지속적인 기술적 난제로 작용한다 [12].
|
|
* **콜드 스타트(Cold Start) 문제**: 데이터셋에 새로운 항목이 도입될 때, 해당 항목에 대한 잘 정의된 벡터 표현이 없거나 유사도 계산에 사용할 데이터가 부족하여 정확하게 유사 항목을 식별하기 어려운 한계가 존재한다 [12].
|
|
* **해석 가능성(Interpretability)의 부족**: 벡터 표현은 인간이 직관적으로 읽고 이해할 수 없는 숫자의 배열이므로, 왜 특정 항목들이 유사한 것으로 분류되어 검색되었는지 그 근거를 파악하기 매우 어렵다 [12]. 이는 의료나 법률 등 AI의 결정에 대한 설명 가능성(Explainability)이 필수적인 도메인에서는 치명적인 제약이 될 수 있다 [12].
|
|
* **임베딩 모델 품질에 대한 높은 의존성**: 벡터 데이터베이스의 검색 성능은 데이터를 벡터화하는 기반 임베딩 모델의 품질에 절대적으로 의존한다 [12]. 모델이 항목의 실제 속성과 의미를 제대로 포착하지 못하여 '의미적 간극(Semantic Gap)'이 발생하거나, 학습 데이터에 내재된 편향을 그대로 물려받을 경우 부정확하고 편향된 결과를 반환하게 된다 [12, 13].
|
|
|
|
---
|
|
*Last updated: 2026-05-04* |