Новаком
AI

Сравнение векторных баз данных: Qdrant vs Pinecone vs ChromaDB vs pgvector vs Weaviate vs Milvus

Детальное сравнение 6 векторных БД по производительности, стоимости, экосистеме, 152-ФЗ. Матрица выбора для RAG, семантического поиска и AI-продуктов.

Н
Новаком
2026-05-22 · 14 минут чтения

Зачем нужна векторная база данных

Каждый RAG-пайплайн, семантический поиск или рекомендательная система работает с эмбеддингами — числовыми векторами, которые кодируют смысл текста, изображения или аудио. Обычная PostgreSQL с B-tree индексом не умеет искать «ближайшие по смыслу» записи — для этого нужна векторная база данных.

Задача векторной БД — быстро находить K ближайших соседей (Approximate Nearest Neighbor, ANN) среди миллионов или миллиардов векторов. Разница между решениями — в скорости, точности, стоимости и операционной сложности.

Участники сравнения

БазаТипЛицензияГод запуска
QdrantСпециализированная векторная БДApache 2.02021
PineconeManaged cloud vector DBПроприетарная2019
ChromaDBВстраиваемая векторная БДApache 2.02022
pgvectorРасширение PostgreSQLPostgreSQL License2021
WeaviateСпециализированная векторная БДBSD-32019
MilvusРаспределённая векторная БДApache 2.02019

Qdrant

Написан на Rust. Один из самых быстрых open-source решений. Активное сообщество, частые релизы.

Архитектура

  • Хранение: сегментная архитектура, данные на диске с memory-mapped файлами
  • Индексы: HNSW (основной), опционально — квантизация (scalar, product, binary)
  • Фильтрация: payload-индексы, полнотекстовый поиск, geo-фильтры
  • Мультитенантность: коллекции + payload-based партиционирование

Ключевые возможности

ВозможностьПоддержка
Self-hostedДа (Docker, K8s, бинарник)
Managed cloudДа (Qdrant Cloud)
Размерность вектораДо 65535
Фильтрация по метаданнымПолная (числа, строки, geo, datetime)
Sparse vectorsДа
Multi-vector (named vectors)Да
КвантизацияScalar, Product, Binary
Snapshot / backupДа
REST + gRPC APIДа
КластеризацияДа (шардирование + репликация)

Когда выбирать Qdrant

  • RAG-системы с продвинутой фильтрацией (по дате, категории, клиенту)
  • Self-hosted деплой в российских облаках (Yandex Cloud, Selectel)
  • Проекты, где важна скорость и контроль над инфраструктурой
  • Мультитенантные SaaS-решения

Pinecone

Полностью managed облачная БД. Не требует управления инфраструктурой. Самый простой старт.

Архитектура

  • Хранение: serverless (pod-based или serverless architecture)
  • Индексы: проприетарные (основаны на ANN)
  • Фильтрация: metadata filtering
  • Мультитенантность: namespaces внутри индекса

Ключевые возможности

ВозможностьПоддержка
Self-hostedНет
Managed cloudДа (AWS, GCP, Azure)
Размерность вектораДо 20000
Фильтрация по метаданнымДа (числа, строки, списки)
Sparse vectorsДа
Multi-vectorНет
КвантизацияАвтоматическая
Snapshot / backupДа (collections)
REST APIДа
КластеризацияАвтоматическая (serverless)

Когда выбирать Pinecone

  • Быстрый PoC без DevOps-ресурсов
  • Команда без опыта в инфраструктуре
  • Проект на AWS/GCP, где vendor lock-in не критичен
  • Бюджет позволяет managed-решение

Ограничения

  • Нет self-hosted варианта — данные только в облаке Pinecone
  • Серверы только за рубежом — вопрос 152-ФЗ для персональных данных
  • Стоимость растёт нелинейно с объёмом данных

ChromaDB

Максимально простая встраиваемая БД. Идеальна для прототипов и локальной разработки.

Архитектура

  • Хранение: SQLite + DuckDB (in-process)
  • Индексы: HNSW (hnswlib)
  • Фильтрация: metadata filtering (where clause)
  • Мультитенантность: коллекции

Ключевые возможности

ВозможностьПоддержка
Self-hostedДа (pip install, Docker)
Managed cloudНет (в разработке)
Размерность вектораБез ограничений
Фильтрация по метаданнымБазовая (where, where_document)
Sparse vectorsНет
Multi-vectorНет
КвантизацияНет
Snapshot / backupPersist to disk
REST APIДа (client-server mode)
КластеризацияНет

Когда выбирать ChromaDB

  • Прототипирование и локальная разработка
  • Jupyter-ноутбуки и эксперименты
  • Маленькие датасеты (до 100К векторов)
  • Проекты, где нужен минимальный порог входа

Ограничения

  • Не масштабируется горизонтально
  • Нет репликации и high availability
  • Производительность падает на больших объёмах

pgvector

Расширение для PostgreSQL. Добавляет тип данных vector и операторы поиска по косинусному расстоянию.

Архитектура

  • Хранение: таблицы PostgreSQL
  • Индексы: IVFFlat, HNSW (с версии 0.5.0)
  • Фильтрация: весь SQL (JOIN, WHERE, GROUP BY, подзапросы)
  • Мультитенантность: стандартная PostgreSQL (schemas, RLS)

Ключевые возможности

ВозможностьПоддержка
Self-hostedДа (расширение PostgreSQL)
Managed cloudSupabase, Neon, AWS RDS, Yandex Managed PostgreSQL
Размерность вектораДо 2000 (HNSW) / 16000 (без индекса)
Фильтрация по метаданнымПолная SQL (самая мощная)
Sparse vectorsДа (sparsevec, с версии 0.7.0)
Multi-vectorЧерез дополнительные колонки
Квантизацияhalfvec (с версии 0.7.0)
Snapshot / backuppg_dump, WAL-архивация
REST APIЧерез PostgREST / Supabase
КластеризацияPostgreSQL стриминг-репликация

Когда выбирать pgvector

  • Уже используете PostgreSQL в проекте
  • Нужны сложные SQL-запросы с JOIN по реляционным данным + векторный поиск
  • Хотите один инструмент для всех данных (не плодить сервисы)
  • Деплой на Supabase или Yandex Managed PostgreSQL

Ограничения

  • Производительность ниже специализированных решений на больших объёмах (от 10M+ векторов)
  • Ограничение размерности вектора (2000 для HNSW)
  • Нет продвинутой квантизации

Weaviate

Специализированная БД с акцентом на AI-native workflow. Встроенные модули для векторизации.

Архитектура

  • Хранение: кастомное LSM-дерево
  • Индексы: HNSW с flat-индексом для фильтрации
  • Фильтрация: GraphQL-подобный язык запросов
  • Мультитенантность: встроенная (native multi-tenancy)

Ключевые возможности

ВозможностьПоддержка
Self-hostedДа (Docker, K8s, Embedded)
Managed cloudДа (Weaviate Cloud)
Размерность вектораБез ограничений
Фильтрация по метаданнымПолная (GraphQL-подобный API)
Sparse vectorsДа (BM25)
Multi-vectorДа (named vectors)
КвантизацияPQ, BQ, SQ
Встроенная векторизацияДа (OpenAI, Cohere, Hugging Face модули)
REST + GraphQL APIДа
КластеризацияДа (репликация + шардирование)

Когда выбирать Weaviate

  • Хотите встроенную векторизацию без внешнего сервиса эмбеддингов
  • GraphQL-подобный API ближе к вашему стеку
  • Нужна нативная мультитенантность для SaaS
  • Hybrid search (BM25 + vector) из коробки

Milvus

Распределённая векторная БД, спроектированная для масштабов enterprise. Бэкенд поиска у Alibaba, Shopee, Xiaomi.

Архитектура

  • Хранение: разделение storage и compute, поддержка S3/MinIO
  • Индексы: IVF_FLAT, IVF_SQ8, IVF_PQ, HNSW, SCANN, DiskANN
  • Фильтрация: boolean expressions
  • Мультитенантность: partitions + resource groups

Ключевые возможности

ВозможностьПоддержка
Self-hostedДа (Docker, K8s, Milvus Lite)
Managed cloudДа (Zilliz Cloud)
Размерность вектораДо 32768
Фильтрация по метаданнымДа (boolean expressions)
Sparse vectorsДа
Multi-vectorДа
КвантизацияSQ8, PQ, SCANN
GPU-ускорениеДа (CAGRA, GPU-IVF)
REST + gRPC APIДа
КластеризацияПолная (disaggregated architecture)

Когда выбирать Milvus

  • Масштаб от 100M+ векторов
  • Нужна GPU-ускоренная индексация
  • Enterprise с выделенной инфраструктурной командой
  • Распределённые системы с разделением storage/compute

Ограничения

  • Сложная инфраструктура (etcd + MinIO + Pulsar/Kafka)
  • Высокий порог входа для малых проектов
  • Milvus Lite (упрощённая версия) ограничена для продакшена

Сводное сравнение

Производительность (ANN-поиск)

База1M векторов (QPS)10M векторов (QPS)Латентность p99
Qdrant5000–80003000–50005–15 мс
Pinecone3000–50002000–400010–30 мс
ChromaDB500–1000Не рекомендуется50–200 мс
pgvector1000–3000500–150010–50 мс
Weaviate3000–60002000–40005–20 мс
Milvus4000–70005000–100005–15 мс

Бенчмарки зависят от размерности вектора, типа индекса, фильтрации, железа. Цифры — ориентировочные для 768-мерных векторов на 8-ядерном сервере.

Стоимость (1M векторов, 768 dim, managed)

БазаManagedSelf-hosted (ориентир)
Qdrant$65/мес (Qdrant Cloud)$30–50/мес (4 CPU, 8 GB RAM)
Pinecone$70/мес (serverless)Недоступно
ChromaDBНет managed$10–20/мес (достаточно малого сервера)
pgvector$25/мес (Supabase Pro)$15–30/мес (существующий PostgreSQL)
Weaviate$25–50/мес (Weaviate Cloud)$30–50/мес (4 CPU, 8 GB RAM)
Milvus$100+/мес (Zilliz Cloud)$80–150/мес (сложная инфраструктура)

Экосистема и интеграции

БазаLangChainLlamaIndexHaystackPython SDKJS/TS SDK
QdrantДаДаДаДаДа
PineconeДаДаДаДаДа
ChromaDBДаДаДаДаДа
pgvectorДаДаДаДа (psycopg2)Да (pg)
WeaviateДаДаДаДаДа
MilvusДаДаДаДа (pymilvus)Да

Все участники хорошо интегрируются с основными AI-фреймворками. Различия — в глубине интеграции и актуальности документации.

Российские облака и 152-ФЗ

БазаYandex CloudSelectelVK CloudДеплой в РФ
QdrantDocker/K8s на Compute CloudDocker на серверахDocker/K8sПолный контроль
PineconeНетНетНетНевозможно
ChromaDBDocker на Compute CloudDocker на серверахDockerПолный контроль
pgvectorYandex Managed PostgreSQL (встроенно)Managed PostgreSQLManaged PostgreSQLНативная поддержка
WeaviateDocker/K8sDockerDocker/K8sПолный контроль
MilvusDocker/K8s (сложно)Docker/K8sDocker/K8sВозможно, но сложно

Для проектов с требованиями 152-ФЗ: pgvector (через Yandex Managed PostgreSQL) — самый простой путь. Qdrant — через Docker на любом российском облаке. Pinecone — невозможно разместить в РФ.

Матрица выбора: какая база для какого проекта

СценарийРекомендацияПочему
PoC / прототип RAGChromaDBНулевой порог входа, pip install
RAG-продакшен (до 5M документов)Qdrant или pgvectorБаланс производительности и простоты
RAG-продакшен с SQL-даннымиpgvectorОдин PostgreSQL для всего
SaaS с мультитенантностьюQdrant или WeaviateНативная изоляция данных
Enterprise (100M+ документов)MilvusГоризонтальное масштабирование
Максимально быстрый старт (cloud)PineconeZero DevOps
152-ФЗ / данные в РФpgvector (Yandex MDB) или QdrantSelf-hosted в российском ДЦ
Hybrid search (BM25 + vector)Weaviate или QdrantВстроенная поддержка
Минимальный бюджетpgvectorИспользуете существующий PostgreSQL
Мультимодальный поискWeaviate или QdrantПоддержка multi-vector

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

  1. Выбирать по бенчмаркам, игнорируя операционную сложность. Milvus быстрее на 100M+ векторов, но его инфраструктура (etcd + MinIO + Pulsar) требует выделенной DevOps-команды. Для 1M векторов pgvector или Qdrant проще в 10 раз.

  2. Начинать сразу с managed cloud. Для PoC ChromaDB локально или pgvector на существующем PostgreSQL — бесплатно и за 30 минут. Managed cloud имеет смысл, когда пошёл трафик.

  3. Игнорировать фильтрацию. Если RAG-система фильтрует по дате, клиенту, категории — производительность фильтрации важнее чистого ANN-поиска. pgvector с SQL и Qdrant с payload-индексами здесь лидируют.

  4. Не думать про 152-ФЗ. Pinecone хранит данные за рубежом. Для проектов с персональными данными это не вариант. Решение: pgvector на Yandex Managed PostgreSQL или Qdrant на российском VPS.

  5. Переоптимизировать на старте. ChromaDB с 10К документов работает моментально. Квантизация, шардирование, репликация нужны при переходе на сотни тысяч документов — не раньше.

Миграция между базами

Все решения хранят одни и те же данные: вектор + метаданные + ID. Миграция сводится к экспорту и импорту. В LangChain замена vectorstore — одна строка кода:

# Было
vectorstore = Chroma.from_documents(docs, embeddings)

# Стало
vectorstore = QdrantVectorStore.from_documents(docs, embeddings)

Основная работа при миграции — не код, а переиндексация данных. Для 1M документов это 2–4 часа (зависит от скорости эмбеддинг-модели).

Что дальше

Выбор векторной БД — это баланс между производительностью, стоимостью, операционной сложностью и требованиями к данным. Начинайте с простого (pgvector или ChromaDB), мигрируйте на Qdrant/Weaviate/Milvus, когда упрётесь в ограничения.


Строите RAG-систему или семантический поиск? Мы в Новаком проектируем и разрабатываем AI-решения с правильным выбором инфраструктуры.

РАЗРАБОТКА

Нужна похожая задача?

Обсудим вашу задачу и предложим решение за 30 минут.

Обсудить проект