The GridGain In-Memory Data Fabric, built on Apache® Ignite™, includes an in-memory data grid feature. Terracotta® 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 Terracotta that are often highly valuable for companies that are moving to in-memory computing.
Detailed GridGain and Terracotta Feature Comparison
Our in-depth feature comparison will show you how the most current versions of GridGain Professional Edition, Enterprise Edition and Terracotta 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 Terracotta
The following are major differences which should be considered when choosing an in-memory solution:
- JCache (JSR 107) – 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. Terracotta implements Ehcache API.
- 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. Terracotta provides its users with an option to store the data in off-heap memory but 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. Terracotta does not support SQL and users have to perform JOINS manually by combining multiple query results.
- 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 Terracotta, 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. Terracotta 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. Terracotta does not offer any support for streaming.