Коротко: что выбрать

  • Chroma — embedded-БД на Python. Ставится через pip install chromadb. Идеальна для прототипирования: 28 570 звезд на GitHub, встраивается прямо в код. Не требует отдельного сервера. Подходит для MVP и внутренних инструментов с десятками тысяч векторов.
  • Milvus — самая популярная кластерная векторная БД: 44 936 звезд на GitHub. Работает на Go, выдерживает миллиарды векторов, поддерживает GPU-ускорение, распределённую архитектуру и multi-tenancy.
  • Qdrant — самый быстрый open-source движок на Rust с полным контролем над точностью поиска и RPS. 32 624 звезды. Даёт лучшую производительность на одном узле.
  • Weaviate — единственная векторная БД со встроенным гибридным поиском (vector + BM25) и графовыми связями. 16 424 звезды. Оптимальна, если нужен поиск по тексту + эмбеддингам одновременно.
  • LanceDB — embedded-формат Lance для мультимодальных данных (текст + изображения + видео). 10 711 звезд. Хранит данные в файловой системе, не требует отдельного сервера.
159K+ суммарно звезд на GitHub
5 open-source решений
3 Apache 2.0 лицензии
2 embedded БД (без сервера)

Как работают векторные базы данных

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

В контексте RAG (Retrieval-Augmented Generation) эта БД — основное хранилище знаний, к которому обращается LLM. Документы сначала проходят через embedding-модель (например, text-embedding-3-small от OpenAI, intfloat/e5-mistral-7b или rubert-tiny2 для русского языка), превращаются в векторы размерностью 384–3072 — и сохраняются в векторную БД. При поиске запрос пользователя проходит через ту же модель, после чего БД находит K ближайших по косинусному расстоянию векторов.

Qdrant объясняет разницу метрик так: косинусная близость хороша для семантического поиска, евклидово расстояние — для кластеризации, а dot product — для систем рекомендаций. Все пять рассматриваемых решений поддерживают все три метрики.

Архитектура RAG-пайплайна с векторной БД

Как векторная база данных встраивается в RAG-пайплайн: от эмбеддинга до генерации ответа LLM

Согласно данным Encore.dev (март 2026), выбор векторной БД — второй по важности архитектурный вопрос в RAG-системе после выбора LLM. При этом 74% продакшен-RAG-проектов в 2026 году используют один из open-source движков, а не проприетарные решения вроде Pinecone.

Chroma — встраиваемая векторная БД для Python-прототипов

Chroma — это встраиваемая векторная база данных на Python, которая не требует отдельного сервера и позволяет хранить векторы прямо в процессе приложения. Создана командой chroma-core в 2022 году, за четыре года набрала 28 570 звёзд на GitHub.

Chroma — единственное решение в списке, которое поддерживает both режима: embedded (встраивается в процесс) и client-server (отдельный сервер). Для старта достаточно pip install chromadb и нескольких строк Python. Библиотека автоматически управляет индексами HNSW (Hierarchical Navigable Small World) — выбором ANN-алгоритма для поиска по умолчанию.

В репозитории указаны языки Rust + Python: ядро поиска на Rust обеспечивает скорость, а API на Python — простоту интеграции. Chroma — самая популярная векторная БД в экосистеме LangChain: из 54 тысяч звезд LangChain около половины проектов используют Chroma как хранилище по умолчанию.

Когда Chroma подходит: прототипы RAG-ассистентов, внутренние инструменты, демо-версии, проекты с объёмом до 500 тысяч эмбеддингов. Когда не подходит: продакшен с миллионами векторов, мультисерверная архитектура, high-load (тысячи запросов в секунду). Для этого Chroma запускается в режиме сервера через Docker, но здесь она уступает Qdrant и Milvus по производительности.

Milvus — промышленная кластерная векторная БД

Milvus — это облачно-нативная векторная база данных на Go, спроектированная для распределённой работы с миллиардами векторов. Разрабатывается компанией Zilliz с 2019 года. 44 936 звёзд на GitHub делают её самой популярной open-source векторной БД в мире.

Архитектура Milvus разделена на микросервисы: координатор запросов, координатор данных, координатор индексации и координатор метаданных. Каждый компонент масштабируется независимо — в отличие от монолитных Qdrant и Weaviate. Благодаря архитектуре log-structured Milvus поддерживает GPU-ускорение индексации: индексы строятся на GPU-кластере, поиск выполняется на CPU.

Zilliz также поддерживает Milvus в двух редакциях: Milvus (open-source под Apache 2.0) и Zilliz Cloud (SaaS-версия с managed инфраструктурой). Cloud-версия стоит от $0.17 за миллион векторов в час — сопоставимо с Qdrant Cloud, но дешевле Weaviate Cloud Services.

Когда Milvus подходит: корпоративные RAG-системы, поиск по миллионам и миллиардам документов, multi-tenant архитектуры (один кластер на несколько клиентов), сценарии, где требуется GPU-ускорение при индексации.

Qdrant — Rust-движок для high-load

Qdrant — это высокопроизводительная векторная база данных на Rust, спроектированная для максимальной скорости поиска и минимальных задержек. Создана в 2020 году, 32 624 звезды на GitHub. По данным собственных бенчмарков Qdrant, движок на Rust даёт выигрыш в 30-40% по RPS (запросов в секунду) при одинаковом уровне качества поиска (99% recall) по сравнению с Go-решениями.

Qdrant поддерживает все основные ANN-алгоритмы: HNSW (по умолчанию), а также фильтрацию запросов по любым payload-полям (метаданным). Ключевая особенность — точный контроль над trade-off между скоростью и качеством: параметр ef (exploration factor) позволяет настраивать количество просматриваемых узлов графа для каждого запроса. При ef=128 Qdrant даёт 99,5% recall при латентности 30-50 мс на наборе в 1 млн векторов размерностью 768.

Qdrant доступен в трёх формах: open-source (бесплатно, Apache 2.0), Qdrant Cloud (управляемый, от $25/мес за стартовый кластер) и On-premise Enterprise. В отличие от Milvus, Qdrant не поддерживает GPU-ускорение, но и не требует GPU — Rust-реализация HNSW на CPU даёт достаточную производительность для большинства сценариев.

Когда Qdrant подходит: high-load RAG (тысячи RPS), продакшен на одном мощном сервере до 10 млн векторов, тонкая настройка качества поиска, сценарии, где важна латентность (real-time поиск, чат-боты с инлайн-подсказками).

Weaviate — гибридный поиск и графовые связи

Weaviate — это векторная база данных со встроенным гибридным поиском (векторный + keyword) и графовой моделью объектов. Создана в 2016 году компанией SeMI Technologies, 16 424 звезды на GitHub. Старейшее решение в списке — и единственное, которое изначально проектировалось не как чисто векторное хранилище, а как графовая БД с векторным поиском.

В отличие от Chroma, Milvus и Qdrant, Weaviate не просто хранит векторы — она связывает их в граф. Каждый объект может иметь ссылки на другие объекты, образуя knowledge graph. Например, документ «Контракт с клиентом А» может быть связан с объектами «Клиент А», «Юрист Иванов» и «Срок действия: 2026» — и поиск по одному объекту вытягивает все связанные.

Weaviate также поддерживает встроенные модули для генерации эмбеддингов (через OpenAI, Cohere, HuggingFace, Ollama), что отличает его от остальных — те требуют отдельного сервиса эмбеддингов. Модуль generative-openai позволяет выполнять генерацию ответа прямо внутри Weaviate, без внешнего LLM-кода. Weaviate Cloud Services стоит от $25/месяц.

Когда Weaviate подходит: проекты, где важен гибридный поиск (векторы + BM25), knowledge graphs, рекомендательные системы со сложными связями, MVP без отдельного embedding-сервиса. Когда не подходит: чисто векторный high-load поиск — здесь Qdrant и Milvus быстрее и дешевле на масштабе.

LanceDB — embedded для мультимодальных данных

LanceDB — это embedded-векторная база данных на основе формата Lance, оптимизированная для мультимодальных данных (текст, изображения, видео, аудио). Разрабатывается компанией LanceDB с 2023 года, 10 711 звезд на GitHub.

Главное отличие LanceDB — формат хранения. Lance — это columnar-формат следующего поколения после Parquet, оптимизированный для нейросетевых данных. В отличие от Parquet, который хранит каждый столбец последовательно, Lance разбивает данные на страницы переменного размера и поддерживает быстрое чтение случайных строк — критически важная особенность для ANN-поиска, где нужно выборочно читать эмбеддинги из середины файла.

LanceDB не требует отдельного сервера — данные хранятся в файловой системе (локально, S3, GCS). Это делает её единственным решением в списке, которое можно использовать в бессерверных окружениях и на edge. Индексы строятся на диске, а не в RAM, что снижает требования к оперативной памяти.

Когда LanceDB подходит: мультимодальные RAG-системы (текст + изображения), serverless-архитектуры, embedded-сценарии (мобильные приложения, IoT), проекты с большим объёмом неструктурированных данных. Когда не подходит: high-load продакшен с 10M+ векторов — LanceDB пока уступает Qdrant и Milvus по скорости на этом масштабе.

Сравнительная таблица

Параметр Chroma Milvus Qdrant Weaviate LanceDB
GitHub звёзды 28 570 44 936 32 624 16 424 10 711
Язык ядра Rust + Python Go Rust Go Rust
Лицензия Apache 2.0 Apache 2.0 Apache 2.0 BSD-3-Clause Apache 2.0
Архитектура Embedded / Client-Server Микросервисная (кластер) Монолит / Кластер Монолит Embedded (файловая система)
ANN-алгоритм HNSW HNSW, IVF, DiskANN HNSW (с фильтрацией) HNSW DiskANN, HNSW
Гибридный поиск Нет Да (через Schema) Нет Да (vector + BM25) Нет
GPU-ускорение Нет Да Нет Нет Нет
Multi-tenancy Да (коллекции) Да (partitions) Да (collections) Да (tenants) Да (таблицы)
Cloud-версия Chroma Cloud (бета) Zilliz Cloud Qdrant Cloud Weaviate Cloud LanceDB Cloud (бета)
Стартовая цена cloud Бесплатно (dev) от $0.17/млн векторов/ч от $25/мес от $25/мес Бесплатно (dev)
Установка pip install chromadb Docker / Helm / Kubernetes Docker / pip install qdrant-client Docker / Kubernetes pip install lancedb

Как выбрать под свой проект

Выбор векторной БД сводится к трём вопросам: какой объём данных, сколько RPS нужно и есть ли DevOps-команда.

Для прототипа (до 100K векторов) — Chroma или LanceDB. Обе ставятся одной pip-командой, не требуют Docker. Chroma лучше для чистого текстового RAG (их экосистема в LangChain самая широкая), LanceDB — если в данных есть изображения или видео.

Для продакшена среднего размера (10K–5M векторов, до 500 RPS) — Qdrant. Rust-движок выдаёт стабильную латентность даже под нагрузкой. Один сервер 4 vCPU / 16 GB RAM справляется без проблем. Установка: docker run -p 6333:6333 qdrant/qdrant.

Для enterprise-продакшена (5M+ векторов, 1000+ RPS) — Milvus. Микросервисная архитектура позволяет растить кластер горизонтально. Единственная open-source БД с GPU-ускорением индексации — важная фича, если документы обновляются ежедневно и индексы нужно перестраивать.

Если нужен поиск по тексту + эмбеддингам одновременно — Weaviate. Встроенный BM25 и графовые связи делают её уникальной. Типичный сценарий: корпоративный поиск по документам, где нужно искать и по ключевым словам (названия, номера договоров), и по смыслу (похожие ситуации из прошлых кейсов).

Для русского языка стоит дополнительно проверить, работает ли выбранная БД с эмбеддингами от rubert-tiny2 или intfloat/multilingual-e5-large. Qdrant и Weaviate лучше всего справляются с мультиязычными эмбеддингами благодаря гибридному поиску: векторный поиск находит семантически близкие документы, а keyword-компонент помогает дотягиваться до точных названий и терминов на русском.

По данным AI/ML QA (апрель 2026), 68% опрошенных инженеров выбирают векторную БД по двум критериям: совместимость со своим языковым стеком (Python → Chroma или Qdrant, Java/Scala → Milvus) и наличие cloud-версии для быстрого старта без DevOps.

Совет: не гонитесь за максимальной производительностью на старте. Лучше начать с Chroma (pip install, 10 минут до первого RAG-запроса) и переехать на Qdrant или Milvus, когда возникнут проблемы с объёмом или скоростью. Chroma поддерживает экспорт эмбеддингов, и миграция на Qdrant — это несколько десятков строк кода.

Итог

Векторная база данных — это не просто «хранилище эмбеддингов». Это ключевой компонент, который определяет, насколько быстро и точно ваш RAG-пайплайн найдёт нужную информацию среди тысяч документов.

Chroma — для прототипов, Qdrant — для high-load продакшена, Milvus — для миллиардных масштабов и GPU-ускорения, Weaviate — для гибридного поиска с графами, LanceDB — для мультимодальных и serverless-сценариев. Все пять решений open-source, все активно развиваются, и общая сумма их GitHub-звёзд превышает 130 000.

Если вы начинаете RAG-проект — поставьте Chroma сегодня и начните проверять гипотезы. Если готовы к продакшену — посмотрите в сторону Qdrant или Milvus. А если не уверены, что выбрать под свой стек и нагрузку — напишите нам, поможем спроектировать архитектуру.