MongoDB против ClickHouse: выбор подходящей базы данных для приложений GenAI
По мере развития приложений на основе ИИ важность возможностей векторного поиска для поддержки этих достижений невозможно переоценить. В этой статье блога мы рассмотрим две известные базы данных с возможностями векторного поиска: MongoDB и ClickHouse. Каждая из них предоставляет надежные возможности для работы с векторным поиском — важной функцией для таких приложений, как рекомендательные системы, поиск изображений и семантический поиск. Наша цель — предоставить разработчикам и инженерам понятное сравнение, помогающее принять решение о том, какая база данных лучше всего соответствует их конкретным требованиям.
Что такое векторная база данных?
Прежде чем сравнивать MongoDB и ClickHosue, давайте сначала рассмотрим концепцию векторных баз данных.
Векторная база данных специально разработана для хранения и запросов высокоразмерных векторов, которые являются числовыми представлениями неструктурированных данных. Эти векторы кодируют сложную информацию, такую как семантическое значение текста, визуальные характеристики изображений или атрибуты продуктов. Обеспечивая эффективный поиск сходства, векторные базы данных играют ключевую роль в приложениях ИИ, позволяя выполнять более продвинутый анализ и извлечение данных.
Распространенные сценарии использования векторных баз данных включают рекомендации товаров в электронной коммерции, платформы обнаружения контента, обнаружение аномалий в кибербезопасности, анализ медицинских изображений и задачи обработки естественного языка (NLP). Они также играют важную роль в генерации с расширенным извлечением (RAG) — методе, который повышает производительность больших языковых моделей (LLMs), предоставляя внешние знания для уменьшения таких проблем, как галлюцинации ИИ.
На рынке доступно множество типов векторных баз данных, включая:
- Специализированные векторные базы данных, такие как Milvus, Zilliz Cloud (полностью управляемый Milvus)
- Библиотеки векторного поиска, такие как Faiss и Annoy.
- Легковесные векторные базы данных, такие как Chroma и Milvus Lite.
- Традиционные базы данных с надстройками для векторного поиска, способные выполнять векторный поиск в небольшом масштабе.
MongoDB — это база данных NoSQL, которая хранит данные в документах, похожих на JSON, а ClickHouse — это база данных с открытым исходным кодом, ориентированная на столбцы. Обе имеют возможности векторного поиска в качестве надстройки. В этой статье сравниваются их возможности векторного поиска.
MongoDB: основы
MongoDB Atlas Vector Search — это функция, которая позволяет выполнять поиск векторного сходства по данным, хранящимся в MongoDB Atlas. Вы можете индексировать и запрашивать высокоразмерные векторные эмбеддинги вместе с данными ваших документов и выполнять задачи ИИ и машинного обучения прямо в базе данных.
В своей основе Atlas Vector Search использует алгоритм Hierarchical Navigable Small World (HNSW) для индексирования и поиска векторных данных. Это создает многоуровневый граф векторного пространства, чтобы вы могли выполнять поиски Approximate Nearest Neighbor (ANN). Это баланс скорости и точности для крупномасштабного векторного поиска. Atlas Vector Search также поддерживает поиски Exact Nearest Neighbors (ENN), которые отдают приоритет точности перед производительностью для запросов до 10 000 документов.
Одним из больших преимуществ Atlas Vector Search является его интеграция с гибкой документной моделью MongoDB. Вы можете хранить векторные эмбеддинги вместе с другими данными документа, чтобы выполнять поиск более контекстно и точно. Вы можете запрашивать любые данные, которые можно встроить в пространство размерностью до 4096. Atlas Vector Search позволяет сочетать поиск по векторному сходству с традиционной фильтрацией документов. Например, семантический поиск продуктов можно отфильтровать по категории, ценовому диапазону или доступности.
Atlas Vector Search также поддерживает гибридный поиск, объединяя векторный поиск с полнотекстовым поиском для получения более детализированных результатов. Это отличается от Atlas Search, который ориентирован на поиск на основе ключевых слов. Платформа интегрируется с популярными AI-сервисами и инструментами, поэтому вы можете использовать ее с моделями эмбеддингов от таких поставщиков, как OpenAI, VoyageAI, и многих других, перечисленных на Hugging Face. Она также поддерживает open-source-фреймворки, такие как LangChain и LlamaIndex, для создания приложений, использующих Large Language Models (LLMs).
Чтобы обеспечить масштабируемость и производительность, MongoDB Atlas предоставляет Search Nodes, которые обеспечивают выделенную инфраструктуру для нагрузок Atlas Search и Vector Search. Это позволяет иметь оптимизированные вычислительные ресурсы и независимое масштабирование поисковых потребностей, чтобы вы получали лучшую производительность в масштабе.
Благодаря наличию этих возможностей в экосистеме MongoDB, Atlas Vector Search является полноценным решением для разработчиков, создающих приложения на базе AI, рекомендательные системы или расширенные поисковые функции. Нет необходимости в отдельной векторной базе данных: вы можете использовать масштабируемость и богатые возможности MongoDB вместе с векторным поиском.
ClickHouse: основы
ClickHouse — это open-source OLAP-база данных для аналитики в реальном времени с полной поддержкой SQL и быстрой обработкой запросов. Она отлично подходит для аналитических запросов благодаря полностью распараллеленному конвейеру выполнения запросов и может быстро выполнять векторный поиск. Она имеет высокое сжатие (настраиваемое с помощью кодеков), поэтому может хранить и запрашивать большие наборы данных. Одно из ее главных преимуществ заключается в том, что она может работать с наборами данных размером в несколько ТБ, не будучи ограниченной памятью, поэтому это отличный инструмент для пользователей с большими векторными данными. Также поддерживает фильтрацию и агрегацию по метаданным, поэтому вы можете запрашивать векторы и их метаданные.
ClickHouse имеет функциональность векторного поиска через SQL, где операции векторного расстояния работают так же, как любая другая SQL-функция. Поэтому вы можете сочетать это с традиционной фильтрацией и агрегацией. Отлично подходит для сценариев, где нужно запрашивать векторные данные вместе с метаданными или другой информацией. Также имеет экспериментальные индексы Approximate Nearest Neighbour (ANN) для более быстрого (но приблизительного) сопоставления. И точное сопоставление через линейное сканирование строк с параллельной обработкой для скорости и эффективности.
ClickHouse отлично подходит для векторного поиска, когда нужно сочетать векторное сопоставление с фильтрацией или агрегацией метаданных. Особенно для очень больших векторных наборов данных, которые нужно обрабатывать параллельно на нескольких ядрах CPU. ClickHouse также хорош, когда вам нужна поддержка SQL, а ваш векторный набор данных слишком велик, чтобы поместиться в индексах только в памяти. Также если у вас уже есть связанные данные в ClickHouse или вы не хотите изучать еще один инструмент для управления миллионами векторов, ClickHouse может сэкономить вам время и ресурсы. Быстрое распараллеленное точное сопоставление и обработка больших наборов данных — это то, в чем ClickHouse силен, поэтому он предназначен для продвинутых пользователей поиска.
ClickHouse — это платформа общего назначения для векторного поиска, особенно для больших наборов данных, которым нужна параллельная обработка, и когда вы сочетаете векторный поиск с фильтрацией и агрегацией на основе SQL. Она не так хороша, как специализированные векторные базы данных, для небольших наборов данных, ограниченных памятью, или сценариев с высоким QPS, но может обрабатывать сложные запросы, включая метаданные, поэтому отлично подходит для разработчиков, которые знают SQL и нуждаются в быстром векторном поиске.
Ключевые различия
MongoDB Atlas Vector Search и ClickHouse имеют разные подходы к векторному поиску, каждый со своими сильными сторонами. Давайте сравним их, чтобы помочь вам решить, какой вариант подходит именно вам.
Методология поиска
MongoDB Atlas Vector Search использует алгоритм Hierarchical Navigable Small World (HNSW) для индексирования и поиска векторных данных. Он создает многоуровневый граф векторного пространства для поиска Approximate Nearest Neighbor (ANN). Он балансирует скорость и точность для крупномасштабного векторного поиска. Atlas Vector Search также поддерживает поиск Exact Nearest Neighbors (ENN) для запросов до 10 000 документов, производительность важнее точности.
ClickHouse, с другой стороны, в основном использует операции вычисления векторного расстояния на основе SQL. Он поддерживает точное сопоставление посредством линейного сканирования строк с параллельной обработкой. ClickHouse также предлагает экспериментальные векторные индексы для более быстрого поиска ANN.
Обработка данных
MongoDB отлично подходит для работы с гибкими, документно-ориентированными данными. Вы можете хранить векторные эмбеддинги вместе с другими данными документа, что позволяет выполнять более контекстный и точный поиск. Эта гибкость позволяет сочетать поиск по векторному сходству с фильтрацией документов.
ClickHouse предназначен для аналитических запросов по структурированным данным. Он поддерживает векторный поиск через SQL, где операции вычисления векторного расстояния обрабатываются как любые другие SQL-функции. Поэтому вы можете легко сочетать векторные запросы с фильтрацией и агрегацией.
Масштабируемость и производительность
MongoDB Atlas имеет Search Nodes, которые предоставляют выделенную инфраструктуру для рабочих нагрузок Atlas Search и Vector Search. Это позволяет оптимизировать вычислительные ресурсы и независимо масштабировать поисковые потребности, чтобы вы получали лучшую производительность в масштабе.
ClickHouse отлично подходит для обработки многотерабайтных наборов данных без ограничения памятью. У него полностью распараллеленный конвейер выполнения запросов, поэтому он эффективен для больших векторных наборов данных, которые необходимо обрабатывать на нескольких ядрах CPU.
Гибкость и настройка
Гибкая документная модель MongoDB позволяет хранить и запрашивать разные типы данных, включая векторные эмбеддинги размерностью до 4096. Вы можете легко сочетать поиск по векторному сходству с другими фильтрами документов.
ClickHouse обеспечивает гибкость через свой SQL-интерфейс, где вы можете сочетать векторные операции со стандартными SQL-запросами. У него также есть настраиваемые параметры сжатия через кодеки, поэтому вы можете эффективно хранить большие наборы данных.
Интеграция и экосистема
MongoDB Atlas Vector Search интегрируется с популярными AI-сервисами и инструментами. Он поддерживает модели эмбеддингов от OpenAI и VoyageAI и работает с open-source фреймворками, такими как LangChain и LlamaIndex, для создания приложений с Large Language Models (LLMs).
ClickHouse, будучи аналитической базой данных общего назначения, может потребовать дополнительной работы по интеграции для конкретных AI-инструментов. Но его SQL-интерфейс знаком многим разработчикам и аналитикам данных.
Простота использования
MongoDB Atlas — это управляемый сервис, который может упростить настройку и обслуживание. Его интеграция с более широкой экосистемой MongoDB делает его проще для команд, уже знакомых с MongoDB.
ClickHouse имеет более крутой порог вхождения для тех, кто не знаком с OLAP-базами данных или SQL. Но для разработчиков, хорошо владеющих SQL, его векторный поиск доступен через знакомый синтаксис запросов.
Соображения по стоимости
MongoDB Atlas — это полностью управляемый сервис, который может сопровождаться более высокими операционными затратами, но меньшими затратами на обслуживание.
ClickHouse, будучи open-source, имеет более низкие первоначальные затраты, но может требовать больше внутренней экспертизы для развертывания и управления.
Функции безопасности
И MongoDB Atlas, и ClickHouse имеют надежные функции безопасности. MongoDB Atlas имеет сквозное шифрование, ролевое управление доступом и сетевую изоляцию. ClickHouse имеет шифрование данных, механизмы контроля доступа и аутентификации.
Когда выбирать каждый из них
MongoDB Atlas Vector Search — лучший выбор, когда вы работаете с гибкими документно-ориентированными структурами данных и вам нужно сочетать векторный поиск с традиционными запросами к документам. Он особенно подходит для приложений, которым требуется бесшовная интеграция с AI-сервисами и инструментами, такими как рекомендательные системы, семантические поисковые системы или анализ контента на базе AI. Если вы уже используете MongoDB или вам нужен управляемый сервис, способный обрабатывать как обычные операции с базой данных, так и задачи векторного поиска, MongoDB Atlas Vector Search — это единое решение, которое может упростить ваш технологический стек и снизить операционные накладные расходы.
ClickHouse лучше всего подходит, когда у вас есть массивные наборы данных, требующие сложных запросов, сочетающих векторный поиск с SQL-фильтрацией и агрегацией. Это выбор для сценариев, где у вас есть многотерабайтные векторные наборы данных, слишком большие для индексов только в памяти, особенно когда вам требуется быстрое, распараллеленное точное сопоставление. ClickHouse отлично подходит для продвинутых сценариев поиска в аналитике данных, где нужно запрашивать векторные данные вместе с метаданными или другой структурированной информацией. Если ваша команда хорошо владеет SQL и вы ищете мощное open source-решение, способное поддерживать как векторный поиск, так и традиционные OLAP-нагрузки, ClickHouse — это ответ.
Краткое содержание
MongoDB Atlas Vector Search лучше всего подходит для гибкости, интеграции с AI и простоты использования в экосистеме MongoDB, как управляемый сервис, который объединяет документную базу данных с векторным поиском. ClickHouse лучше всего подходит для обработки массивных наборов данных, мощных векторных операций на основе SQL и высокопроизводительных аналитических запросов. Ваш выбор между ними должен определяться вашим вариантом использования, типами данных и требованиями к производительности. Выбирайте MongoDB Atlas, если вам нужно гибкое, готовое к AI решение с управляемыми сервисами, и ClickHouse, если у вас очень большие наборы данных, требующие сложных запросов, сочетающих векторный поиск с SQL. В конечном счете речь идет о согласовании сильных сторон технологии с потребностями вашего проекта и экспертизой вашей команды.
Прочитайте это, чтобы получить обзор MongoDB и ClickHouse, но для их оценки вам нужно проводить оценку исходя из вашего варианта использования. Один инструмент, который может в этом помочь, — VectorDBBench, open-source инструмент для бенчмаркинга и сравнения векторных баз данных. В конечном итоге тщательный бенчмаркинг на ваших собственных наборах данных и шаблонах запросов будет ключом к принятию решения между этими двумя мощными, но разными подходами к векторному поиску в распределенных системах баз данных.
Использование open-source VectorDBBench для самостоятельной оценки и сравнения векторных баз данных
VectorDBBench — это open-source инструмент для бенчмаркинга для пользователей, которым нужны высокопроизводительные системы хранения и извлечения данных, особенно векторные базы данных. Этот инструмент позволяет пользователям тестировать и сравнивать различные системы векторных баз данных, такие как Milvus и Zilliz Cloud (управляемый Milvus), используя собственные наборы данных, и находить ту, которая подходит для их вариантов использования. С VectorDBBench пользователи могут принимать решения на основе фактической производительности векторных баз данных, а не маркетинговых заявлений или слухов.
VectorDBBench написан на Python и лицензирован под open-source лицензией MIT, что означает, что любой может свободно использовать, изменять и распространять его. Инструмент активно поддерживается сообществом разработчиков, стремящихся улучшать его функции и производительность.
Загрузите VectorDBBench из его репозитория GitHub, чтобы воспроизвести наши результаты бенчмарка или получить результаты производительности на ваших собственных наборах данных.
Быстро ознакомьтесь с производительностью популярных векторных баз данных в рейтинге VectorDBBench.
Прочитайте следующие блоги, чтобы узнать больше об оценке векторных баз данных.
Дополнительные ресурсы о VectorDB, GenAI и ML
Читать далее

Introducing Zilliz CLI and Agent Skills for Zilliz Cloud
Manage your vector database from your terminal or AI coding agent. Zilliz CLI and Agent Skills work with Claude Code, Cursor, Codex, and Copilot.

Zilliz Named "Highest Performer" and "Easiest to Use" in G2's Summer 2025 Grid® Report for Vector Databases
Zilliz shines in G2's Summer 2025 Grid® Report as both "Highest Performer" and "Easiest to Use," solving the performance-usability dilemma.

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.
The Definitive Guide to Choosing a Vector Database
Overwhelmed by all the options? Learn key features to look for & how to evaluate with your own data. Choose with confidence.


