Executive Summary
Our performance testing reveals that Manticore Search significantly outperforms Elasticsearch when analyzing large volumes of Nginx log data, with Kibana dashboard rendering speeds up to 3x faster. This article demonstrates the performance differences, explains how to run your own comparison, and highlights the key advantages of Manticore Search for log analysis workloads.
Introduction
Efficiently analyzing and visualizing large volumes of data efficiently is crucial for many businesses. This article compares the performance of two popular search engines, Manticore Search and Elasticsearch, using the same dataset based on Nginx logs.
The goal is to demonstrate how Manticore Search provides an efficient solution for processing and visualizing large datasets. To facilitate this comparison, we created the Manticore Search Kibana Demo , a publicly available project. The benchmarks from db-benchmarks.com also highlight Manticore Search’s superior performance over Elasticsearch.
Demo Project Overview
The demo project utilizes Kibana as the visualization tool, connected to both Elasticsearch and Manticore Search. The demo datasets are generated from Nginx logs using the kscarlett-generator tool.
The visualizations were inspired by a popular blog post “ Setup Kibana Dashboards for Nginx Log Data ," enabling a clear comparison of search engine performance.
Environment Setup and Running the Demo
To set up and run the demo:
- Ensure you have Git and Docker Compose installed.
- Clone the repository and navigate to the project directory.
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
.env
file:- 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.sh
script. 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.ndjson
file 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.