Milvus는 대규모 벡터(embedding) 데이터를 빠르게 저장하고 검색할 수 있도록 설계된 고성능 오픈소스입니다.
-
10억 개 이상의 벡터도 빠르게 처리 -
AI/ML, 추천 시스템, 유사 이미지 검색에 최적 -
GPU·CPU 가속 및 분산 확장 지원 -
Apache 2.0 라이선스로 자유롭게 사용 가능
1. 주요 기능
-
유형 지원: 부동소수점(FP32, FP16, BF16), 바이너리 벡터, 희소 벡터, JSON, 배열 등 다양한 데이터 타입을 지원
-
인덱스: FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, HNSW, ANNOY, DiskANN, GPU 지원 그래프 인덱스 등 폭넓은 선택이 가능
-
거리 측정: 유클리드, 내적, 코사인, 햄밍, 자카드, Tanimoto 등 다양한 메트릭 지원 .
-
CRUD + 메타 필터링: 벡터뿐 아니라 스칼라 속성과 하이브리드 검색(메타 필터링 + 벡터 검색)을 지원합니다 .
2. 아키텍처 및 스케일링
-
클라우드 네이티브 설계: 스토리지와 컴퓨트 분리, 무상태(stateless) 컴포넌트 설계, Kubernetes 기반 확장, 디스크 및 메모리 인덱싱, 스트리밍 데이터 처리 구조로 구성.
-
하드웨어 최적화: CPU의 SIMD(AVX512 등), GPU 가속, 하드웨어 가속 인덱스 기술을 적극 활용.
-
신뢰성 및 데이터 일관성: 복제, 샤딩, WAL(log broker), 메타데이터 백엔드 포함, 강한 일관성과 장애 회복 등을 보장.
3. 개발자 도구 및 에코시스템
-
클라이언트 SDK: PyMilvus, Node.js, Go, Java 공식 지원, C# SDK도 기여됨.
-
관리 도구: CLI, GUI 관리자 Attu, 데이터 마이그레이션 툴(MilvusDM), 사이징 툴 등 포함.
-
통합 생태계: Prometheus·Grafana 모니터링, LangChain, Hugging Face, OpenAI, Haystack, IBM Watsonx 등과 연동.
4. 사용 사례
-
이미지·비디오·오디오 유사도 검색
-
추천 시스템, QA 챗봇, DNA 및 분자 구조 검색
-
화학 구조 비교, 생물 인증 등의 분야에서 널리 활용
