Do you need a vector database? Tested at 1M vectors

Exact search over 100,000 vectors of 384 dimensions took about 3.4 ms and over 1,000,000 vectors about 34.6 ms on an Apple M2, with perfect recall and no index.

An HNSW index was 14 to 47 times faster at 1,000,000 vectors, but recall at 10 fell to between 0.32 and 0.70 on synthetic data, so tuning ef_search and measuring recall is essential.

Memory drives the cost: one million 1,536-dimension vectors need about 6.1 GB before any index, so start with Postgres and pgvector and move to a dedicated engine only when your own test shows a gap.

Read the full post

Read the full post