SereneDB vs Qdrant — vector search benchmark

Head-to-head ANN comparison on the Yandex Text-to-Image dataset: SereneDB's IVF index (optionally quantized) against Qdrant's HNSW index, same base vectors, queries, and ground truth.

Loading run metadata…

How to read these charts

Recall vs. QPS

For each recall@10 band, the best achievable query throughput at 32 concurrent clients. Y-axis is log-scaled — at high recall, QPS drops by an order of magnitude for both engines.

Show data table
Winning configuration per recall band, both engines.

Build time

Time to a queryable index, shown separately per engine (see caveat above on why these aren't overlaid).

SereneDB — by quantizer

CREATE INDEX time, with the final VACUUM (COMPACT_TABLE) merge stacked on top. nlist_factor=2 (6,325 cells).

Show data table
SereneDB build time (seconds) by quantizer: index build + compact merge.

Qdrant — by (m, ef_construct)

HNSW graph construction time; full precision vs. scalar quantization.

Show data table
Qdrant build time (seconds) by (m, ef_construct, quant).

Index size

On-disk footprint, shown separately per engine.

SereneDB index size

Includes the base-table columnstore copy of the vectors. nlist_factor=2 (6,325 cells).

Show data table
SereneDB index size (MB) by quantizer and segment-merge policy.

Qdrant index size

Index-only footprint; full precision vs. scalar quantization.

Show data table
Qdrant index size (MB) by (m, ef_construct, quant).