The GridGain In-Memory Data Fabric, built on Apache® Ignite™, includes an in-memory data grid feature. Hazelcast® is an in-memory data grid. The data grid capabilities of both products include functionality which partitions and caches data in memory. Both of the data grid solutions can be scaled out across distributed clusters. However, there are many differences in the way caching, transactions, and data querying are supported. The GridGain in-memory computing platform also includes many additional features not included in Hazelcast that are often highly valuable for companies that are moving to in-memory computing.
Detailed GridGain and Hazelcast Feature Comparison
Our in-depth feature comparison will show you how the most current versions of GridGain Professional Edition, Enterprise Edition and Hazelcast compare in 22 different categories including:
- Distributed Caching, Data Structures, Queries, Compute, Messaging and Events
- In-Memory Streaming
- ACID Compliant Transactions and Locks
- Persistence and Data Loading
- Security and Audit
- Configuration and Grid Management
- Supported Platforms, Standards and Integrations
- Cloud and Virtualization Support
Key Differences Between GridGain and Hazelcast
The following are major differences between the products which should be considered when choosing an in-memory solution:
- Open Source Focus - GridGain is built on top of Ignite, an Apache project, that has been growing and enhancing its open source features set. Hazelcast has continuously been removing features from its open source offering and moving them to its enterprise (paid) edition. This is true for features like off-heap memory, continuous queries, web-session clustering, SSL encryption support, and more.
- Memory Formats - GridGain and Apache Ignite support storing data in on-heap or off-heap memory, depending on the configuration. They support storing query indexes off-heap as well. Hazelcast supports off-heap memory only in its enterprise offering, and does not have any support for off-heap indexes.
- SQL Queries - GridGain and Apache Ignite support complete SQL (ANSI-99) syntax, including distributed SQL JOINs (collocated and non-collocated) for querying in-memory data. Hazelcast has very limited support for SQL, and does not have any support for JOIN queries. Users have to perform JOINS manually by combining multiple query results.
- Query Consistency - GridGain and Apache Ignite provide full query consistency. Queries are executed on a certain snapshot of data, and updates that happened after the query execution started do not affect the query result. Hazelcast queries are inconsistent and it is possible that part of the query result will include a certain update and another part will not.
- Deadlock-Free Transactions – GridGain and Apache Ignite support deadlock-free, optimistic transactions, which do not acquire any locks, and free users from worrying about the lock order. Such transactions also provide much better performance. With Hazelcast, you always need to worry about updating data in the same order to avoid deadlocks, which is often impossible, especially in large projects.
- Cross-Partition Transactions – GridGain and Apache Ignite transactions can be performed on all partitions of a cache across the whole cluster. Hazelcast does not support transactions across multiple cache partitions.
- Data Streaming - GridGain and Apache Ignite provide support for in-memory streaming, including support for maintaining and querying sliding windows of streaming data. Hazelcast does not offer any support for streaming.