Vector database — это специализированное хранилище, которое держит объекты в виде числовых векторов и находит похожие по расстоянию между ними, а не по точному совпадению строк. Что это значит на практике: текст, картинку или аудио сначала прогоняют через модель-энкодер, получают эмбеддинг из сотен или тысяч чисел, и запрос ищется по близости этих чисел.
Основой такое хранилище становится там, где нужен семантический поиск и долгая память у AI-приложений: RAG-системы, чат-боты, рекомендации, поиск дубликатов. Внутри работает приближённый поиск ближайших соседей (ANN) с индексами вроде HNSW или IVF, а близость считают через косинусное расстояние или скалярное произведение. Готовые движки — Pinecone, Weaviate, Qdrant.
§ 01Зачем нужен
Обычная реляционная БД ищет по точному значению поля или по LIKE, а векторное хранилище отвечает на вопрос вида найди похожее по смыслу. Запрос преобразуют в эмбеддинг тем же энкодером, что и документы, и движок возвращает top-k ближайших векторов с оценкой близости. На этом строятся RAG (подмешивание релевантных фрагментов в промпт LLM), семантический поиск по базе знаний, дедупликация и рекомендации. Для чего нужно ещё: дать модели доступ к данным, которых не было в обучении, без дообучения.
§ 02Как устроен
Каждая запись — это вектор фиксированной размерности плюс метаданные и ссылка на исходный объект. Размерность задаёт модель: например, 384, 768 или 1536 чисел. Поиск по всем векторам напрямую (brute force) точен, но медленный, поэтому применяют приближённый ANN-индекс:
HNSW— граф ближайших соседей, быстрый отклик при высокой точности;IVF— разбиение на кластеры, поиск идёт только по нужным;PQ— сжатие векторов для экономии памяти.
Метрика близости — косинус, евклидово расстояние или dot product; она выбирается один раз под конкретные эмбеддинги.
поиск 900мс → 120мс — B2B SaaS база знаний на 2,1 млн документов перенесла семантический поиск на Qdrant с HNSW-индексом и эмбеддингами text-embedding-3-large. Латентность запроса упала с 900 до 120 мс за 5 недель. Замер через p95 в Grafana, точность top-5 выросла до 0,87.
релевантные ответы +38% — Медиахолдинг с архивом 400 тыс. статей внедрил RAG-память на Pinecone для чат-бота редакции вместо keyword-поиска в Elasticsearch. Доля релевантных ответов выросла на 38% за 3 месяца. Оценка по ручной разметке 500 запросов и метрике recall@10.
§ 03Как настраивается
Старт одинаков у большинства движков: создать коллекцию (index), указать размерность вектора и метрику расстояния. Дальше данные загружают операцией upsert — вектор, его id и метаданные одним объектом. К каждой записи крепят фильтры (например, lang или user_id), чтобы сузить выдачу до релевантного набора ещё до расчёта близости. Эмбеддинги считают отдельным сервисом-энкодером; критично держать одну и ту же модель на индексации и на запросе, иначе векторы окажутся в разных пространствах и близость потеряет смысл.
§ 04Подводные камни
Смена модели-энкодера обесценивает старые данные: придётся переиндексировать всю базу, потому что новые и старые векторы несравнимы. ANN-индекс возвращает приближённый результат — часть по-настоящему близких объектов может не попасть в top-k, и это регулируют параметрами вроде ef_search у HNSW, балансируя скорость и полноту. Чистый векторный поиск проседает на точных совпадениях, артикулах и редких терминах, поэтому его комбинируют с обычным полнотекстовым в гибридную схему. Отдельно растёт цена памяти: миллионы векторов по 1536 чисел требуют либо сжатия через PQ, либо шардирования.