Вопрос с собеседования · AI и LLM

Когда хватит pgvector, а когда нужна специализированная векторная база?

SeniorЭмбеддинги и векторный поиск
Ещё спрашивают так:
  • pgvector или Qdrant?
  • Как выбрать векторную базу данных?
Коротко

pgvector в уже используемом PostgreSQL — лучший старт: одна база для данных, метаданных и векторов, транзакции, права доступа через обычные JOIN и фильтры, знакомая эксплуатация и бэкапы. Хорошо работает до миллионов–десятков миллионов векторов. Специализированная база (Qdrant, Milvus, Weaviate, OpenSearch) оправдана при очень больших объёмах, высокой нагрузке поиска, сложной фильтрации вместе с ANN, гибридном поиске из коробки, горизонтальном масштабировании. Решение — нагрузочный замер на своих данных и фильтрах.

  • Вторая база — синхронизация данных и прав, ещё одна система в эксплуатации
  • Фильтрация по правам с ANN — частое узкое место; проверять полноту с фильтром
  • Память индекса HNSW растёт с числом и размерностью векторов

А ещё Начать с pgvector и перейти при доказанной необходимости — обычно разумнее, чем наоборот

Подробно

Критерии:

  • объём: число векторов × размерность × 4 байта плюс граф;
  • нагрузка: запросов в секунду и требования к задержке p95;
  • фильтры: насколько избирательны (права, тенант, дата);
  • обновления: частота вставок и удалений;
  • экосистема: гибридный поиск, квантование векторов, шардирование;
  • команда: кто будет эксплуатировать.

Пример расчёта. 10 млн фрагментов × 1024 измерения × 4 байта ≈ 40 ГБ только векторов — это уже повод думать о сжатии, отдельном сервере или специализированной базе.

Права доступа. В pgvector — фильтр в том же запросе. В отдельной базе — метаданные доступа дублируются и синхронизируются, поиск с фильтром проверяется на полноту.

Что хотят услышать

  • Преимущества pgvector: одна база, транзакции, права.
  • Когда нужна специализированная база.
  • Расчёт объёма и нагрузочный замер.
  • Стоимость второй системы и синхронизации.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗pgvector не поддерживает индексы и годится только для тысяч векторов
  • ✗Специализированная векторная база всегда лучше, даже для десяти тысяч документов
  • ✓pgvector — до миллионов векторов; отдельная база — при огромной нагрузке
  • ✗Вторая база не требует синхронизации данных и прав

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования