← Блог Технологии · 1 мин

pgvector или отдельная векторная база

Для поиска по документам с ИИ нужна векторная база. Мы сравнили pgvector в PostgreSQL и отдельное хранилище на данных клиента — полмиллиона фрагментов документов.

Команда ANV Студия разработки
Единое хранилище с поиском сопоставлено с двумя отдельными связанными хранилищами.

Что сравнивали

Задача — поиск по 500 тысячам фрагментов с фильтром по правам доступа. Сравнивали скорость ответа, точность поиска, стоимость инфраструктуры и сложность поддержки.

Результаты

  • Скорость. На нашем объёме pgvector с индексом HNSW отвечал за 20–40 мс — для пользователя разница с отдельной базой незаметна.
  • Права доступа. В PostgreSQL фильтр по ролям и поиск выполняются одним запросом. С отдельной базой права приходится дублировать и синхронизировать.
  • Поддержка. Одна база — одни бэкапы, один мониторинг, одна процедура восстановления.
  • Стоимость. Отдельная база — это ещё один сервер или облачный сервис с отдельным счётом.
            CREATE INDEX ON doc_chunks
USING hnsw (embedding vector_cosine_ops);
          

Когда нужна отдельная база

Отдельное векторное хранилище оправдано на десятках миллионов векторов, при очень высокой нагрузке на поиск или когда нужны функции, которых нет в pgvector. Для большинства корпоративных баз знаний PostgreSQL хватает с запасом — и это одна система вместо двух.

Расскажите о задаче

hello@anv.pro

или в Telegram @helloanvpro

Ответим в течение рабочего дня. Опишите процесс — предложим решение и оценку.

Куда ответить
Прикрепить ТЗ — PDF, Word, Excel, · до 50 МБ

Ответим письменно в течение рабочего дня — без звонков. Нажимая «Получить оценку проекта», вы соглашаетесь с политикой обработки персональных данных.