Vector Search medium
An internal knowledge base holds 300,000 embeddings of 1,536 dimensions and grows about 10% per year. A legal review requires that search never misses the true nearest documents. Traffic is a few queries per second. What should you choose?
- A Flat brute-force search on one node, which is exact and fast enough at this scale and needs no index build or tuning.
- B HNSW with a very high efSearch, which approaches 100% recall while keeping query latency in the single-digit milliseconds.
- C IVF-PQ with a large codebook, which keeps results exact while cutting the memory footprint by roughly an order of magnitude.
- D A disk-based graph index, since 300,000 high-dimensional vectors exceed what a single node can comfortably hold in RAM.
Answer: A. Flat brute-force search on one node, which is exact and fast enough at this scale and needs no index build or tuning.
300,000 vectors at about 6 KB each is roughly **1.8 GB**, and an exact scan at a few QPS is cheap. Flat search is exact and needs no index build or tuning. HNSW with a high efSearch is tempting, but it is still approximate and cannot *guarantee* that no true neighbor is missed. ANN indexes earn their complexity at tens of millions of vectors or under tight latency and QPS demands.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- You are building an IVF index on 20 million vectors. A teammate asks why the build needs a 'training' step before any vectors can be added. What is the reason?
- An HNSW index serves a marketplace where about 30% of listings are updated or removed each week. Each update is applied as a delete plus an insert, and deletes mark tombstones. Over a month, recall@10 drifts from 97% to 89% and p99 latency rises at the same ef_search. What is happening, and what should you do?
- Users delete documents in your primary database, but the deleted documents keep appearing in vector search results for hours. The vector index is rebuilt nightly. What is the best fix?
- Your embedding model outputs unnormalized vectors whose magnitudes vary widely. A teammate wants to switch the index from cosine similarity to dot product because it is cheaper to compute. What is the consequence?
- You are setting an SLO for a new ANN-backed recommendation search over 50 million vectors. A product manager asks for 100% recall@10 with single-digit millisecond latency. What is a realistic response?
- A B2B SaaS app serves 500 customers, and every query searches only one customer's documents. One large customer runs heavy batch queries that slow down search for everyone. Which sharding approach fits best?