altor-vec vs milvus

altor-vec vs Milvus — Client-Side vs Distributed Vector Database

Milvus is an open-source distributed vector database built for billion-scale server-side workloads. altor-vec is a 54KB WASM library that runs semantic search entirely in the browser with no server required. They are different tools solving different problems — but both appear when developers search for "vector search for JavaScript."

Install altor-vec: npm install altor-vec  |  No server, no configuration, no API keys.

Feature comparison

Capabilityaltor-vecMilvus
Runs in browserYes — 54KB WASMNo
Server requiredNoYes — etcd, MinIO, Milvus nodes
Setup time< 2 minutesHours (Docker Compose or Kubernetes)
Max corpus size~100K vectors (browser memory)Billions of vectors
Concurrent writesBatch only (on deploy)Continuous, high-throughput
FilteringPost-search metadata filterRich structured filtering at query time
CostZero API cost — compute is client-sideInfrastructure cost (self-hosted or Zilliz Cloud)
PrivacyData never leaves the browserServer-side — data in your infrastructure
TypeScriptFull type supportPython-first; JS SDK available
OfflineYes — works without networkNo

Code comparison

altor-vec (browser, no server)

import init, { WasmSearchEngine } from 'altor-vec';

await init();
const engine = WasmSearchEngine.from_vectors(vectors, 384, 16, 200, 50);
const results = JSON.parse(engine.search(queryVector, 5));

Milvus (server-side)

import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({ address: 'localhost:19530' });
await client.search({
  collection_name: 'docs',
  vectors: [queryVector],
  limit: 5,
  output_fields: ['title', 'content'],
});

The code difference reflects the architecture: altor-vec initializes locally and queries locally. Milvus requires a running server, collection management, and network round-trips. For a public documentation search or product catalog, altor-vec ships 10x faster with zero operational cost. For a shared AI platform with millions of private vectors and concurrent writes from multiple services, Milvus is the right foundation.

When to choose each

Choose altor-vec when: You need semantic search in a JavaScript/TypeScript application, your corpus is public or device-local, you want zero backend infrastructure, and your dataset fits in browser memory (up to ~100K vectors).

Choose Milvus when: You need billion-scale vector storage, concurrent writes from multiple services, complex structured filtering at query time, or centralized vector infrastructure shared across multiple applications.

The hybrid approach

Many teams use both: altor-vec for public documentation search (shipped as a static asset, works offline, zero cost), and Milvus for private knowledge bases, recommendation engines, or AI features that require centralized data with access control. The boundary is usually: can the browser hold this data? If yes, altor-vec. If not, Milvus.

Try it: npm install altor-vec — semantic search in your browser in under 5 minutes. No Kubernetes required.