2 / 28
Как устроены векторные базы данных внутри: индексы HNSW, IVF, PQ и метрики сходства?
Векторная БД — это, по сути, ANN-индекс плюс хранилище эмбеддингов и метаданных. Поиск похожих векторов на миллионах точек делает не брутфорс, а приближённый поиск ближайших соседей (ANN): HNSW (многослойный граф), IVF (кластеризация centroids) и PQ (product quantization для сжатия в десятки раз). Метрика сходства выбирается под эмбеддинги: cosine для нормализованных текстовых embeddings, dot product когда длина вектора несёт смысл, L2 для геометрии. Главный tradeoff — recall vs latency: ef_search крутит точность против скорости. Для <100k векторов хватает numpy / faiss flat; выше — нужна dedicated БД.