Содержание
Коротко: что выбрать
- 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 звезд. Хранит данные в файловой системе, не требует отдельного сервера.
Как работают векторные базы данных
Векторная база данных — это специализированное хранилище, которое индексирует и ищет числовые представления данных (эмбеддинги), используя приближённый поиск ближайших соседей (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 — для систем рекомендаций. Все пять рассматриваемых решений поддерживают все три метрики.
Согласно данным 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 как хранилище по умолчанию.
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.
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 даёт достаточную производительность для большинства сценариев.
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/месяц.
LanceDB — embedded для мультимодальных данных
LanceDB — это embedded-векторная база данных на основе формата Lance, оптимизированная для мультимодальных данных (текст, изображения, видео, аудио). Разрабатывается компанией LanceDB с 2023 года, 10 711 звезд на GitHub.
Главное отличие LanceDB — формат хранения. Lance — это columnar-формат следующего поколения после Parquet, оптимизированный для нейросетевых данных. В отличие от Parquet, который хранит каждый столбец последовательно, Lance разбивает данные на страницы переменного размера и поддерживает быстрое чтение случайных строк — критически важная особенность для ANN-поиска, где нужно выборочно читать эмбеддинги из середины файла.
LanceDB не требует отдельного сервера — данные хранятся в файловой системе (локально, S3, GCS). Это делает её единственным решением в списке, которое можно использовать в бессерверных окружениях и на edge. Индексы строятся на диске, а не в RAM, что снижает требования к оперативной памяти.
Сравнительная таблица
| Параметр | 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.
Итог
Векторная база данных — это не просто «хранилище эмбеддингов». Это ключевой компонент, который определяет, насколько быстро и точно ваш RAG-пайплайн найдёт нужную информацию среди тысяч документов.
Chroma — для прототипов, Qdrant — для high-load продакшена, Milvus — для миллиардных масштабов и GPU-ускорения, Weaviate — для гибридного поиска с графами, LanceDB — для мультимодальных и serverless-сценариев. Все пять решений open-source, все активно развиваются, и общая сумма их GitHub-звёзд превышает 130 000.
Если вы начинаете RAG-проект — поставьте Chroma сегодня и начните проверять гипотезы. Если готовы к продакшену — посмотрите в сторону Qdrant или Milvus. А если не уверены, что выбрать под свой стек и нагрузку — напишите нам, поможем спроектировать архитектуру.