A high-performance Java collection engine enabling SQL-like queries with indexes for microsecond latencies.
CQEngine is a high-performance Java library that enables SQL-like queries on in-memory collections with indexes, achieving microsecond latencies. It solves the problem of slow iterative searches by building indexes on object fields, allowing developers to offload query traffic from databases and scale application tiers efficiently.
Java developers building data-intensive applications that require fast querying of in-memory collections, such as real-time analytics, caching layers, or middleware needing low-latency data access.
Developers choose CQEngine for its ability to outperform traditional iteration by thousands of times, support for multiple index types and persistence options, and seamless integration with existing Java collections without requiring external databases.
Ultra-fast SQL-like queries on Java collections
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Achieves millions of queries per second with latencies in microseconds, as benchmarked in the README showing over 1 million QPS on a single core.
Offers multiple index types like hash, navigable, and suffix tree indexes, enabling efficient equality, range, and string matching queries for various scenarios.
Supports on-heap, off-heap, and disk persistence, allowing large collections with minimal heap usage, tested with up to 100 million objects on disk.
Provides lock-free concurrent reads and MVCC transaction isolation for real-time updates, as detailed in the TransactionIsolation documentation.
Requires manual definition of attributes for each field to be indexed, which can be verbose and error-prone, especially for complex or nested objects.
Building indexes increases memory usage, which might be prohibitive for memory-constrained environments or when scaling to very large datasets with many indexes.
While it integrates with ORMs like Hibernate, there's less built-in support for modern frameworks like Spring Boot or cloud-native tools, requiring custom integration efforts.