서버 없이 앱 안에 심는 벡터 데이터베이스로 로컬 유사도 검색을 가능하게 하는 도구
코드를 실행하는 곳 어디든, 서버를 띄우지 않고도 수십억 개의 벡터를 밀리초 단위로 검색할 수 있습니다. Zvec는 애플리케이션 프로세스 안에 직접 삽입되는 경량 벡터 데이터베이스로, 복잡한 인프라 설정 없이도 유사도 검색과 전문 검색을 동시에 수행합니다. 최근 v0.8.0 버전에서는 인텔 맥과 윈도우 ARM64 지원이 추가되고, 중국어 전문 검색이 별도 사전 없이 바로 사용 가능해졌습니다.
v0.8.0에서 달라진 점
이번 업데이트는 플랫폼 지원 범위를 넓히는 데 초점을 맞췄습니다. 인텔 기반 맥과 윈도우 ARM64 환경에서 빌드와 SDK를 사용할 수 있게 되었고, DiskANN 인덱스는 윈도우, 안드로이드, iOS까지 확장되었습니다. 특히 중국어 전문 검색에 Jieba 사전과 HMM 모델이 기본 내장되어, 별도 사전 파일이나 경로 설정 없이 바로 사용할 수 있습니다. 또한 IVF와 DiskANN 인덱스 생성 시 피크 메모리 사용량이 줄었고, HNSW RaBitQ 구성 속도가 벡터 재사용과 배치 조회를 통해 빨라졌습니다.
벡터와 텍스트를 한 번에 검색하는 방식
Zvec는 밀집 벡터와 희소 벡터를 모두 지원하며, 메모리부터 디스크까지 확장 가능한 다양한 인덱스 유형을 제공합니다. 벡터 유사도 검색만 하는 것이 아니라, 자연어 또는 구조화된 표현으로 문자열 필드를 검색하는 전문 검색을 네이티브로 지원합니다. 이 두 가지와 구조화된 필터를 하나의 쿼리에서 결합해 하이브리드 검색을 수행할 수 있습니다. 쓰기 우선 로깅을 통해 프로세스 충돌이나 정전 시에도 데이터가 유실되지 않도록 보장하며, 여러 프로세스가 동시에 읽기만 하는 경우 동시 접근이 가능합니다.
설치와 시작하기
Python, Node.js, Go, Rust, Java, Dart/Flutter 등 여러 언어의 공식 SDK를 제공합니다. Python은 64비트 Python 3.10~3.14, Java는 Java 8 이상을 요구합니다. Python으로 시작하려면 pip install zvec 명령으로 설치한 뒤, 컬렉션 스키마를 정의하고 데이터를 삽입한 후 유사도 쿼리를 실행하면 됩니다. 코드나 문서를 검색하는 용도로는 ripgrep, BM25, 벡터 검색을 통합한 로컬 우선 CLI 도구인 zvec-grep(zg)을, 시각적으로 데이터를 탐색하고 쿼리를 디버깅하려면 코딩 없이 사용할 수 있는 Zvec Studio를 활용할 수 있습니다.
어디서든 실행되는 인-프로세스 구조
Zvec는 서버가 아닌 라이브러리 형태로 동작하므로, 코드가 실행되는 모든 곳에서 사용할 수 있습니다. 노트북, 서버, CLI 도구, 심지어 엣지 디바이스까지 포함됩니다. Linux, macOS, Windows, Android, iOS 등 주요 플랫폼을 모두 지원합니다. 이러한 구조 덕분에 외부 네트워크 의존성 없이 로컬에서 즉시 검색을 시작할 수 있으며, 설정 과정이 최소화되어 있습니다.
사용 전 확인해야 할 사항
Zvec는 알리바바 그룹 내에서 검증된 프로덕션급 성능을 지향하지만, 특정 환경에서의 최적화는 여전히 진행 중입니다. Uniform 양자화를 사용하면 점수 재구성을 피할 수 있지만, 공유 min/max 범위로 인해 양자화 오류가 증가하고 리콜이 감소할 수 있습니다. 라이선스 세부 사항이나 장기적인 지원 범위에 대한 명시적인 언급은 README에 없으므로, 상용 프로젝트 적용 전에는 공식 문서와 릴리스 노트를 추가로 검토해야 합니다.