Chroma против MyScale в возможностях векторного поиска
По мере того как приложения на основе ИИ становятся всё более распространёнными, разработчики и инженеры сталкиваются с задачей выбора подходящей базы данных для эффективной обработки векторных данных. Два популярных варианта в этой области — Chroma и MyScale. В этой статье сравниваются эти технологии, чтобы помочь вам принять обоснованное решение для ваших потребностей в векторной базе данных.
Что такое векторная база данных?
Прежде чем сравнивать Chroma и MyScale, давайте сначала рассмотрим концепцию векторных баз данных. Векторная база данных специально разработана для хранения и запросов высокоразмерных векторов, которые являются числовыми представлениями неструктурированных данных. Эти векторы кодируют сложную информацию, такую как семантическое значение текста, визуальные признаки изображений или атрибуты продуктов. Обеспечивая эффективный поиск по сходству, векторные базы данных играют ключевую роль в приложениях ИИ, позволяя выполнять более продвинутый анализ и извлечение данных.
Векторные базы данных применяются во многих сценариях, включая рекомендации товаров в электронной коммерции, платформы обнаружения контента, обнаружение аномалий в кибербезопасности, анализ медицинских изображений и задачи обработки естественного языка (NLP). Они также играют важнейшую роль в Retrieval Augmented Generation (RAG) — методе, который повышает производительность больших языковых моделей (LLMs), предоставляя внешние знания для снижения таких проблем, как галлюцинации ИИ.
На рынке доступно множество типов векторных баз данных, включая:
Специализированные векторные базы данных, такие как Milvus, Zilliz Cloud (полностью управляемый Milvus)
Легковесные векторные базы данных, такие как Chroma и Milvus Lite.
Традиционные базы данных с дополнениями для векторного поиска, способные выполнять векторный поиск в небольшом масштабе.
Chroma и Myscale представляют разные подходы к векторным базам данных. Cassandra — это традиционная база данных, которая развилась и включила возможности векторного поиска, а Vald, с другой стороны, — специализированная векторная база данных. Она была спроектирована с нуля для обработки векторных данных и эффективного выполнения поиска по сходству. Как специализированное решение, Vald сосредоточена исключительно на векторных операциях и оптимизирована для таких задач, как поиск по сходству и рекомендации.
Что такое Chroma? Обзор
Chroma — это векторная база данных с открытым исходным кодом, изначально ориентированная на ИИ, которая упрощает процесс создания ИИ-приложений. Она выступает в роли моста между большими языковыми моделями (LLM) и данными, которые им необходимы для эффективной работы. Основная цель Chroma — сделать знания, факты и навыки легко доступными для LLM, тем самым упрощая разработку приложений на базе ИИ. По своей сути Chroma предоставляет инструменты для управления векторными данными, позволяя разработчикам хранить эмбеддинги (векторные представления данных) вместе со связанными с ними метаданными. Эта возможность крайне важна для многих ИИ-приложений, поскольку она обеспечивает эффективный поиск по сходству и извлечение данных на основе векторных связей.
Одна из ключевых сильных сторон Chroma — ее ориентация на простоту и продуктивность разработчиков. Команда, стоящая за Chroma, отдала приоритет созданию интуитивно понятного интерфейса, который позволяет разработчикам быстро интегрировать возможности векторного поиска в свои приложения. Этот акцент на удобстве использования не идет в ущерб производительности. Chroma спроектирована как быстрая и эффективная система, что делает ее подходящей для широкого спектра приложений. Она работает как сервер и предлагает официальные клиентские SDK как для Python, так и для JavaScript/TypeScript, предоставляя разработчикам гибкость для работы в предпочитаемой ими среде программирования.
Функциональность Chroma строится вокруг концепции коллекций, которые представляют собой группы связанных эмбеддингов. При добавлении документов в коллекцию Chroma система может автоматически токенизировать их и создавать для них эмбеддинги с использованием указанной функции эмбеддинга или функции по умолчанию, если она не задана. Этот процесс преобразует необработанные данные в векторные представления, по которым можно эффективно выполнять поиск. Наряду с эмбеддингами Chroma позволяет хранить метаданные для каждого документа, которые могут включать дополнительную информацию, полезную для фильтрации или организации данных. Chroma предоставляет гибкие возможности запросов, позволяя искать похожие документы с использованием либо векторных эмбеддингов, либо текстовых запросов и возвращая наиболее близкие совпадения на основе векторного сходства.
Chroma выделяется несколькими особенностями. Ее API разработан как интуитивно понятный и простой в использовании, что снижает порог входа для разработчиков, впервые работающих с векторными базами данных. Она поддерживает различные типы данных и может работать с разными моделями эмбеддингов, позволяя пользователям выбирать лучший подход для своего конкретного сценария использования. Chroma создана для бесшовной интеграции с другими ИИ-инструментами и фреймворками, что делает ее хорошим выбором для сложных ИИ-конвейеров. Кроме того, открытый исходный код Chroma (лицензия Apache 2.0) обеспечивает прозрачность и потенциал для улучшений и настроек, инициируемых сообществом. Команда Chroma активно работает над улучшениями, включая планы по управляемому сервису (Hosted Chroma) и различным улучшениям инструментов, что свидетельствует о приверженности дальнейшей разработке и поддержке.
Что такое 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 также предлагает комплексную наблюдаемость для LLM-систем через MyScale Telemetry, обеспечивая эффективный мониторинг и отладку. По мере роста сложности данных MyScale позиционирует себя как перспективное решение, способное обрабатывать новые модальности данных и размеры баз данных, сохраняя вычислительную производительность и интеграцию между различными типами данных.
Ключевые отличия
Методология поиска
Chroma и MyScale оба предлагают возможности векторного поиска, но их подходы различаются. Chroma предоставляет гибкие варианты запросов, позволяя выполнять поиск с использованием либо векторных эмбеддингов, либо текстовых запросов. Он возвращает ближайшие совпадения на основе векторного сходства. MyScale, с другой стороны, предлагает более широкий спектр типов векторных индексов и метрик сходства. Он поддерживает распространенные метрики расстояния, такие как евклидово расстояние (L2), скалярное произведение (IP) и косинусное сходство, а также предоставляет несколько алгоритмов индексирования, включая MSTG, ScaNN, IVFFLAT, IVFPQ, IVFSQ и HNSW. Такое разнообразие позволяет MyScale обслуживать более широкий спектр сценариев использования и потенциально предлагать более тонко настроенную производительность поиска.
Обработка данных
Chroma в основном сосредоточен на управлении векторными данными и связанными с ними метаданными. Он позволяет разработчикам хранить эмбеддинги вместе с их метаданными, обеспечивая эффективный поиск по сходству и извлечение данных на основе векторных связей. MyScale, построенный на ClickHouse, обрабатывает как структурированные, так и векторные данные. Он поддерживает аналитику в реальном времени по данным временных рядов, векторный поиск и полнотекстовый поиск. Это делает MyScale потенциально более универсальным для приложений, которым необходимо работать с различными типами данных, а не только с векторными данными.
Масштабируемость и производительность
Chroma разработан как быстрый и эффективный инструмент, подходящий для широкого спектра приложений. Однако конкретные сведения о его масштабируемости для очень больших наборов данных в обзоре не приведены. MyScale, используя архитектуру ClickHouse, предлагает высокую производительность и масштабируемость для ИИ-приложений. Он использует передовую архитектуру OLAP-базы данных для эффективного выполнения операций над векторизованными данными. Собственный векторный движок MSTG от MyScale, использующий NVMe SSD, заявляет о повышении плотности данных и превосходстве над специализированными векторными базами данных как по производительности, так и по экономической эффективности.
Гибкость и настройка
Chroma предлагает гибкость в плане поддержки различных типов данных и разных моделей эмбеддингов. Пользователи могут выбрать лучший подход для своего конкретного сценария использования. MyScale обеспечивает гибкость благодаря своему SQL-интерфейсу, позволяя выполнять сложные запросы, сочетающие векторный поиск, полнотекстовый поиск и традиционные SQL-запросы. Он также предлагает различные алгоритмы индексирования и параметры для настройки производительности, потенциально предоставляя больше возможностей для кастомизации.
Интеграция и экосистема
Chroma создана для бесшовной работы с другими AI-инструментами и фреймворками, что делает ее подходящей для сложных AI-пайплайнов. Она предоставляет собственные клиентские SDK как для Python, так и для JavaScript/TypeScript. MyScale, будучи построенным на ClickHouse, может использовать преимущества зрелой кодовой базы и экосистемы ClickHouse. Он объединяет функциональность SQL-базы данных, векторной базы данных и полнотекстового поискового движка в единую систему, что может упростить общую архитектуру AI-приложений.
Простота использования
Chroma делает акцент на простоте и продуктивности разработчиков, предлагая интуитивно понятный интерфейс, который позволяет быстро интегрировать возможности векторного поиска. Ее API разработан так, чтобы быть простым в использовании, потенциально снижая порог входа для разработчиков, которые только начинают работать с векторными базами данных. MyScale, хотя и предлагает мощные функции, может иметь более крутой порог обучения из-за более широкого набора возможностей. Однако использование SQL в качестве основного интерфейса может сделать его более доступным для разработчиков, уже знакомых с реляционными базами данных.
Соображения стоимости
Обзор не предоставляет конкретной информации о структуре стоимости Chroma. Что касается MyScale, хотя точные цены не упоминаются, он позиционируется как экономически эффективное решение. Интегрируя несколько функциональностей (SQL-база данных, векторная база данных, полнотекстовый поиск) в единую систему, MyScale стремится снизить затраты на инфраструктуру и обслуживание по сравнению с использованием нескольких специализированных инструментов.
Функции безопасности
Ни один из обзоров не предоставляет подробной информации о функциях безопасности. Это та область, где требуется больше информации для проведения всестороннего сравнения. Однако, учитывая позиционирование MyScale как решения, готового для корпоративного использования, он, вероятно, предлагает стандартные функции безопасности баз данных. Chroma, будучи open-source, может в большей степени полагаться на улучшения безопасности, инициируемые сообществом.
Когда выбирать Chroma или MyScale
Chroma — отличный выбор для проектов, которым требуется быстрая настройка и интеграция возможностей векторного поиска, особенно в AI-приложениях. Она особенно подходит для команд, ищущих open-source-решение, которое они потенциально могут кастомизировать или вносить в него вклад. Chroma особенно хорошо проявляет себя в приложениях, которые в основном работают с векторными данными и не требуют сложных SQL-операций или обработки разнообразных типов данных. Разработчики, предпочитающие работать с Python или JavaScript/TypeScript, оценят нативную поддержку SDK в Chroma. Она идеальна для сценариев, где приоритетом является бесшовная интеграция с другими AI-инструментами и фреймворками. Команды, которые ценят простоту и удобство использования больше, чем широкий набор продвинутых функций, найдут Chroma подходящим вариантом.
С другой стороны, MyScale — лучший вариант для проектов, которым требуется обрабатывать как структурированные, так и векторные данные, особенно если они включают данные временных рядов, векторный поиск и полнотекстовый поиск. Он хорошо подходит для приложений, которым необходимо выполнять сложные запросы, объединяющие векторный поиск с традиционными SQL-операциями. Команды, которые уже знакомы с SQL и хотят использовать эти знания при работе с векторными данными, сочтут MyScale привлекательным. Это сильный выбор в сценариях, где критически важны высокая производительность и масштабируемость для больших наборов данных. MyScale идеален для проектов, которым требуется единое решение для функциональности SQL-базы данных, векторной базы данных и полнотекстового поиска. Он предлагает детальный контроль над векторным индексированием и алгоритмами поиска, что делает его подходящим для команд, которым нужен такой уровень кастомизации.
MyScale особенно хорошо подходит для приложений корпоративного уровня, которым требуются комплексные возможности наблюдаемости и мониторинга. Его архитектура, построенная на ClickHouse, обеспечивает преимущества с точки зрения производительности и масштабируемости, что может быть критически важно для обработки крупномасштабных AI-нагрузок. Организации, стремящиеся к экономической эффективности при управлении сложными операциями с данными, могут счесть интегрированный подход MyScale более экономичным, чем использование нескольких специализированных инструментов.
В конечном счете выбор между Chroma и MyScale зависит от конкретных требований вашего проекта. Chroma предлагает простоту и легкость интеграции, что делает его хорошим выбором для проектов, где векторный поиск является основным фокусом, а быстрая разработка имеет ключевое значение. MyScale, с более широким набором функций и совместимостью с SQL, больше подходит для сложных, data-intensive приложений, которым требуется обработка различных типов данных и расширенные возможности запросов. При принятии решения учитывайте экспертизу вашей команды, масштаб ваших данных, сложность ваших запросов и ваши долгосрочные потребности в масштабируемости.
Заключение
Когда речь идет о векторных базах данных, Chroma и MyScale предлагают разные преимущества. Chroma примечателен своей простотой, удобством использования и фокусом на AI-driven приложениях, что делает его подходящим вариантом для команд, которым нужны быстрая интеграция и понятные возможности векторного поиска. MyScale, построенный на ClickHouse, предоставляет более комплексное решение, которое объединяет векторный поиск с традиционными SQL-операциями и обрабатывает различные типы данных. Он хорошо подходит для сложных, data-intensive приложений, которым требуются масштабируемость и расширенные возможности запросов. Ваш выбор между этими двумя технологиями будет зависеть от конкретных потребностей вашего проекта, включая сложность ваших операций с данными, размер ваших наборов данных, экспертизу вашей команды и ваши долгосрочные требования к масштабируемости. И Chroma, и MyScale предлагают ценные инструменты для реализации векторного поиска в современных AI- и data-driven приложениях, каждый из которых ориентирован на разные сценарии использования и предпочтения.
Когда выбирать специализированную векторную базу данных?
Хотя Chroma и Myscale предлагают возможности векторного поиска, они не оптимизированы для крупномасштабных, высокопроизводительных задач векторного поиска. Если ваше приложение зависит от быстрого и точного поиска сходства по миллионам или миллиардам высокоразмерных векторов, например в распознавании изображений, рекомендациях для электронной коммерции или NLP-задачах, специализированные векторные базы данных, такие как Milvus и Zilliz Cloud (управляемый Milvus), подходят лучше. Эти базы данных созданы для работы с векторными данными в масштабе, используя продвинутые алгоритмы Approximate Nearest Neighbor (ANN) (например, HNSW, IVF ) и предлагая расширенные функции, такие как hybrid search (включая hybrid sparse and dense search, multimodal search, векторный поиск с фильтрацией по метаданным, а также гибридный плотный и полнотекстовый поиск), загрузка данных в реальном времени и распределенная масштабируемость для высокой производительности в динамических средах.
С другой стороны, системы общего назначения, такие как Chroma или Myscale, подходят, когда векторный поиск не является основным фокусом, а вы работаете со структурированными или полуструктурированными данными с меньшими векторными наборами данных или умеренными требованиями к производительности. Если вы уже используете эти системы и хотите избежать накладных расходов, связанных с внедрением новой инфраструктуры, плагины векторного поиска могут расширить их возможности и предоставить экономически эффективное решение для более простых, менее масштабных задач векторного поиска.
Использование Open-source VectorDBBench для самостоятельной оценки и сравнения векторных баз данных
VectorDBBench — это инструмент сравнительного тестирования с открытым исходным кодом, предназначенный для пользователей, которым требуются высокопроизводительные системы хранения и извлечения данных, в частности векторные базы данных. Этот инструмент позволяет пользователям тестировать и сравнивать производительность различных систем векторных баз данных, таких как Milvus и Zilliz Cloud (управляемый Milvus), используя собственные наборы данных, и определять наиболее подходящую систему для своих сценариев использования. Используя VectorDBBench, пользователи могут принимать обоснованные решения на основе фактической производительности векторной базы данных, а не полагаться на маркетинговые заявления или отдельные свидетельства.
VectorDBBench написан на Python и распространяется по лицензии с открытым исходным кодом MIT, что означает, что любой может свободно использовать, изменять и распространять его. Инструмент активно поддерживается сообществом разработчиков, стремящихся улучшать его функции и производительность.
Загрузите VectorDBBench из его репозитория GitHub, чтобы воспроизвести наши результаты сравнительного тестирования или получить результаты производительности на своих собственных наборах данных.
Быстро ознакомьтесь с производительностью популярных векторных баз данных в рейтинге VectorDBBench.
Прочитайте следующие блоги, чтобы узнать больше об оценке векторных баз данных.
Дополнительные ресурсы о VectorDB, GenAI и ML
Читать далее

From Vector Database to Vector Lakebase
Zilliz offers a fully managed Vector Lakebase powered by Milvus, unifying real-time vector search, lake-scale discovery, and Al data operations.

A Developer's Guide to Exploring Milvus 2.6 Features on Zilliz Cloud
Milvus 2.6 marks a shift from “vector search + glue code” to a more advanced retrieval engine, and it is now Generally Available (GA) on Zilliz Cloud (a managed Milvus service).

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


