Кратко
Наши тесты показали, что 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:
Интеграция с Logstash
Интеграция с Filebeat
Также доступно интерактивное руководство:
Интеграция Logstash/Beats с ManticoreОграничения и дорабатываемые функции
Есть несколько ограничений и функций, находящихся в процессе разработки:
Поддержка новых версий Kibana (выше 7.6).
Обработка специфических типов данных Elasticsearch, например, геоданных.
Поддержка инструментов управления индексами, таких как ILM.
Эти функции активно разрабатываются для улучшения совместимости.Преимущества Manticore Search
Кроме высокой скорости работы, Manticore Search предлагает ряд преимуществ:
Оптимизированная производительность — доказано тестами и демо-проектом.
Полноценная поддержка SQL, что упрощает интеграцию с другими системами.
Реалтайм-индексация, что особенно важно для динамических данных.
Колоночное хранение, ускоряющее аналитические запросы и делающее его идеальным для лог-файлов.
Простота установки и настройки — Manticore Search легче развернуть и требует меньше ресурсов, чем Elasticsearch.Заключение
Manticore Search — мощная альтернатива Elasticsearch, особенно в сценариях, требующих высокой скорости обработки данных и визуализации. Независимые тесты и демо-проект показывают, что он может быть в несколько раз быстрее при работе с большими объемами данных.
Попробуйте Manticore Search Kibana Demo и оцените его возможности для анализа данных!
Источник новости: habr.com