alibaba/zvec

A lightweight, lightning-fast, in-process vector database

해결하는 문제

Zvec는 애플리케이션에 직접 라이브러리로 임베딩할 수 있는 가볍고 고성능인 벡터 데이터베이스를 제공합니다. 이를 통해 별도의 데이터베이스 서버를 관리하거나 복잡한 설정을 할 필요 없이 수십억 개의 벡터에 대해 저지연 유사성 검색을 가능하게 합니다.

작동 방식

Zvec는 독립형 서버가 아닌 임베딩 라이브러리로 작동하며, 애플리케이션 코드가 실행되는 곳(노트북 및 에지 디바이스 포함) 어디에서나 실행됩니다. 밀집(dense) 및 희소(sparse) 임베딩을 모두 지원하며, 메모리에서 디스크까지 확장 가능한 다양한 인덱스 유형을 제공합니다. 데이터 안전성을 보장하기 위해 영속성을 위한 Write-Ahead Logging(WAL)을 사용하며, 여러 프로세스가 동시에 동일한 컬렉션을 읽을 수 있도록 합니다.

대상 사용자

별도 서버의 오버헤드 없이 프로덕션급 유사성 검색 및 벡터 저장이 필요한 개발자, 특히 서버, CLI 도구 또는 에지 디바이스에서 실행되는 애플리케이션을 대상으로 설계되었습니다.

주요 특징

  • 하이브리드 검색: 벡터 유사성, 전체 텍스트 검색(FTS) 및 구조화된 필터를 단일 쿼리에 결합합니다.
  • 인프로세스 아키텍처: 서버 설정이 필요 없으며, 애플리케이션에 직접 임베딩되어 지연 시간을 최소화합니다.
  • 폭넓은 언어 지원: Python, Node.js, Go, Rust 및 Dart/Flutter용 공식 SDK를 제공합니다.
  • 고급 인덱싱: HNSW, HNSW-RaBitQ, DiskANN을 지원하며, 재현율(recall)을 높이기 위한 random rotation quantization과 같은 기능을 제공합니다.
  • 전체 텍스트 검색: Unicode 표준 토크나이저와 34개 이상의 언어 지원을 포함하는 네이티브 FTS 파이프라인을 포함합니다.