The GridGain In-Memory Data Fabric, built on Apache® Ignite™, includes an in-memory data grid feature. Pivotal GemFire® 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 Pivotal GemFire that are often highly valuable for companies that are moving to in-memory computing.
Detailed GridGain and Pivotal GemFire Feature Comparison
Our in-depth feature comparison will show you how the most current versions of GridGain Professional Edition, Enterprise Edition and Pivotal GemFire 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 Pivotal GemFire
The following are major differences which should be considered when choosing an in-memory solution:
- Open Source vs. Proprietary/Closed Source – GridGain is built on top of Apache Ignite, which is one of the fastest growing Apache projects. Even though GridGain adds additional configuration for enterprise features, it remains compatible with Apache Ignite and all Apache Ignite APIs are available for GridGain users. Pivotal GemFire is based on Apache Geode, but Apache Geode APIs are not available for Pivotal GemFire users, so the API compatibility between Apache Geode and Pivotal GemFire is not preserved.
- Vendor Neutrality – GridGain and Apache Ignite data grid are implementations of the JCache (JSR 107) specification that provides a simple to use, yet very powerful API for data access. It also allows user applications to be vendor neutral, making it relatively easy to switch between JCache supporting products. Pivotal GemFire does not implement JCache (JSR 107) and uses proprietary APIs.
- Off-Heap Indexes – GridGain and Apache Ignite support storing values and query indexes in off-heap memory, when one is configured. Pivotal GemFire supports only on-heap indexes, even for the data that is stored off-heap. Ability to store indexes off-heap is important when indexes grow beyond 20GB in size and start causing GC problems.
- ODBC & JDBC – GridGain and Apache Ignite come with ODBC/JDBC drivers out-of-the-box allowing you to retrieve distributed data from cache using standard SQL queries and ODBC/JDBC API. GemFire does not support ODBC/JDBC connectivity and allows querying for data using their own query language.
- 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 Pivotal GemFire, 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. Pivotal GemFire 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. Pivotal GemFire does not offer any support for streaming.