milvus: 무엇인지, 어떤 문제를 해결하며, 왜 인기를 얻고 있는지
milvus: 무엇인지, 어떤 문제를 해결하며, 왜 인기를 얻고 있는지
해결하는 문제
Milvus는 텍스트, 이미지, 멀티모달 정보와 같은 방대한 양의 비정형 데이터를 정리하고 검색하기 위해 설계된 고성능 벡터 데이터베이스입니다. AI 애플리케이션을 위한 벡터 검색의 확장성 문제를 해결하여, 개발자가 수십억 개의 벡터와 수만 개의 쿼리를 높은 가용성으로 처리할 수 있도록 합니다.
작동 방식
Go와 C++로 작성된 Milvus는 컴퓨팅과 스토리지를 분리하는 분산형 K8s-native 아키텍처를 사용합니다. 이를 통해 읽기를 위한 쿼리 노드나 쓰기를 위한 데이터 노드를 독립적으로 늘려 수평적 확장이 가능합니다. HNSW, IVF, DiskANN과 같은 다양한 벡터 인덱스 유형을 지원하며, CPU와 GPU 모두에 대한 하드웨어 가속을 활용하여 검색 성능을 최적화합니다. 또한, 의미론적 검색을 위한 밀집 벡터(dense vectors)와 전체 텍스트 검색(BM25)을 위한 희소 벡터(sparse vectors)를 결합한 하이브리드 검색 방식을 지원합니다.
대상 사용자
Retrieval-Augmented Generation (RAG) 시스템, 이미지 및 텍스트 검색 엔진, 추천 시스템과 같은 미션 크리티컬한 애플리케이션을 구축하는 AI 개발자와 기업을 위해 구축되었습니다.
주요 특징
- 분산 확장성: Kubernetes에서 수평적 확장을 위해 컴퓨팅과 스토리지를 분리합니다.
- 하드웨어 가속: 최상의 검색 성능을 위해 CPU/GPU 가속을 구현합니다.
- 하이브리드 검색: 의미론적 검색과 전체 텍스트 검색을 결합하기 위해 밀집 벡터와 희소 벡터를 모두 기본적으로 지원합니다.
- 유연한 스토리지: 성능과 비용의 균형을 맞추기 위해 핫/콜드 스토리지 메커니즘을 제공합니다.
- 기업용 보안: 필수 인증, TLS 암호화 및 역할 기반 액세스 제어(RBAC)를 포함합니다.
Sources
- undefinedmilvus-io/milvus