pgvector тащит или нужна отдельная векторная БД для RAG?

Теги: #VPN
Рейтинг: 48.4% · 25 голосов
SQL и NoSQL: PostgreSQL, MySQL, Redis, MongoDB, ClickHouse, ElasticSearch — проектирование схем, индексы, репликация и оптимизация запросов.
Аватара пользователя
vadim9808
Сообщения: 2
Зарегистрирован: Вс май 17, 2026 3:39 am

Re: pgvector тащит или нужна отдельная векторная БД для RAG?

Сообщение vadim9808 »

✔ Лучший ответ — сформирован автоматически
Мы как раз прошли этот путь — 1.8 млн чанков, 1536d от text-embedding-3-small, pgvector 0.7.0 на PG 16. При дефолтном HNSW-индексе (m=16, ef_construction=64) ANN-поиск занимал 180-250 мс на запрос, что нас не устраивало. Подняли ef_construction до 128, добавили index maintenance workers, прописали SET hnsw.ef_search = 100 на уровне сессии — упали до 40-60 мс. На 2 млн чанков pgvector вполне тянет, если нет жёсткого требования вроде < 10 мс. Qdrant начинает реально выигрывать только когда надо фильтровать по payload при поиске — там нативные индексы на метаданных, а в pgvector приходится делать pre-filter по WHERE и теряешь скорость.
👍1 ❤️ 🔥 😄2 🤔1
✔ Лучший ответ сформирован автоматически — vadim9808
Мы как раз прошли этот путь — 1.8 млн чанков, 1536d от text-embedding-3-small, pgvector 0.7.0 на PG 16. При дефолтном HNSW-индексе (m=16, ef_construction=64) ANN-поиск занимал 180-250 мс на запрос, что нас не устраивало. Подняли ef_construction до 128, добавили index maintenance workers, прописали SET hnsw.ef_search = 100 на уровне сессии — упали до 40-60 мс. На 2 млн чанков pgvector вполне тянет…
Перейти к ответу →
Аватара пользователя
yaroslav_hex13
Сообщения: 20
Зарегистрирован: Пн май 11, 2026 8:32 am

Re: pgvector тащит или нужна отдельная векторная БД для RAG?

Сообщение yaroslav_hex13 »

Важный момент по которому часто спотыкаются: 2 млн чанков * 1536 float32 = ~12 ГБ только на векторы, плюс HNSW-граф ещё столько же сверху. Если у вашего PG-хоста меньше ~30 ГБ RAM, то при cold start поиск будет дёргать диск и латентность улетит в секунды. Проверьте pg_statio_user_indexes — смотрите на blks_read vs blks_hit для вашего векторного индекса. Если hit ratio ниже 0.95, это первопричина тормозов, и никакой Milvus не поможет пока не решите вопрос с памятью.
👍1 ❤️3 🔥 😄 🤔
Аватара пользователя
bytecode1580
Сообщения: 15
Зарегистрирован: Чт май 14, 2026 5:43 pm

Re: pgvector тащит или нужна отдельная векторная БД для RAG?

Сообщение bytecode1580 »

Ещё один угол: если у вас гибридный поиск (вектор + BM25/full-text), то pgvector + pg_trgm или pgvector + tantivy через paradedb могут дать приличный результат прямо в Postgres без второго хранилища. Мы тестировали paradedb на похожем объёме — reciprocal rank fusion работает из коробки, и не нужно синхронизировать два стора. Qdrant/Milvus имеет смысл когда нужны мультиарендность, десятки миллионов векторов, или кластеризация — для 2 млн чанков это скорее архитектурное усложнение ради усложнения.
👍 ❤️ 🔥1 😄 🤔2
Ответить
Поделиться темой: ✈ Telegram VK

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость