Weaviate и MyScale: выбор подходящей векторной базы данных для ваших потребностей
По мере развития ИИ и технологий, основанных на данных, выбор подходящей векторной базы данных для вашего приложения становится всё более важным. Weaviate и MyScale — два варианта в этой области. В этой статье эти технологии сравниваются, чтобы помочь вам принять обоснованное решение для вашего проекта.
Что такое векторная база данных?
Прежде чем сравнить Weaviate и MyScale, давайте сначала рассмотрим концепцию векторных баз данных.
Векторная база данных специально предназначена для хранения и запроса многомерных векторов, которые являются числовыми представлениями неструктурированных данных. Эти векторы кодируют сложную информацию, такую как семантическое значение текста, визуальные признаки изображений или атрибуты продуктов. Обеспечивая эффективный поиск по сходству, векторные базы данных играют ключевую роль в приложениях ИИ, позволяя выполнять более продвинутый анализ и извлечение данных.
Распространённые сценарии использования векторных баз данных включают рекомендации товаров в электронной коммерции, платформы обнаружения контента, обнаружение аномалий в кибербезопасности, анализ медицинских изображений и задачи обработки естественного языка (NLP). Они также играют важнейшую роль в Retrieval Augmented Generation (RAG) — методе, который повышает производительность больших языковых моделей (LLMs), предоставляя внешние знания для уменьшения таких проблем, как галлюцинации ИИ.
На рынке доступно множество типов векторных баз данных, включая:
- Специализированные векторные базы данных, такие как Milvus, Zilliz Cloud (полностью управляемый Milvus) и Weaviate
- Библиотеки векторного поиска, такие как Faiss и Annoy.
- Легковесные векторные базы данных, такие как Chroma и Milvus Lite.
- Традиционные базы данных с надстройками для векторного поиска, способные выполнять векторный поиск небольшого масштаба.
Weaviate — это специализированная векторная база данных, а MyScale — традиционная база данных с возможностями векторного поиска в качестве надстройки. В этом посте сравниваются их возможности векторного поиска.
Weaviate: обзор и базовая технология
Weaviate — это векторная база данных с открытым исходным кодом, предназначенная для упрощения разработки приложений ИИ. Она предлагает встроенные возможности векторного и гибридного поиска, простую интеграцию с моделями машинного обучения и акцент на конфиденциальности данных. Эти функции призваны помочь разработчикам с разным уровнем навыков более эффективно создавать, итеративно улучшать и масштабировать приложения ИИ.
Одной из сильных сторон Weaviate является быстрый и точный поиск по сходству. Она использует индексирование HNSW (Hierarchical Navigable Small World), чтобы обеспечить векторный поиск по большим наборам данных. Weaviate также поддерживает объединение векторного поиска с традиционными фильтрами, что позволяет выполнять мощные гибридные запросы, использующие как семантическое сходство, так и конкретные атрибуты данных.
Ключевые функции Weaviate включают:
- Сжатие PQ для эффективного хранения и извлечения
- Гибридный поиск с параметром alpha для настройки баланса между BM25 и векторным поиском
- Встроенные плагины для embeddings и reranking, которые упрощают разработку
Weaviate — это отправная точка для разработчиков, желающих попробовать векторный поиск. Он предлагает удобный для разработчиков подход с простой настройкой и хорошо документированными API. Глубокая интеграция с экосистемой GenAI делает его подходящим для небольших проектов или proof-of-concept. Целевая аудитория Weaviate — это инженеры-программисты, создающие AI-приложения, data engineers, работающие с большими наборами данных, и data scientists, внедряющие модели машинного обучения. Weaviate упрощает семантический поиск, рекомендательные системы, классификацию контента и другие AI-функции.
Weaviate спроектирован для горизонтального масштабирования, поэтому он может обрабатывать большие наборы данных и высокие нагрузки запросов за счет распределения данных по нескольким узлам в кластере. Он поддерживает мультимодальные данные, работает с различными типами данных (текст, изображения, аудио, видео) в зависимости от используемых модулей векторизации. Weaviate предоставляет как RESTful, так и GraphQL API для гибкости в том, как разработчики взаимодействуют с базой данных.
Однако для крупномасштабных production-сред существуют несколько факторов, которые следует учитывать:
- Ограниченные функции безопасности enterprise-уровня
- Потенциальные проблемы масштабируемости с наборами данных в несколько миллиардов векторов
- Требуется ручное управление недавно выпущенными вариантами tiered storage
- Горизонтальное масштабирование требует помощи инженеров Weaviate и не может выполняться автоматически
Последний пункт особенно важен, поскольку он означает, что организациям необходимо планировать заранее и выделять время на операции масштабирования, чтобы не приблизиться к системным лимитам без надлежащей подготовки.
MyScale: Обзор и технологии
MyScale — это облачная база данных, построенная поверх open source базы данных ClickHouse и предназначенная для AI- и machine learning-нагрузок. Она может обрабатывать структурированные и векторные данные, а также аналитику в реальном времени и машинное обучение. MyScale ориентирована на временные ряды, векторный поиск и полнотекстовый поиск, поэтому она хорошо подходит для обработки в реальном времени и AI-driven insights. Используя архитектуру ClickHouse, MyScale обеспечивает высокую производительность и масштабируемость для AI.
Одна из ключевых особенностей MyScale — нативная поддержка SQL, которая упрощает AI-driven запросы за счет интеграции векторного поиска, полнотекстового поиска и традиционных SQL-запросов в одной системе. Это снижает потребность в нескольких инструментах и делает решение масштабируемым для AI. MyScale поддерживает и управляет аналитической обработкой как структурированных, так и векторизованных данных на одной платформе, используя архитектуру OLAP-базы данных для операций с векторизованными данными. Разработчики могут взаимодействовать с MyScale с помощью SQL, поэтому она доступна всем программистам, знакомым с реляционными базами данных.
MyScale имеет несколько типов векторных индексов и метрик сходства для поддержки разных сценариев использования. Она поддерживает распространенные метрики расстояния, такие как евклидово расстояние (L2), скалярное произведение (IP) и косинусное сходство. База данных имеет несколько алгоритмов индексирования: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ и HNSW, каждый со своим набором параметров для настройки. Проприетарный векторный движок MSTG от MyScale использует NVMe SSD для повышения плотности данных, поэтому он превосходит специализированные векторные базы данных как по производительности, так и по стоимости.
Объединяя функциональность SQL-базы данных, векторной базы данных и движка полнотекстового поиска в одной системе, MyScale снижает затраты на инфраструктуру и обслуживание. Такая унификация позволяет выполнять совместные запросы к данным и аналитику, а также предоставляет единую основу данных для AI-приложений. MyScale также имеет MyScale Telemetry для полной наблюдаемости LLM-систем, чтобы вы могли эффективно мониторить и отлаживать их. По мере усложнения данных MyScale является future proof решением, способным обрабатывать новые модальности данных и размеры баз данных, сохраняя вычислительную производительность и интеграцию между различными типами данных.
Ключевые различия
При выборе инструмента векторного поиска важно понимать различия между Weaviate и MyScale. Это сравнение поможет разработчикам и инженерам принять обоснованное решение.
Методология поиска
Weaviate использует индексирование HNSW (Hierarchical Navigable Small World) для быстрых и точных поисков по сходству. Он поддерживает гибридные запросы, сочетая векторный поиск с традиционными фильтрами. Это позволяет выполнять гибкий поиск как по семантическому сходству, так и по конкретным атрибутам данных.
MyScale имеет несколько типов векторных индексов и метрик сходства. В нем есть распространенные метрики расстояния, такие как евклидово расстояние, скалярное произведение и косинусное сходство. MyScale имеет несколько алгоритмов индексирования: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ и HNSW. Каждый алгоритм имеет настраиваемые параметры, поэтому вы можете адаптировать его под свой сценарий использования.
Данные
Weaviate хорошо справляется с обработкой структурированных и полуструктурированных данных. Он поддерживает мультимодальные данные и может работать с разными типами данных: текстом, изображениями, аудио, видео — в зависимости от используемых модулей векторизации.
MyScale предназначен для обработки как структурированных, так и векторных данных. Это SQL-база данных, векторная база данных и полнотекстовая поисковая система в одной системе. Такой унифицированный подход позволяет выполнять совместные запросы и аналитику данных, а также предоставляет единую основу данных для AI-приложений.
Масштабируемость и производительность
Weaviate горизонтально масштабируем, распределяя данные по нескольким узлам в кластере. Но он может испытывать трудности с наборами данных из нескольких миллиардов векторов, а горизонтальное масштабирование требует помощи инженеров Weaviate.
MyScale, построенный на базе ClickHouse, предназначен для высокой производительности и масштабируемости. Его проприетарный векторный движок MSTG использует NVMe SSD для повышения плотности данных и потенциально превосходит специализированные векторные базы данных как по производительности, так и по стоимости. Архитектура MyScale может обрабатывать большие наборы данных и высокие нагрузки запросов.
Гибкость и настройка
Weaviate обеспечивает гибкость благодаря гибридному поиску и поддержке нескольких типов данных. У него есть как RESTful, так и GraphQL API, поэтому у разработчиков есть варианты взаимодействия с базой данных.
MyScale имеет встроенную поддержку SQL, векторный поиск, полнотекстовый поиск и традиционные SQL-запросы в одной системе. Это упрощает запросы и снижает потребность в нескольких инструментах. Разработчики могут взаимодействовать с MyScale с помощью SQL, поэтому он знаком программистам, которые знают реляционные базы данных.
Интеграция и экосистема
Weaviate является частью экосистемы GenAI и подходит для разработки AI-приложений. У него есть встроенные плагины для embeddings и reranking, чтобы упростить процесс разработки.
MyScale фокусируется на интеграции между разными типами данных внутри собственной системы. У него есть MyScale Telemetry для полной наблюдаемости LLM-систем, чтобы вы могли мониторить и отлаживать свои AI-приложения.
Простота использования
Weaviate удобен для разработчиков, имеет простую настройку и хорошо документированные API. Хорошо подходит для небольших проектов или PoC-работ.
SQL-запросы MyScale могут быть знакомы разработчикам с опытом SQL. Но множество алгоритмов индексирования и вариантов настройки может потребовать немного больше обучения для оптимизации.
Стоимость
Оба решения в своей основе являются open-source, но операционные расходы различаются. У Weaviate могут возникать проблемы с масштабируемостью при очень больших наборах данных, и в некоторых случаях это может привести к более высоким затратам. MyScale заявляет о снижении затрат на инфраструктуру и обслуживание за счет объединения нескольких функций баз данных в одной системе.
Функции безопасности
У Weaviate нет безопасности корпоративного уровня.
Когда выбирать каждое решение
Weaviate хорош для проектов, которым нужны быстрые поиски по сходству и гибридные запросы, объединяющие векторный поиск с фильтрами. Он отлично подходит для AI-приложений, которым нужны быстрая настройка и итерации, особенно для семантического поиска, рекомендательных систем или классификации контента. Weaviate хорош для мультимодальных данных (текст, изображения, аудио, видео) и небольших проектов или PoC в области AI и машинного обучения. Он удобен для разработчиков и является частью экосистемы GenAI, поэтому идеально подходит для команд, которые хотят добавить векторный поиск без необходимости быть экспертом по базам данных.
MyScale хорошо подходит для проектов, которым нужен единый способ работы со структурированными данными, векторными данными и полнотекстовым поиском в одной системе. Он отлично подходит для приложений, которым требуются обработка в реальном времени и аналитические выводы на основе ИИ из сложных данных. Нативная поддержка SQL в MyScale делает его идеальным для команд с экспертизой в SQL, чтобы вы могли добавить векторный поиск в привычные структуры запросов. Его возможности масштабируемости и производительности особенно хороши для больших наборов данных, поэтому он отлично подходит для приложений корпоративного уровня, которым требуются высокопроизводительная аналитика и нагрузки машинного обучения. MyScale также хорошо подходит для проектов, которым нужна полная наблюдаемость LLM-систем.
Заключение
Weaviate хорош для удобного для пользователя подхода к векторному поиску с быстрым поиском сходства, гибридными запросами и простой интеграцией с экосистемами ИИ. Он отлично подходит для мультимодальных данных и имеет низкий порог входа. MyScale хорош для объединения структурированных данных, векторных данных и полнотекстового поиска в одной высокомасштабируемой системе с SQL-интерфейсом и расширенными функциями производительности для сложных приложений ИИ и аналитики корпоративного уровня. При выборе между ними учитывайте свои сценарии использования, типы данных и требования к производительности. Weaviate может подойти командам, которым нужны быстрое внедрение и гибкость при работе с разными типами данных, MyScale может быть лучше для организаций, которым нужно полноценное решение на основе SQL для крупномасштабной обработки данных и аналитики на основе ИИ. Ваше решение должно соответствовать экспертизе вашей команды, характеру ваших данных и вашим долгосрочным требованиям к масштабируемости.
Хотя эта статья предоставляет обзор Weaviate и MyScale, важно оценивать эти базы данных исходя из вашего конкретного сценария использования. Один инструмент, который может помочь в этом процессе, — VectorDBBench, инструмент сравнительного тестирования с открытым исходным кодом, разработанный для сравнения производительности векторных баз данных. В конечном итоге тщательное бенчмаркинг-тестирование на конкретных наборах данных и шаблонах запросов будет необходимо для принятия обоснованного решения между этими двумя мощными, но различными подходами к векторному поиску в распределённых системах баз данных.
Использование open-source VectorDBBench для самостоятельной оценки и сравнения векторных баз данных
VectorDBBench — это инструмент сравнительного тестирования с открытым исходным кодом, предназначенный для пользователей, которым требуются высокопроизводительные системы хранения и извлечения данных, в частности векторные базы данных. Этот инструмент позволяет пользователям тестировать и сравнивать производительность различных систем векторных баз данных, таких как Milvus и Zilliz Cloud (управляемый Milvus), используя собственные наборы данных, и определять наиболее подходящую для их сценариев использования. Используя VectorDBBench, пользователи могут принимать обоснованные решения на основе фактической производительности векторных баз данных, а не полагаться на маркетинговые заявления или отдельные свидетельства.
VectorDBBench написан на Python и лицензирован по open-source лицензии MIT, что означает, что любой может свободно использовать, изменять и распространять его. Инструмент активно поддерживается сообществом разработчиков, стремящихся улучшать его функции и производительность.
Скачайте VectorDBBench из его репозитория GitHub, чтобы воспроизвести наши результаты тестирования или получить результаты производительности на собственных наборах данных.
Быстро ознакомьтесь с производительностью популярных векторных баз данных в рейтинге VectorDBBench.
Прочитайте следующие блоги, чтобы узнать больше об оценке векторных баз данных.
Дополнительные ресурсы о VectorDB, GenAI и ML
Читать далее

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.

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.
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.


