Рекордные показатели производительности
Разработчики Manticore Search опубликовали результаты воспроизводимых бенчмарков для версии 27.1.5. Проект заявляет о значительном отрыве от ключевых конкурентов, таких как MySQL, Typesense, Elasticsearch и ClickHouse. Особое внимание уделено обработке больших объемов данных: на выборке из 1,1 млн комментариев Hacker News Manticore оказался в 340 раз быстрее MySQL 9.7.1 и в 6,51 раза быстрее Typesense 27.1.
В сценариях с 100 млн+ записей (Hacker News) и типичными DevOps-запросами на 10 млн логов Nginx, Manticore также демонстрирует двузначные коэффициенты ускорения по сравнению с настроенным Elasticsearch 9.4.3.
Сравнение с лидерами рынка
Для наглядности эффективности Manticore Search 27.1.5 относительно других систем сбора и анализа данных приведена сводная таблица результатов бенчмарков:
| Сценарий нагрузки | Объем данных | Конкурент | Версия | Прирост скорости Manticore |
|---|---|---|---|---|
| Поиск по комментариям | 1.1 млн записей | MySQL | 9.7.1 | 340x |
| Поиск по комментариям | 1.1 млн записей | Typesense | 27.1 | 6.51x |
| Поиск по комментариям | 100 млн+ записей | Elasticsearch | 9.4.3 (tuned) | 3.85x |
| DevOps-запросы | 10 млн логов Nginx | Elasticsearch | 9.4.3 (tuned) | 5.03x |
| Дашборд-запросы | 10 млн логов | ClickHouse | 26.6.1.1193 | 1.71x |
| Поиск по такси | 1.7 млрд поездок | Elasticsearch | 9.4.3 (tuned) | 2.02x |
| Поиск по такси | 1.7 млрд поездок | ClickHouse | 26.6.1.1193 | 3.16x |
Экономия ресурсов при индексации
Производительность чтения — не единственное преимущество. При ingestion (загрузке) 10 млн логов Nginx Manticore Columnar 27.1.5 справился за 5 минут 46 секунд, тогда как Elasticsearch потребовалось 10 минут 15 секунд. Важнее то, что Manticore использовал в 3,7 раза меньше оперативной памяти (3,98 ГБ против 36,98 ГБ) и в 3,7 раза меньше ядер CPU в среднем (1,02 против 3,80). Объем записей на диск также оказался ниже: 8,05 ГБ против 18,47 ГБ у Elasticsearch.
Ключевые архитектурные особенности
Manticore Search позиционируется как решение с поддержкой нескольких режимов хранения данных:
- Row-wise storage: обеспечивает максимальную скорость для небольших и средних наборов данных.
- Columnar storage: оптимизирован для объемов, не помещающихся в RAM, с использованием Manticore Columnar Library.
- Docstore: режим без использования RAM, подходящий только для извлечения значений без сортировки или фильтрации.
Система поддерживает гибридный поиск (full-text + vector), конVERSATIONAL search через SQL-команду CALL CHAT и HTTP-эндпоинт, а также виртуально синхронную многомастерную репликацию на базе Galera. Интеграция с экосистемой упрощена за счет MySQL-совместимого протокола, официальных клиентов для Python, Go, Java, Rust и других языков, а также совместимости с Elasticsearch API для записи данных.
Доступность и внедрение
Установка доступна через однострочный скрипт для Linux/macOS, Docker-образы на Docker Hub или через репозитории RPM/APT. Среди пользователей Manticore указаны такие компании, как Craigslist, Rozetka, PubChem и Socialgist. Для обучения разработчиков предоставляются интерактивные курсы на платформе play.manticoresearch.com.
Источник: Github ↗
