RAG 기반의 검색 시스템을 만드는 프로젝트를 진행하면서 어떤 벡터 DB를 사용할까, 그 검색 방식은 어떤 것일까를 고민하게 되면서 공부했던 부분들을 정리해보고자 한다. 기본적으로 내가 선택한 DB는 Qdrant였고, 이는 기본적으로 HNSW 방식을 기반으로 벡터 검색을 수행한다. (현재 대부분의 벡터 DB인 Milvus, Pinecone 등은 거의 대부분 HNSW 알고리즘을 핵심 인덱싱 엔진으로 채택하고 있음) 그렇다면 HNSW라는 게 도대체 뭘까? HNSW(Hierarchical Navigable Small World) 알고리즘은 고차원 벡터 데이터에서 근사 최근접 이웃(ANNs, Approximate Nearest Neighbor Search)을 빠르고 정확하게 찾아내기 위해 설계된 대표적인 그래프..