
Кратко
Наши тесты показали, что Manticore Search значительно превосходит Elasticsearch при в запросах типичных для анализа больших объемов логов Nginx. Визуализация дашбордов Kibana происходит до 3 раз быстрее. В этой статье мы сравним производительность двух поисковых систем, объясним, как провести тест самостоятельно, и разберем ключевые преимущества Manticore Search для анализа логов.
Введение
Эффективный анализ и визуализация больших объемов данных имеют критическое значение для многих компаний. В этой статье мы сравним производительность двух популярных поисковых движков — Manticore Search и Elasticsearch — используя одни и те же данные из логов Nginx.
Цель — показать, что Manticore Search является эффективным инструментом для обработки и визуализации больших данных. Для этого мы создали Manticore Search Kibana Demo — открытый проект, с помощью которого можно протестировать сделать аналогичный тест самостоятельно, а также узнать, как использовать Manticore с Кибаной. Результаты независимых тестов на db-benchmarks.com также подтверждают, что Manticore Search работает быстрее Elasticsearch в большинстве сценариев.
Описание демо-проекта
В демо-проекте используется Kibana как инструмент визуализации, подключенный к Elasticsearch и Manticore Search. Данные для тестов создаются на основе логов Nginx с помощью утилиты kscarlett-generator.
Основой для дашбордов послужил популярный блог-пост «Настройка дашбордов Kibana для логов Nginx». Это позволяет объективно сравнить производительность поисковых движков.
Установка окружения и запуск демо
Чтобы развернуть и запустить демо-проект, выполните следующие шаги:
-
Убедитесь, что у вас установлены Git и Docker Compose.
-
Склонируйте репозиторий и перейдите в папку проекта:
git clone https://github.com/manticoresoftware/kibana-demo.git cd kibana-demo -
Выберите, использовать ли готовые индексы для быстрого старта или сгенерировать новые данные, изменив настройки генератора логов. Подробнее — в описании репозитория на GitHub.
-
Настройте окружение, изменив файл .env:
-
Определите количество логов.
-
Задайте частоту обновления данных.
-
Укажите кастомные порты для Kibana.
-
-
Запустите окружение с помощью start.sh. Это развернет контейнеры в Docker.
-
Откройте Kibana:
-
Для Elasticsearch: http://localhost:5612
-
Для Manticore Search: http://localhost:5613
-
-
Импортируйте преднастроенные визуализации из файла kibana_objects.ndjson.
-
Исследуйте дашборды и сравните производительность поиска в Kibana.
-
Остановите окружение после тестов с помощью команды:
docker-compose down
Сравнение производительности
Главным критерием тестирования была скорость рендеринга дашбордов Kibana. Manticore Search стабильно показывал более высокую скорость визуализации по сравнению с Elasticsearch.
В видео-демонстрации представлено сравнение времени загрузки дашбордов при обработке 46+ миллионов строк nginx лога и 8 различных визуализаций. Manticore Search загружает дашборд значительно быстрее.
Загрузка данных в Manticore
У пользователей ELK-стэка может возникнуть вопрос, можно ли загружать данные в Manticore с помощью Logstash и Filebeat так же, как это делается с Эластиком.
Загрузка данных из Logstash или Filebeat в Manticore Search выполняется просто. Подробные инструкции доступны в документации Manticore:
Также доступно интерактивное руководство:
Ограничения и дорабатываемые функции
Есть несколько ограничений и функций, находящихся в процессе разработки:
-
Поддержка новых версий Kibana (выше 7.6).
-
Обработка специфических типов данных Elasticsearch, например, геоданных.
-
Поддержка инструментов управления индексами, таких как ILM.
Эти функции активно разрабатываются для улучшения совместимости.
Преимущества Manticore Search
Кроме высокой скорости работы, Manticore Search предлагает ряд преимуществ:
-
Оптимизированная производительность — доказано тестами и демо-проектом.
-
Полноценная поддержка SQL, что упрощает интеграцию с другими системами.
-
Реалтайм-индексация, что особенно важно для динамических данных.
-
Колоночное хранение, ускоряющее аналитические запросы и делающее его идеальным для лог-файлов.
-
Простота установки и настройки — Manticore Search легче развернуть и требует меньше ресурсов, чем Elasticsearch.
Заключение
Manticore Search — мощная альтернатива Elasticsearch, особенно в сценариях, требующих высокой скорости обработки данных и визуализации. Независимые тесты и демо-проект показывают, что он может быть в несколько раз быстрее при работе с большими объемами данных.
Попробуйте Manticore Search Kibana Demo и оцените его возможности для анализа данных!
ссылка на оригинал статьи https://habr.com/ru/articles/889550/
Добавить комментарий