TiDB против ClickHouse: выбор подходящей векторной базы данных для ваших AI-приложений
Что такое векторная база данных?
Прежде чем сравнивать TiDB и ClickHouse, давайте сначала рассмотрим концепцию векторных баз данных.
Векторная база данных специально предназначена для хранения и выполнения запросов к многомерным векторам, которые являются числовыми представлениями неструктурированных данных. Эти векторы кодируют сложную информацию, такую как семантическое значение текста, визуальные признаки изображений или атрибуты продуктов. Обеспечивая эффективный поиск по сходству, векторные базы данных играют ключевую роль в приложениях ИИ, позволяя выполнять более продвинутый анализ и извлечение данных.
Распространенные сценарии использования векторных баз данных включают рекомендации товаров в электронной коммерции, платформы обнаружения контента, обнаружение аномалий в кибербезопасности, анализ медицинских изображений и задачи обработки естественного языка (NLP). Они также играют важнейшую роль в генерации с дополненным извлечением (RAG), методе, который повышает производительность больших языковых моделей (LLMs), предоставляя внешние знания для уменьшения таких проблем, как галлюцинации ИИ.
На рынке доступно множество типов векторных баз данных, включая:
- Специализированные векторные базы данных, такие как Milvus, Zilliz Cloud (полностью управляемый Milvus)
- Библиотеки векторного поиска, такие как Faiss и Annoy.
- Легковесные векторные базы данных, такие как Chroma и Milvus Lite.
- Традиционные базы данных с дополнениями для векторного поиска, способные выполнять векторный поиск в небольшом масштабе.
TiDB — это традиционная база данных, а ClickHouse — колоночная база данных с открытым исходным кодом. В обеих векторный поиск доступен как дополнение. В этой статье сравниваются их возможности векторного поиска.
TiDB: обзор и базовая технология
TiDB, разработанная PingCAP, — это распределенная SQL-база данных с открытым исходным кодом, которая предлагает возможности гибридной транзакционной и аналитической обработки (HTAP). Она совместима с MySQL, что упрощает ее внедрение для команд, уже знакомых с экосистемой MySQL. Распределенная SQL-архитектура TiDB обеспечивает горизонтальную масштабируемость, как у NoSQL-баз данных, сохраняя при этом реляционную модель SQL-баз данных, что делает ее очень гибкой для обработки как транзакционных, так и аналитических рабочих нагрузок.
Одним из ключевых преимуществ TiDB является ее HTAP-архитектура, которая позволяет обрабатывать транзакционные (OLTP) и аналитические (OLAP) рабочие нагрузки в одной базе данных, снижая необходимость в отдельных системах. Кроме того, совместимость TiDB с MySQL упрощает интеграцию в существующие среды, которые полагаются на MySQL, без значительных изменений в коде приложения. База данных также поддерживает автоматическое шардирование, автоматически распределяя данные по узлам для повышения производительности чтения и записи при сохранении строгой согласованности.
TiDB поддерживает векторный поиск через интеграцию с внешними библиотеками и плагинами, обеспечивая эффективное управление векторизованными данными и выполнение запросов к ним. Эта возможность в сочетании с HTAP-архитектурой TiDB делает ее универсальным вариантом для компаний, которым нужны возможности векторного поиска наряду с транзакционными и аналитическими рабочими нагрузками. Распределенная архитектура TiDB позволяет ей обрабатывать крупномасштабные векторные запросы после выполнения необходимых настроек.
Хотя включение функций векторного поиска в TiDB требует дополнительной настройки, совместимость системы с SQL позволяет разработчикам сочетать векторный поиск с традиционными реляционными запросами. Эта гибкость делает TiDB подходящей для сложных приложений, которым требуются как возможности векторного поиска, так и реляционной базы данных, предлагая комплексное решение для разнообразных задач управления данными.
ClickHouse: обзор и базовая технология
ClickHouse — это open-source OLAP-база данных реального времени, известная полной поддержкой SQL и высокоскоростной обработкой запросов. Она отлично справляется с аналитическими запросами благодаря полностью распараллеленному конвейеру выполнения запросов, что позволяет быстро выполнять операции векторного поиска. Высокие уровни сжатия, настраиваемые с помощью кодеков, позволяют ClickHouse эффективно хранить и запрашивать большие наборы данных. Одно из ее ключевых преимуществ заключается в том, что она может обрабатывать наборы данных объемом в несколько ТБ без ограничений со стороны памяти, что делает ее мощным инструментом для пользователей, работающих с крупномасштабными векторными данными. Она также поддерживает фильтрацию и агрегацию по метаданным, позволяя разработчикам выполнять сложные запросы как по векторам, так и по связанным с ними метаданным.
ClickHouse интегрирует функциональность векторного поиска через свои возможности SQL, где операции вычисления векторного расстояния обрабатываются как любые другие функции SQL. Это позволяет бесшовно сочетать их с традиционной фильтрацией и агрегацией, что делает ее идеальной для сценариев, где векторные данные необходимо запрашивать вместе с метаданными или другой информацией. Кроме того, экспериментальные функции, такие как индексы Approximate Nearest Neighbour (ANN), обеспечивают более быстрое, хотя и приближенное, сопоставление. ClickHouse также поддерживает точное сопоставление посредством линейного сканирования строк, при этом ее параллельная обработка обеспечивает высокую скорость и эффективность.
ClickHouse — отличный вариант для векторного поиска, когда важно сочетать векторное сопоставление с фильтрацией или агрегацией по метаданным. Она особенно полезна для очень больших наборов векторных данных, которые необходимо обрабатывать параллельно на нескольких ядрах CPU. ClickHouse также выгодна, когда необходима поддержка SQL, а набор векторных данных слишком велик, чтобы полагаться на индексы, работающие только в памяти. Кроме того, если у вас уже есть связанные данные в ClickHouse или вы хотите избежать изучения другого инструмента для управления миллионами векторов, ClickHouse может сэкономить вам как время, так и ресурсы. Ее сильные стороны заключаются в быстром, распараллеленном точном сопоставлении и обработке больших наборов данных, что делает ее подходящей для пользователей с расширенными требованиями к поиску.
ClickHouse выделяется как универсальная платформа для векторного поиска, особенно при работе с большими наборами данных, требующими распараллеленной обработки, и при сочетании векторного поиска с фильтрацией и агрегацией на основе SQL. Хотя она может быть не настолько специализированной для небольших наборов данных, ограниченных памятью, или сценариев с высоким QPS, как специализированные векторные базы данных, ее способность обрабатывать сложные запросы, включая метаданные, делает ее мощным вариантом для разработчиков, знакомых с SQL, которым нужны высокоскоростные возможности векторного поиска.
Ключевые различия
Архитектура поиска
TiDB выполняет векторный поиск через внешние плагины, сохраняя при этом свои возможности HTAP. Она позволяет сочетать векторные и реляционные запросы через синтаксис, совместимый с MySQL.
ClickHouse реализует векторный поиск непосредственно в рамках своего SQL-фреймворка, обрабатывая векторные операции как стандартные функции SQL. Она использует полностью распараллеленный конвейер выполнения запросов, поддерживая как точное сопоставление посредством линейного сканирования, так и приближенное сопоставление через индексы ANN.
Управление данными
TiDB отлично справляется с гибридными рабочими нагрузками, управляя как транзакционными, так и аналитическими данными с помощью автоматического шардирования. Она автоматически распределяет данные по узлам, сохраняя строгую согласованность.
ClickHouse ориентирована на аналитические рабочие нагрузки с высокими коэффициентами сжатия. Она может обрабатывать наборы векторных данных объемом в несколько ТБ без ограничений памяти, обеспечивая эффективную фильтрацию и агрегацию как по векторам, так и по метаданным.
Производительность и масштабируемость
TiDB масштабируется горизонтально благодаря своей распределенной архитектуре, но производительность векторного поиска зависит от конфигурации внешней библиотеки.
ClickHouse достигает высокой производительности благодаря параллельной обработке на ядрах CPU. Он эффективно обрабатывает крупномасштабные векторные запросы, особенно в сочетании с фильтрацией по метаданным.
Интеграция
TiDB обеспечивает совместимость с MySQL, что делает его подходящим для существующих сред MySQL. Векторный поиск требует дополнительной настройки и внешних библиотек.
ClickHouse предоставляет встроенную поддержку SQL для векторных операций, обеспечивая бесшовную интеграцию векторного поиска с традиционными SQL-запросами.
Когда использовать TiDB
TiDB — лучший выбор, когда вам нужны как транзакционная, так и аналитическая обработка в среде, совместимой с MySQL. Его распределенная архитектура и возможности автоматического шардинга делают его идеальным для крупномасштабных приложений, требующих строгой согласованности, особенно для тех, кто уже инвестировал в экосистему MySQL. TiDB лучше всего подходит, когда векторный поиск является частью более широкой стратегии работы с данными, включающей традиционные операции с базами данных.
Когда использовать ClickHouse
ClickHouse лучше всего подходит организациям с массивными векторными наборами данных, которым нужна высокоскоростная аналитическая обработка. Его встроенные возможности векторного поиска в сочетании с параллельной обработкой и интеграцией с SQL делают его идеальным для специалистов по данным и инженеров, которым нужно выполнять сложные запросы, включающие как векторные операции, так и фильтрацию по метаданным. Он особенно эффективен, когда оптимизация памяти и производительность запросов являются главным приоритетом.
Краткое изложение
TiDB и ClickHouse предназначены для разных сценариев использования: TiDB — для гибридной транзакционно-аналитической обработки с совместимостью с MySQL, ClickHouse — для высокоскоростной аналитической обработки и встроенного векторного поиска. Выбирайте исходя из своих потребностей: TiDB для распределенного SQL с векторным поиском в качестве дополнения или ClickHouse для специализированной аналитической обработки со встроенными векторными возможностями. При принятии решения учитывайте существующую инфраструктуру, размер данных, шаблоны запросов и требования к производительности.
Прочитайте это, чтобы получить общее представление о TiDB и ClickHouse, но для их оценки вам нужно проводить оценку исходя из вашего сценария использования. Один из инструментов, который может в этом помочь, — VectorDBBench, инструмент с открытым исходным кодом для бенчмаркинга и сравнения векторных баз данных. В конечном итоге тщательное тестирование на ваших собственных наборах данных и шаблонах запросов будет ключом к принятию решения между этими двумя мощными, но разными подходами к векторному поиску в распределенных системах баз данных.
Использование открытого VectorDBBench для оценки и сравнения векторных баз данных самостоятельно
VectorDBBench — это инструмент бенчмаркинга с открытым исходным кодом для пользователей, которым нужны высокопроизводительные системы хранения и извлечения данных, особенно векторные базы данных. Этот инструмент позволяет пользователям тестировать и сравнивать различные системы векторных баз данных, такие как Milvus и Zilliz Cloud (управляемый Milvus), используя собственные наборы данных, и находить тот вариант, который соответствует их сценариям использования. С VectorDBBench пользователи могут принимать решения на основе фактической производительности векторной базы данных, а не маркетинговых заявлений или слухов.
VectorDBBench написан на Python и лицензирован по открытой лицензии MIT, что означает, что любой может свободно использовать, изменять и распространять его. Инструмент активно поддерживается сообществом разработчиков, стремящихся улучшать его функции и производительность.
Загрузите VectorDBBench из его репозитория GitHub, чтобы воспроизвести наши результаты бенчмарка или получить результаты производительности на собственных наборах данных.
Быстро ознакомьтесь с производительностью популярных векторных баз данных в рейтинге VectorDBBench.
Прочитайте следующие блоги, чтобы узнать больше об оценке векторных баз данных.
Дополнительные ресурсы о VectorDB, GenAI и ML
Читать далее

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

Zilliz Cloud Now Available in AWS Europe (Ireland)
Zilliz Cloud launches in AWS eu-west-1 (Ireland) — bringing low-latency vector search, EU data residency, and full GDPR-ready infrastructure to European AI teams. Now live across 30 regions on five cloud providers.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.
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.


