manticoresearch
Easy to use open source fast database for search | Good alternative to Elasticsearch | Drop-in replacement for E in the ELK stack
Manticore Search is an open-source, SQL-compatible full-text search database that is designed to be significantly faster and cheaper than Elasticsearch for teams running search at scale.
Manticore Search is an open-source database built specifically for search workloads. It was forked from the Sphinx Search engine in 2017 and has since been rewritten substantially in C++. Its primary use case is full-text search across large collections of data, and it positions itself as a faster, lower-cost alternative to Elasticsearch for teams running search at scale.
The project claims significant speed advantages over both MySQL and Elasticsearch across a range of benchmark scenarios, from log analytics to large dataset queries. These benchmarks are published on a separate site and described as reproducible. The performance gains come from a multithreading architecture that spreads work across all available CPU cores, a cost-based query optimizer that picks efficient execution plans based on index statistics, and automatically created secondary indexes using a method called PGM-index.
Manticore uses SQL as its primary language and is compatible with the MySQL wire protocol, which means existing MySQL client libraries and tools can connect to it without modification. It also supports an HTTP JSON API with partial compatibility with Elasticsearch, so teams migrating from Elasticsearch can reuse some existing tooling. Official client libraries are available for PHP, Python, JavaScript, TypeScript, Java, Go, Elixir, and Rust.
Storage options include row-wise storage for standard datasets and a separate columnar storage library for datasets too large to fit in RAM. Real-time inserts make newly added documents immediately searchable. The system includes built-in multi-master replication and load balancing, and data can be synced from MySQL, PostgreSQL, XML, and CSV sources.
Companies including Craigslist and PubChem are listed as users. The binary starts with around 40 MB of RAM overhead for an empty instance. The project is licensed under GPL v3.
Where it fits
- Replace Elasticsearch with a faster, lower-cost search backend for a log analytics pipeline.
- Add full-text search to an existing app using standard SQL queries and any MySQL client library.
- Sync data from MySQL or PostgreSQL into a real-time searchable index that reflects inserts immediately.
- Store and query datasets too large to fit in RAM using the separate columnar storage option.