Векторная база данных

Хранилище, оптимизированное под быстрый поиск ближайших векторов — основа RAG-систем и семантического поиска.

КРАТКО
Векторная база данных хранит эмбеддинги и умеет быстро отвечать на вопрос «какие N векторов ближе всего к данному». Это базовая инфраструктура для семантического поиска, RAG, рекомендаций и поиска похожих объектов. Под капотом — специальные индексы вроде HNSW или IVF. Примеры — Pinecone, Weaviate, Qdrant, pgvector, Milvus, Chroma.
СИНОНИМЫ:векторная база данныхвекторная БДвекторное хранилищеVector database

Обычная база данных хорошо ищет по точным совпадениям и числовым диапазонам. Векторная база заточена под другой вопрос: «найди ближайшие точки к моему запросу в многомерном пространстве».

Что внутри

  • Векторы фиксированной размерности (например, 768 или 1536).
  • Метаданные: к какому документу относится вектор, какие у документа метки и атрибуты.
  • Специальный индекс для приближённого поиска ближайших соседей (ANN).
  • Фильтры по метаданным, чтобы сужать поиск (например, только документы своего отдела).

Что выбирают

  • Pinecone, Weaviate, Qdrant, Milvus, Chroma — самостоятельные векторные базы.
  • pgvector — расширение PostgreSQL, удобно, если хочется одно решение для всех данных.
  • Elasticsearch, OpenSearch — поддерживают векторный поиск рядом с обычным.
КОГДА ПРИМЕНЯТЬ
  • Строите RAG поверх своих документов
  • Нужен семантический поиск или сравнение объектов по смыслу
  • Хотите делать рекомендации «похожие на это»
КОГДА НЕ СТОИТ
  • Маленький объём данных, который помещается в обычный массив в памяти
  • Задача чисто полнотекстового поиска без разбора смысла
ПРИМЕР

Документация продукта на 10 000 страниц разбита на куски примерно по 500 токенов. Каждому куску посчитан эмбеддинг и записан в векторную базу вместе со ссылкой на исходный раздел. Когда сотрудник пишет ассистенту «как настроить уведомления», система за миллисекунды находит 5 наиболее близких кусков и отдаёт их большой языковой модели для подготовки ответа.

КАК ИСПОЛЬЗОВАТЬ В SHTAB

Если только начинаете и не уверены в нагрузке — берите pgvector внутри PostgreSQL, которая у вас уже есть. Так не придётся поднимать новый сервис, настраивать резервные копии и осваивать отдельный язык запросов. Перейти на самостоятельную векторную базу можно потом, когда упрётесь в потолок производительности.

Попробовать бесплатно

Вопросы про «Векторная база данных»

Для небольших проектов — вполне. Эмбеддинги можно держать в обычной таблице и считать косинусную близость на лету. С ростом объёма такой перебор становится слишком медленным, и тогда нужен либо специализированный движок, либо расширение pgvector поверх уже имеющейся PostgreSQL. Порог зависит от числа векторов и требований к времени ответа.

Применяйте термины на практике

База знаний, задачи и цели — в одном сервисе. Бесплатно — без лимита по числу людей.