Краткое резюме
Наши тесты производительности показывают, что Manticore Search значительно опережает Elasticsearch при анализе больших объёмов логов Nginx, обеспечивая рендеринг панелей Kibana до 3 раз быстрее. В этой статье демонстрируются различия в производительности, объясняется, как провести собственное сравнение, и выделяются ключевые преимущества Manticore Search для задач анализа логов.
Введение
Эффективный анализ и визуализация больших объёмов данных имеют решающее значение для многих компаний. В этой статье сравнивается производительность двух популярных поисковых движков — Manticore Search и Elasticsearch — на одном и том же наборе данных, основанном на логах Nginx.
Цель статьи — показать, как Manticore Search предоставляет эффективное решение для обработки и визуализации больших наборов данных. Чтобы упростить сравнение, мы создали Manticore Search Kibana Demo , публично доступный проект. Бенчмарки с сайта db-benchmarks.com также подчёркивают превосходную производительность Manticore Search по сравнению с Elasticsearch.
Обзор демонстрационного проекта
Демонстрационный проект использует Kibana в качестве инструмента визуализации, подключённую как к Elasticsearch, так и к Manticore Search. Демонстрационные наборы данных генерируются из логов Nginx с помощью инструмента kscarlett-generator .
Визуализации были вдохновлены популярным блог‑постом « Setup Kibana Dashboards for Nginx Log Data », позволяющим наглядно сравнить производительность поисковых движков.
Настройка окружения и запуск демонстрации
Чтобы настроить и запустить демонстрацию:
- Убедитесь, что у вас установлены Git и Docker Compose .
- Клонируйте репозиторий и перейдите в каталог проекта.
git clone https://github.com/manticoresoftware/kibana-demo.git cd kibana-demo - Choose between using pre-built indexes for a quick start or generating new data by modifying the log-generator configuration. See the demo Github repository for details.
- Configure the environment as needed by updating the
.envfile:- Adjust the number of log entries.
- Customize the frequency of data updates.
- Set custom ports for Kibana dashboards.
- Launch the environment by running the
start.shscript. This will set up the Docker environment. - Access the Kibana dashboards:
- For Elasticsearch, by default - http://localhost:5612
- For Manticore Search, by default - http://localhost:5613
- Import pre-built Kibana visualizations using the
kibana_objects.ndjsonfile included in the demo. - Explore the dashboards to analyze the Nginx log data and compare performance between Manticore Search and Elasticsearch.
- Stop the environment after evaluation by running
docker-compose down.
This setup ensures flexibility to suit your specific requirements while keeping the process straightforward.
Performance Comparison
The primary focus of this test is the dashboard rendering speed in Kibana. Manticore Search consistently outperformed Elasticsearch, delivering significantly faster visualization rendering.
A video demonstration further illustrates the performance difference. Using the demo dataset of over 46 million documents and eight different Kibana visualizations combined into a dashboard, the video compares the time taken to load the dashboard with Manticore Search versus Elasticsearch.
Using Kibana with Manticore Search
Loading Data
Loading data from sources like Logstash or Filebeat into Manticore Search for Kibana processing is also straightforward. Refer to these sections in the Manticore documentation for guidance:
You can also explore examples provided in this interactive tutorial:
Limitations and Work-in-Progress Features
While there are some known limitations and work-in-progress features, such as:
- Support for newer Kibana versions (beyond 7.6)
- Handling Elasticsearch-specific data types like geo data
- Support for index management tools available in Elasticsearch like ILM
these are being actively developed to improve compatibility and functionality.
Other Advantages of Manticore Search
Besides, Manticore Search offers several distinct advantages to its users:
- High performance, optimized for fast query processing, as confirmed by independent benchmarks and the demo project.
- Full SQL support, simplifying integration with existing systems and making it easier for developers to get started.
- Real-time indexing, enabling instant data updates crucial for dynamic applications.
- Columnar storage, designed for analytical queries, making it ideal for large datasets like log files.
- Lightweight and simple setup compared to Elasticsearch, requiring fewer resources and less configuration effort.
Conclusion
Manticore Search proves to be a powerful alternative to Elasticsearch, especially in scenarios requiring fast data processing and visualization. Independent benchmarks and the demo project consistently demonstrate its superior performance, often several times faster than Elasticsearch when handling large datasets.
To see its capabilities firsthand, try the Manticore Search Kibana Demo and explore how it can enhance your data analysis workflows.
