pgvector vs MyScale: выбор подходящей векторной базы данных для ваших нужд
По мере развития ИИ и технологий, основанных на данных, выбор подходящей векторной базы данных для вашего приложения становится всё более важным. pgvector и MyScale — два варианта в этой области. В этой статье сравниваются эти технологии, чтобы помочь вам принять обоснованное решение для вашего проекта.
Что такое векторная база данных?
Прежде чем сравнивать pgvector и MyScale, давайте сначала рассмотрим концепцию векторных баз данных.
Векторная база данных специально разработана для хранения и выполнения запросов к многомерным векторам, которые являются числовыми представлениями неструктурированных данных. Эти векторы кодируют сложную информацию, такую как семантический смысл текста, визуальные признаки изображений или атрибуты продуктов. Обеспечивая эффективный поиск по сходству, векторные базы данных играют ключевую роль в приложениях ИИ, позволяя выполнять более продвинутый анализ и извлечение данных.
Распространённые варианты использования векторных баз данных включают рекомендации товаров в электронной коммерции, платформы обнаружения контента, обнаружение аномалий в кибербезопасности, анализ медицинских изображений и задачи обработки естественного языка (NLP). Они также играют важнейшую роль в Retrieval Augmented Generation (RAG) — методе, который повышает производительность больших языковых моделей (LLMs), предоставляя внешние знания для уменьшения таких проблем, как галлюцинации ИИ.
На рынке доступно множество типов векторных баз данных, включая:
- Специализированные векторные базы данных, такие как Milvus, Zilliz Cloud (полностью управляемый Milvus) и Weaviate
- Библиотеки векторного поиска, такие как Faiss и Annoy.
- Легковесные векторные базы данных, такие как Chroma и Milvus Lite.
- Традиционные базы данных с надстройками для векторного поиска, способные выполнять векторный поиск малого масштаба.
pgvector — это традиционная база данных с возможностями векторного поиска в виде надстройки. MyScale — это база данных, построенная на ClickHouse, которая сочетает векторный поиск и SQL-аналитику с добавленными возможностями векторного поиска. В этой статье сравниваются их возможности векторного поиска.
pgvector: обзор и базовая технология
pgvector — это расширение для PostgreSQL, которое добавляет поддержку векторных операций. Оно позволяет пользователям хранить и запрашивать векторные эмбеддинги непосредственно в их базе данных PostgreSQL, предоставляя возможности поиска по векторному сходству без необходимости в отдельной векторной базе данных.
Ключевые возможности pgvector включают:
- Поддержку точного и приближённого поиска ближайших соседей
- Интеграцию с механизмами индексирования PostgreSQL
- Возможность выполнять векторные операции, такие как сложение и вычитание
- Поддержку различных метрик расстояния (евклидова, косинусная, внутреннее произведение)
По умолчанию pgvector использует точный поиск ближайших соседей, который гарантирует идеальную полноту, но может быть медленнее для больших наборов данных. Для оптимизации производительности pgvector предлагает возможность создавать индексы для приближённого поиска ближайших соседей. Этот подход жертвует частью точности ради значительно повышенной скорости, что часто является оправданным компромиссом во многих реальных приложениях.
Важно отметить, что добавление приближённого индекса может изменить результаты ваших запросов. Это отличается от типичных индексов баз данных, которые не влияют на фактически возвращаемые результаты. Два типа приближённых индексов, поддерживаемых pgvector:
- HNSW (Hierarchical Navigable Small World): Представленный в версии pgvector 0.5.0, HNSW известен своей высокой производительностью и качеством результатов. Он строит многоуровневую графовую структуру, которая обеспечивает быстрый обход во время поиска.
- IVFFlat (Inverted File Flat): Этот метод делит векторное пространство на кластеры. Во время поиска он сначала определяет наиболее релевантные кластеры, а затем выполняет точный поиск внутри этих кластеров. Это может значительно ускорить поиск в больших наборах данных.
Выбор между этими типами индексов зависит от вашего конкретного сценария использования, с учётом таких факторов, как размер набора данных, требуемая скорость запросов и допустимый компромисс в точности. HNSW обычно обеспечивает лучшую производительность, но может использовать больше памяти, тогда как IVFFlat может быть более эффективным по памяти, но в некоторых случаях может быть немного медленнее или менее точным.
При внедрении pgvector в ваш проект попробуйте поэкспериментировать с обоими типами индексов и их параметрами, чтобы найти оптимальную конфигурацию для ваших конкретных потребностей. Этот процесс тонкой настройки может повлиять на производительность и точность ваших операций векторного поиска.
Хотите узнать, как начать использовать pgvector? Ознакомьтесь с этим руководством!
Что такое 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 снижает затраты на инфраструктуру и обслуживание. Это объединение позволяет выполнять совместные запросы к данным и аналитику, а также обеспечивает единую основу данных для AI-приложений. MyScale также имеет MyScale Telemetry для полной наблюдаемости LLM-систем, чтобы вы могли эффективно выполнять мониторинг и отладку. По мере усложнения данных MyScale является перспективным решением, способным обрабатывать новые модальности данных и размеры баз данных, сохраняя вычислительную производительность и интеграцию между различными типами данных.
Ключевые различия
Методология поиска
pgvector предлагает индексирование HNSW и IVFFlat со стандартными метриками расстояния (евклидово, косинусное, скалярное произведение). MyScale предоставляет больше вариантов, включая MSTG, ScaNN, IVFFLAT, IVFPQ, IVFSQ и HNSW, поддерживая те же метрики расстояния.
Обработка данных
pgvector наследует реляционные возможности PostgreSQL для управления структурированными данными. MyScale объединяет векторный поиск, структурированные данные и полнотекстовый поиск с использованием OLAP-архитектуры.
Масштабируемость и производительность
pgvector лучше всего работает с наборами данных среднего размера, требуя настройки для больших масштабов. Движок MSTG от MyScale использует NVMe SSD для более высокой плотности данных и заявляет о лучшей производительности, чем специализированные векторные базы данных.
Гибкость и настройка
pgvector опирается на гибкость запросов PostgreSQL. MyScale предлагает настройку SQL и несколько алгоритмов индексирования с настраиваемыми параметрами.
Интеграция и экосистема
pgvector интегрируется с существующими развертываниями и инструментами PostgreSQL. MyScale предоставляет нативную поддержку SQL и инструменты телеметрии для мониторинга LLM-систем.
Простота использования
pgvector прост в использовании для пользователей PostgreSQL. SQL-интерфейс MyScale делает его доступным для разработчиков, знакомых с реляционными базами данных.
Когда выбирать pgvector
Выбирайте pgvector, если вы уже используете PostgreSQL, вам нужны базовые возможности векторного поиска, вы хотите избежать управления несколькими базами данных и работаете с наборами данных среднего размера, которым не требуется сложное масштабирование или продвинутые векторные операции.
Когда выбирать MyScale
Выбирайте MyScale, если вам нужны продвинутые варианты векторного индексирования, объединенные возможности векторного и полнотекстового поиска, высокопроизводительное масштабирование для больших наборов данных, встроенный мониторинг для LLM-систем или вы планируете обрабатывать сложные типы данных, требующие сложных операций запросов.
Заключение
pgvector отлично подходит для предоставления возможностей векторного поиска в средах PostgreSQL, предлагая простоту и интеграцию с существующими рабочими процессами. MyScale выделяется своими продвинутыми вариантами индексирования, объединенными возможностями поиска и функциями масштабируемости. Ваш выбор должен зависеть от вашей текущей инфраструктуры, размера набора данных, требований к сложности поиска и того, нужны ли вам специализированные инструменты мониторинга AI и LLM.
Прочитайте это, чтобы получить обзор pgvector и MyScale, но для их оценки необходимо исходить из вашего конкретного случая использования. Один из инструментов, который может помочь в этом, — VectorDBBench, open-source инструмент для бенчмаркинга и сравнения векторных баз данных. В конечном счете тщательное бенчмаркинг-тестирование на ваших собственных наборах данных и шаблонах запросов будет ключом к принятию решения между этими двумя мощными, но разными подходами к векторному поиску в распределенных системах баз данных.
Использование open-source VectorDBBench для оценки и сравнения векторных баз данных самостоятельно
VectorDBBench — это open-source инструмент для бенчмаркинга для пользователей, которым нужны высокопроизводительные системы хранения и извлечения данных, особенно векторные базы данных. Этот инструмент позволяет пользователям тестировать и сравнивать различные системы векторных баз данных, такие как Milvus и Zilliz Cloud (управляемый Milvus), используя собственные наборы данных, и находить ту, которая подходит для их сценариев использования. С VectorDBBench пользователи могут принимать решения на основе реальной производительности векторных баз данных, а не маркетинговых заявлений или слухов.
VectorDBBench написан на Python и распространяется по open-source лицензии MIT, что означает, что любой может свободно использовать, изменять и распространять его. Инструмент активно поддерживается сообществом разработчиков, стремящихся улучшать его функции и производительность.
Загрузите VectorDBBench из его GitHub repository, чтобы воспроизвести наши результаты бенчмаркинга или получить результаты производительности на ваших собственных наборах данных.
Быстро ознакомьтесь с производительностью популярных векторных баз данных в рейтинге VectorDBBench.
Прочитайте следующие блоги, чтобы узнать больше об оценке векторных баз данных.
Дополнительные ресурсы о VectorDB, GenAI и ML
Читать далее

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

How to Install and Run OpenClaw (Previously Clawdbot/Moltbot) on Mac
Turn your Mac into an AI gateway for WhatsApp, Telegram, Discord, iMessage, and more — in under 5 minutes.

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.


