AI Infrastructure

Vector Databases Compared для Production RAG

Pinecone, Weaviate, pgvector, Qdrant, Milvus — что выбрать на каждом scale band, и как избежать "налога на новый vector DB", когда Postgres было достаточно.

Выбор по количеству векторов и операционной зрелости

🌱

Band 1: до 1M векторов

Winner: pgvector. У вас почти наверняка есть Postgres. HNSW indexes держат sub-100ms p95 здесь. Hybrid keyword+vector через tsvector + cosine непревзойдён выделенными DBs. Операционная стоимость: близка к нулю.

🌿

Band 2: 1M–10M векторов

Managed preference: Pinecone (самый быстрый запуск, предсказуемо) или Weaviate Cloud (богаче hybrid, путь к open-source).
Self-hosted preference: Qdrant (проще ops, чем Milvus) или pgvector если команда fluent в Postgres.

🌳

Band 3: 10M–100M векторов

Managed: Pinecone serverless или Weaviate Cloud; стоимость становится реальной. Считайте per-query и per-million-stored.
Self-hosted: Qdrant или Milvus; нужна platform команда и 24/7 monitoring.

🏔️

Band 4: 100M+ векторов

Managed: Pinecone или Vespa Cloud.
Self-hosted: Milvus — зрелая опция для billion-scale; Qdrant догоняет быстро. На этом масштабе вы платите SREs.

🔍

Hybrid Search

pgvector + tsvector выигрывает для joins со structured filters. Weaviate имеет лучшую dedicated hybrid реализацию (BM25 + vector с tunable alpha). Pinecone добавил hybrid но отстаёт. Qdrant поддерживает через payload filtering, well-engineered.

📊

Lock-in

Высокий: Pinecone (proprietary API).
Средний: Weaviate Cloud (open-source export возможен).
Низкий: pgvector, Qdrant, Milvus (open-source, portable).

Почему pgvector — правильная стартовая точка

Большинство корпоративных RAG проектов стартуют с 50K–500K векторами и там остаются. Если уже запущен Postgres, добавление pgvector — 30-минутная операция. Получаете vector search рядом с реляционными данными — одна query может фильтровать по tenant, date range, status и vector similarity за один round-trip.

Архитектура по умолчанию: начинайте с pgvector. Измеряйте p95 latency ежемесячно. При пересечении SLA — мигрируйте к выделенному vector DB, не раньше. ~70% клиентов не нуждаются в миграции.

Типичные ошибки

⚠️

Выбор Pinecone для демо

Free tier и DX Pinecone отличны. Через два года, на production масштабе, счёт большой и миграция дорога. Если можете превысить 1M векторов, смоделируйте стоимость на масштабе до commit.

⚠️

Self-hosting без platform команды

Milvus, Qdrant и self-hosted Weaviate нуждаются в patching, monitoring, scaling, incident response. Без выделенного platform engineering, managed выигрывает в total cost даже если хостинг выше.

⚠️

Игнорирование embedding cost

Vector storage редко доминирующая стоимость. Генерация embeddings (compute, API fees) часто превышает storage при 10M+ векторах. Cache embeddings агрессивно.

⚠️

Пропуск hybrid search

Чистый vector retrieval упускает exact-match (product codes, names, IDs). Hybrid (keyword + vector) нужен для 80% реальных RAG use cases. Выберите DB с native поддержкой.

Что применить завтра

Начинайте с pgvector, если запущен Postgres. Измеряйте scale и latency ежемесячно. Мигрируйте к Pinecone (managed, быстро) или Qdrant (self-hosted, низкий lock-in) при пересечении 1–10M векторов. Зарезервируйте Milvus для 100M+ self-hosted. Стройте hybrid search с первого дня. Кэшируйте embeddings агрессивно.