OpenSearch против MyScale: выбор подходящей базы данных для приложений GenAI
По мере развития приложений на базе ИИ важность возможностей векторного поиска для поддержки этих достижений невозможно переоценить. В этой публикации блога мы рассмотрим две известные базы данных с возможностями векторного поиска: OpenSearch и MyScale. Каждая из них предоставляет надежные возможности для работы с векторным поиском — важной функцией для таких приложений, как рекомендательные системы, поиск изображений и семантический поиск. Наша цель — предоставить разработчикам и инженерам понятное сравнение, которое поможет решить, какая база данных лучше всего соответствует их конкретным требованиям.
Что такое векторная база данных?
Прежде чем сравнивать OpenSearch и MyScale, давайте сначала рассмотрим концепцию векторных баз данных.
Векторная база данных специально разработана для хранения и запросов к многомерным векторам, которые являются числовыми представлениями неструктурированных данных. Эти векторы кодируют сложную информацию, такую как семантическое значение текста, визуальные признаки изображений или атрибуты продуктов. Обеспечивая эффективный поиск по сходству, векторные базы данных играют ключевую роль в приложениях ИИ, позволяя выполнять более продвинутый анализ и извлечение данных.
Распространенные варианты использования векторных баз данных включают рекомендации товаров в электронной коммерции, платформы обнаружения контента, обнаружение аномалий в кибербезопасности, анализ медицинских изображений и задачи обработки естественного языка (NLP). Они также играют важнейшую роль в Retrieval Augmented Generation (RAG) — методе, который повышает производительность больших языковых моделей (LLMs), предоставляя внешние знания для уменьшения таких проблем, как галлюцинации ИИ.
На рынке доступно множество типов векторных баз данных, включая:
- Специализированные векторные базы данных, такие как Milvus, Zilliz Cloud (полностью управляемый Milvus)
- Библиотеки векторного поиска, такие как Faiss и Annoy.
- Легковесные векторные базы данных, такие как Chroma и Milvus Lite.
- Традиционные базы данных с надстройками для векторного поиска, способные выполнять векторный поиск небольшого масштаба.
OpenSearch — это пакет с открытым исходным кодом для поиска и аналитики с векторным поиском в качестве надстройки; MyScale — это база данных, построенная на ClickHouse, которая объединяет векторный поиск и SQL-аналитику.
Что такое OpenSearch? Обзор
OpenSearch — это надежный пакет с открытым исходным кодом для поиска и аналитики, который управляет разнообразными типами данных: структурированными, полуструктурированными и неструктурированными. Запущенный в 2021 году как управляемый сообществом форк Elasticsearch и Kibana, этот пакет OpenSearch включает хранилище данных и поисковый движок OpenSearch, OpenSearch Dashboards для продвинутой визуализации данных и Data Prepper для эффективного сбора данных на стороне сервера.
Построенный на прочном фундаменте Apache Lucene, OpenSearch обеспечивает высокомасштабируемый и эффективный полнотекстовый поиск (поиск по ключевым словам), что делает его идеальным для работы с большими наборами данных. В своих последних релизах OpenSearch значительно расширил свои поисковые возможности, включив векторный поиск с помощью дополнительных плагинов, что важно для создания приложений на базе ИИ. Теперь OpenSearch поддерживает широкий набор методов поиска на основе машинного обучения, включая традиционный лексический поиск, k-ближайших соседей (k-NN), семантический поиск, мультимодальный поиск, нейронный разреженный поиск и гибридные модели поиска. Эти улучшения интегрируют нейронные модели непосредственно в поисковый фреймворк, позволяя генерировать эмбеддинги и выполнять поиск на лету в момент загрузки данных. Такая интеграция не только оптимизирует процессы, но и заметно повышает релевантность и эффективность поиска.
Недавние обновления еще больше расширили функциональность OpenSearch, добавив такие возможности, как векторный поиск, оптимизированный для диска, бинарное квантование и кодирование байтовых векторов в поиске k-NN. Эти дополнения, наряду с улучшениями в обработке задач машинного обучения и производительности поисковых запросов, подтверждают статус OpenSearch как передового инструмента для разработчиков и предприятий, стремящихся максимально использовать свои данные. Поддерживаемый динамичным и открытым к сотрудничеству сообществом, OpenSearch продолжает развиваться, предлагая комплексную, масштабируемую и адаптируемую платформу поиска и аналитики, которая выделяется как один из лучших вариантов для разработчиков, нуждающихся в расширенных поисковых возможностях в своих приложениях.
Что такое MyScale? Обзор
MyScale — это облачная база данных, построенная на основе открытой базы данных ClickHouse и предназначенная для рабочих нагрузок ИИ и машинного обучения. Она может обрабатывать структурированные и векторные данные, а также аналитику в реальном времени и машинное обучение. MyScale ориентирована на временные ряды, векторный поиск и полнотекстовый поиск, поэтому она хорошо подходит для обработки в реальном времени и аналитических выводов на основе ИИ. Используя архитектуру ClickHouse, MyScale обеспечивает высокую производительность и масштабируемость для ИИ.
Одной из ключевых возможностей MyScale является нативная поддержка SQL, которая упрощает запросы на базе ИИ за счет интеграции векторного поиска, полнотекстового поиска и традиционных SQL-запросов в одной системе. Это снижает потребность в нескольких инструментах и делает решение масштабируемым для ИИ. MyScale поддерживает и управляет аналитической обработкой как структурированных, так и векторизованных данных на одной платформе, используя архитектуру OLAP-базы данных для работы с векторизованными данными. Разработчики могут взаимодействовать с MyScale с помощью SQL, поэтому она доступна всем программистам, знакомым с реляционными базами данных.
MyScale имеет несколько типов векторных индексов и метрик сходства для поддержки разных сценариев использования. Она поддерживает распространенные метрики расстояния, такие как евклидово расстояние (L2), внутреннее произведение (IP) и косинусное сходство. База данных имеет несколько алгоритмов индексирования: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ и HNSW, каждый со своим набором параметров для настройки. Собственный векторный движок MSTG от MyScale использует NVMe SSD для увеличения плотности данных, поэтому он превосходит специализированные векторные базы данных как по производительности, так и по стоимости.
Объединяя функциональность SQL-базы данных, векторной базы данных и движка полнотекстового поиска в одной системе, MyScale снижает затраты на инфраструктуру и обслуживание. Это объединение позволяет выполнять совместные запросы и аналитику данных, а также обеспечивает единую основу данных для приложений ИИ. MyScale также имеет MyScale Telemetry для полной наблюдаемости LLM-систем, чтобы вы могли эффективно выполнять мониторинг и отладку. По мере усложнения данных MyScale представляет собой перспективное решение, способное работать с новыми модальностями данных и размерами баз данных, сохраняя вычислительную производительность и интеграцию между различными типами данных.
Сравнение OpenSearch и MyScale для GenAI
Методология поиска
OpenSearch построен на Apache Lucene и эволюционировал, включив расширенные функции поиска, такие как векторный поиск, семантический поиск и гибридные модели, что делает его хорошо адаптируемым для приложений на основе ИИ. Теперь он включает методы на базе машинного обучения для генерации эмбеддингов «на лету», повышая точность и релевантность результатов поиска.
MyScale, основанный на архитектуре ClickHouse, также предлагает мощные возможности поиска, но с акцентом на интеграцию SQL с векторным и полнотекстовым поиском. Эта интеграция делает MyScale особенно подходящим для рабочих нагрузок ИИ и машинного обучения, упрощая сложные запросы по разнообразным типам данных.
Обработка данных
OpenSearch обрабатывает широкий спектр типов данных, включая структурированные, полуструктурированные и неструктурированные данные, поддерживаемые такими функциями, как оптимизированный для диска векторный поиск и бинарная квантизация. Его гибкость позволяет эффективно обрабатывать и хранить огромные наборы данных.
MyScale фокусируется на структурированных и векторных данных, используя OLAP-возможности ClickHouse для эффективной обработки временных рядов, векторных и полнотекстовых данных. Он поддерживает различные типы векторных индексов и метрики сходства, расширяя свои возможности по обработке специфичных для ИИ требований к данным.
Масштабируемость и производительность
OpenSearch разработан для масштабируемости, эффективно управляя большими наборами данных в распределенных средах. Его последние обновления расширяют способность выполнять сложные поисковые запросы без ущерба для производительности.
MyScale делает акцент на производительности и масштабируемости в приложениях ИИ, используя передовые алгоритмы индексирования и NVMe SSD для повышения плотности данных и скорости запросов. Он спроектирован так, чтобы превосходить специализированные векторные базы данных, предлагая масштабируемое решение для современных инсайтов на основе ИИ.
Гибкость и настройка
OpenSearch предлагает широкие возможности настройки благодаря своим плагинам и активному сообществу, поддерживая широкий спектр приложений и сценариев интеграции.
MyScale объединяет функции SQL, векторного и текстового поиска в единой системе, снижая потребность в нескольких инструментах и обеспечивая высокий уровень настройки для запросов ИИ. Его поддержка нескольких алгоритмов индексирования и параметров обеспечивает дополнительную гибкость для конкретных сценариев использования.
Интеграция и экосистема
OpenSearch интегрируется с различными инструментами и фреймворками, получая выгоду от сильного, совместного сообщества, которое обеспечивает его непрерывное развитие.
MyScale предоставляет бесшовные возможности интеграции, объединяя различные функции баз данных в одной системе, облегчая управление и снижая затраты на инфраструктуру. Он также включает телеметрию для мониторинга и отладки, повышая наблюдаемость системы.
Простота использования
OpenSearch, обладая обширными функциями, может иметь более крутую кривую обучения, хотя он поддерживается надежной документацией и отзывчивым сообществом.
MyScale предлагает знакомый интерфейс SQL, делая его доступным для программистов, привыкших к реляционным базам данных, тем самым потенциально снижая порог входа для разработки приложений на основе ИИ.
Соображения по стоимости
OpenSearch может быть экономически эффективным для самостоятельно управляемых развертываний, но может приводить к более высоким операционным затратам для крупных распределенных конфигураций.
MyScale заявляет о снижении затрат на инфраструктуру и обслуживание за счет объединения SQL, векторных и текстовых баз данных в единую систему, обеспечивая экономическую эффективность в масштабе.
Функции безопасности
OpenSearch включает комплексные функции безопасности, такие как шифрование, управление доступом на основе ролей и журналирование аудита, подходящие для защищенных корпоративных приложений.
MyScale сведения о безопасности не были указаны, но, учитывая его продвинутую архитектуру, он, вероятно, включает базовые меры безопасности, такие как шифрование и контроль доступа, для защиты рабочих нагрузок ИИ и машинного обучения.
Теперь это сравнение точно отражает возможности и различия OpenSearch и MyScale, предоставляя более ясное представление об их пригодности для различных потребностей приложений, особенно в контекстах ИИ и машинного обучения.
Когда выбирать Opensearch и MyScale для GenAI
Выбирайте OpenSearch, когда:
- Сложные поисковые потребности по различным типам данных: Вам требуются расширенные возможности поиска, включая полнотекстовый поиск, семантический поиск и векторный поиск, по сочетанию структурированных, полуструктурированных и неструктурированных данных.
- Аналитика и визуализация в реальном времени: Ваше приложение выигрывает от интеграции поиска с аналитикой и визуализациями в реальном времени с использованием OpenSearch Dashboards для интерактивного анализа данных.
- Масштабируемые поисковые операции: Вам нужно решение, которое эффективно масштабируется для обработки больших наборов данных, сохраняя высокую производительность в распределённых вычислительных средах.
- Функции и поддержка, управляемые сообществом: Вы цените сильное, совместно работающее сообщество и постоянные улучшения, driven by open-source contributions, ensuring the platform evolves with your needs.
Выбирайте MyScale, когда:
- Нагрузки ИИ и машинного обучения: Ваш фокус — приложения, активно использующие ИИ и машинное обучение, особенно там, где критически важна интеграция SQL с векторным и полнотекстовым поиском.
- Единое решение для базы данных: Вы предпочитаете единую систему, сочетающую функциональность SQL-базы данных, векторной базы данных и движка полнотекстового поиска, что снижает сложность управления несколькими системами.
- Высокие требования к производительности для больших наборов данных: Вам нужна база данных, оптимизированная для производительности, особенно для временных рядов и векторных данных, с использованием продвинутых алгоритмов индексирования и аппаратных оптимизаций, таких как NVMe SSD.
- Простота использования с SQL: Вам нужна база данных, доступная программистам, знакомым с SQL, что упрощает разработку и поддержку запросов на основе ИИ без крутого порога вхождения, связанного с более сложными системами.
Использование open-source VectorDBBench для самостоятельной оценки и сравнения векторных баз данных
VectorDBBench — это open-source инструмент бенчмаркинга, разработанный для пользователей, которым требуются высокопроизводительные системы хранения и извлечения данных, особенно векторные базы данных. Этот инструмент позволяет пользователям тестировать и сравнивать производительность различных систем векторных баз данных, таких как Milvus и Zilliz Cloud (управляемый Milvus), с использованием собственных наборов данных и определять наиболее подходящую для их сценариев использования. Используя VectorDBBench, пользователи могут принимать обоснованные решения на основе фактической производительности векторных баз данных, а не полагаться на маркетинговые заявления или неподтверждённые свидетельства.
VectorDBBench написан на Python и распространяется по open-source лицензии MIT, что означает, что любой может свободно использовать, изменять и распространять его. Инструмент активно поддерживается сообществом разработчиков, стремящихся улучшать его функции и производительность.
Скачайте VectorDBBench из его репозитория GitHub, чтобы воспроизвести наши результаты бенчмарка или получить результаты производительности на собственных наборах данных.
Быстро ознакомьтесь с производительностью популярных векторных баз данных на лидерборде VectorDBBench.
Прочитайте следующие блоги, чтобы узнать больше об оценке векторных баз данных.
Дополнительные ресурсы о VectorDB, GenAI и ML
Читать далее

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.
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.


