c6id.4xlarge node against standard Approximate Nearest Neighbor (ANN)
datasets. You can reproduce them, or run the same measurements against your own data, with
Vector Bench.
All latencies were recorded at a steady-state query throughput of 32 queries/s
at 90% recall (SIFT 1M was recorded at 97% recall). Reported ingestion
throughput is the steady-state throughput for each dataset in isolation.
Query latency
Here is the query latencies for different standard vector data sets, split by cold and warm latency.
Warm and cold query latency, and ingest throughput, across standard ANN datasets.
For cold queries, tail latency is dominated by the slowest time to fetch a
posting list from S3. For warm queries against small datasets, all postings sit
in the in-memory cache, so latency reflects how fast Vector loads postings and
scores candidates. Larger datasets score more postings to reach high recall, and
some of those reads come from local disk cache, which adds delay.
Ingest throughput
Vector sustains between ~1K and ~12K vector writes/second, depending on dataset size and vector dimensions. Re-ingesting the full SIFT 100M dataset took ~6 hours at a stable rate without significant stalls, demonstrating that the LIRE compaction protocol ingests incrementally.
Trailing 5-minute ingest throughput while re-ingesting the Sift100M dataset (~6 hours).
Cost
Vector serves 100M vectors for roughly $346/month of compute (1×c6id.4xlarge on a 1-year reservation):
S3 charges sit outside the compute figure but stay small: Vector batches writes
into roughly one SlateDB write per second.
Run it on your own data
The benchmark harness is open source:vector/bench/
in the OpenData repository.
Vector Bench runs each dataset through three independent phases, since Vector’s
design fully decouples read and write workloads so you can capacity-plan them
separately:
Included datasets
You can also point the benchmark at your own data in
fvecs, bvecs, or
parquet format. The simplest way to start is the 100K-vector SIFT subset that
ships in the repo: