vearch/vearch
Distributed vector search for AI-native applications
What it solves
Vearch는 AI 애플리케이션에 필수적인 임베딩 벡터의 유사도 검색을 효율적으로 처리하도록 설계된 클라우드 네이티브 분산 벡터 데이터베이스를 제공합니다. 수백만 개 객체에서 빠르게 검색하고, 분산 환경에서 확장성과 신뢰성을 유지할 필요성을 해결합니다.
How it works
Vearch는 세 가지 주요 구성 요소로 이루어진 분산 아키텍처를 사용합니다:
- Master: 스키마, 클러스터 수준 메타데이터 및 리소스 조정을 관리합니다.
- Router: RESTful API 요청(upsert, delete, search, query)을 처리하고, 요청을 라우팅하며 결과를 병합합니다.
- PartitionServer (PS): Raft 기반 복제를 통해 문서 파티션을 저장합니다. Faiss 기반의 핵심 벡터 검색 엔진인 "Gamma"를 활용해 벡터와 스칼라를 저장, 인덱싱 및 검색합니다.
Who it’s for
대규모 메모리 백엔드가 필요한 AI 애플리케이션을 개발하는 개발자를 위해 설계되었습니다. Langchain, LlamaIndex를 사용하거나 대규모 시각 검색 시스템을 구축하는 경우에 적합합니다.
Highlights
- Hybrid Search: 벡터 유사도 검색과 스칼라 필터링을 모두 지원합니다.
- High Performance: 수백만 개 객체에서 밀리초 단위로 결과를 검색할 수 있습니다.
- Scalability: 복제와 탄력적인 스케일 아웃 기능을 제공합니다.
- Broad Integration: Python, Go, Java, Rust용 SDK를 제공하며, Langchain 및 LlamaIndex와 같은 인기 프레임워크와 통합됩니다.