여러 Index 유형에 대한 Milvus 지원
Milvus는 유사도 검색 및 AI 애플리케이션을 위한 최첨단 기능을 갖춘 오픈 소스 벡터 데이터베이스입니다. Milvus의 핵심 기능 중 하나는 다양한 Index 유형을 지원한다는 점입니다. Index는 데이터 쿼리 및 검색을 최적화하는 데 도움이 됩니다.
Index 유형
현재 Milvus는 여덟 가지 유형의 Index를 지원합니다:
- FLAT: FLAT은 소규모, 백만 단위 데이터셋에서 완벽하게 정확하고 정밀한 검색 결과(100% recall rate)를 원하는 시나리오에 가장 적합합니다. FLAT은 벡터를 압축하지 않으며, 정확한 검색 결과를 보장하는 유일한 인덱스입니다. FLAT의 결과는 100% 미만의 recall을 가진 다른 인덱스가 생성한 결과와 비교하는 기준점이 될 수 있습니다.
- IVF_FLAT: IVF_FLAT은 정확도와 쿼리 속도 사이의 이상적인 균형을 원하는 시나리오(100,000개 미만의 항목을 가진 저차원 데이터)에 가장 적합한 양자화 기반 인덱스입니다. IVF_FLAT은 벡터 데이터를 클러스터로 나누고, 대상 입력과 가장 유사한 클러스터(들)의 벡터 간 비교를 기반으로 유사도 검색 결과를 반환하는 시스템입니다. IVS_FLAT은 쿼리되는 클러스터 수를 고려할 때 쿼리 시간을 크게 줄입니다. IVF_FLAT은 어떤 압축도 수행하지 않으므로, 생성되는 인덱스 파일의 크기는 원본의 원시 비인덱싱 벡터 데이터와 대략 동일하다는 점에 유의하세요.
- IV_SQ8: IVF_SQ8은 양자화 기반 인덱스이며, 이러한 리소스가 제한된 상황에서 디스크, CPU 및 GPU 메모리 사용량을 크게 줄이고자 하는 시나리오에 가장 적합합니다. IV_SQ8은 스칼라 양자화를 수행하여 각 FLOAT(4바이트)를 UINT8(1바이트)로 변환함으로써 이를 달성할 수 있습니다. IV_SQ8 인덱스는 100,000개 미만의 항목을 가진 저차원 데이터 시나리오에 적합합니다.
- HNSW Index: Hierarchical Navigable Small World (HNSW)는 높은 검색 효율성이 요구되는 시나리오에 가장 적합한 그래프 기반 인덱스입니다. 이 Index는 벡터를 인덱싱하기 위해 트리와 같은 구조를 생성합니다. 따라서 데이터셋이 매우 크고(차원이 많은 대규모 데이터셋) 빠른 검색이 필요할 때 유용합니다. 특정 규칙에 따라 이미지에 대한 다층 탐색 구조를 구축합니다. 이 구조에서 상위 계층은 더 희소하고 노드 간 거리는 더 멀며, 하위 계층은 더 조밀하고 노드 간 거리는 더 가깝습니다. 검색은 최상위 계층에서 시작하여 이 계층에서 대상에 가장 가까운 노드를 찾은 다음, 다음 계층으로 들어가 또 다른 검색을 시작합니다. 여러 번의 반복 후 대상 위치에 빠르게 접근할 수 있습니다.
- IVF_PQ: IVF_PQ는 정확도를 희생하더라도 고차원 데이터의 높은 쿼리 속도를 원하는 시나리오에 가장 적합한 양자화 기반 인덱스입니다. 고차원 벡터 공간을 저차원 벡터 공간의 Cartesian products로 균등하게 분해한 다음, 저차원 벡터 공간을 양자화합니다. Product quantization은 대상 벡터와 각 저차원 공간의 클러스터링 중심 간 거리를 계산하여 시간 및 공간 복잡도를 줄입니다. IVF_PQ 인덱스 파일은 IVF_SQ8보다 더 작습니다(그리고 정확도는 더 낮습니다).
- ANNOY: ANNOY는 높은 recall rate를 원하는 시나리오에 가장 적합한 트리 기반 인덱스입니다. 고차원 데이터셋(100만 개 미만의 항목)에서(그리고 유사한 벡터를 검색할 때) 유용합니다.
- BIN_FLAT: 이 Index는 100,000개 미만의 항목을 가진 저차원 데이터에 적합합니다. 이 인덱스는 BIN_FLAT이 바이너리 임베딩에 사용된다는 점을 제외하면 FLAT과 동일합니다.
- BIN_IVF_FLAT: 이 Index는 유사한 벡터를 검색할 때 1,000만 개 미만의 항목을 가진 고차원 데이터 데이터셋에 적합합니다. 이 인덱스는 BIN_IVF_FLAT이 바이너리 임베딩에 사용된다는 점을 제외하면 FLAT과 동일합니다.
결론
Milvus는 다양한 사용 사례에 맞게 데이터 쿼리 및 검색을 최적화하는 데 도움이 되는 여러 Index 유형을 지원합니다. 적절한 Index 유형을 선택하면 애플리케이션의 검색 성능을 크게 향상시킬 수 있습니다.
특정 사용 사례에 어떤 Index 유형을 사용해야 할지 아직 결정 중이라면, 다양한 Index를 시도해 보고 성능을 비교해 보는 것이 좋습니다. Milvus는 적절한 Index 유형과 구성을 통해 AI 애플리케이션에 매우 빠른 검색 성능을 제공할 수 있습니다.
다음 단계
- Milvus를 다운로드하고 시작하기
- Milvus Index 유형에 대해 자세히 읽어보기
- 이 논문에서 Milvus 벤치마크 확인하기
계속 읽기

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

Announcing the General Availability of Single Sign-On (SSO) on Zilliz Cloud
SSO is GA on Zilliz Cloud, delivering the enterprise-grade identity management capabilities your teams need to deploy vectorDB with confidence.



