Redis is an open-source (BSD licensed), in-memory data structure used as a database, cache and message broker, as stated on Redis.io. Redis, when combined with Redis Enterprise (the commercially supported version from Redis Labs), is widely known as one of the most popular caches and key-value stores on the market due to its cost and simplicity for developers. Redis (which we will now use to refer to Redis and Redis Enterprise) is used primarily by developers in applications for session caching, full page cache, message queue applications, leaderboards and counting.
GridGain, built on the Apache Ignite™ open source project, is an in-memory computing platform that’s used as a distributed in-memory data grid, in-memory SQL and key-value database, and stream processing and analytics engine. At first glance, GridGain and Redis seem similar. Both include functionality for caching data in memory. Both can partition data and be scaled out across distributed clusters. But that’s where the similarities end.
Detailed GridGain and Redis Feature Comparison
This in-depth feature comparison shows how the most current versions of GridGain Professional Edition, Enterprise Edition, Ultimate Edition and Redis Enterprise (and their respective open source projects where relevant) compare in 25 different categories including:
- Use Cases
- 3rd Party Database Support and Persistence
- Support for Native Persistence
- Distributed SQL and Queries
- Memory Architecture and Optimization
- Distributed Architecture
- Data Rebalancing
- Distributed Computing
- In-Memory Streaming and Integration with Apache Spark
- Security and Audit
- Configuration and Grid Management
- Supported Platforms, Standards and Out-of-the-Box Integration
- Cloud and Virtualization Support
Key Differences Between GridGain and Redis
While Redis is suited as a cache and key-value store for applications, GridGain is better suited for broader set of use cases as an in-memory computing platform.
In-memory data grid to add speed and scale to existing applications
- Redis is primarily an in-memory “cache-aside” key-value cache used by developers to improve the read performance of applications. It requires coding within the application to add the cache, and coding and configuration to keep the data in the cache up to date relative to any underlying data sources. It does not fully support SQL, so relational data must typically be mapped to another model.
- GridGain is more than a cache. GridGain can be used as an in-memory data grid slides between and accelerates applications and third-party databases without having to rip out, replace or rewrite the applications or databases. By replacing existing JDBC or ODBC drivers with the GridGain drivers, GridGain can sit in the path of SQL or other queries and supports ACID transactions as an inline read- and write-through cache. It keeps data in sync with the underlying database by updating the cache following a successful commit by the underlying database.
Distributed SQL and key-value database
- Redis is also used as a key-value store for application data. Developers appreciate how simple it is to manage data within an application using the Redis APIs.
- GridGain can be used as a distributed key-value database. But GridGain can also be used as a distributed SQL database. Its native persistence allows RAM to hold a subset of the full dataset which resides on disk. It provides immediate availability on restart without having to wait for data to load into memory first. GridGain also provides ACID transaction support with pessimistic locking, unlike Redis.
When used as an in-memory data grid or in-memory database, GridGain also provides the ability to partition data based on data affinity and collocate processing with data to improve performance and scalability. GridGain provides built-in stream processing, analytics and machine learning capabilities that enable companies to deliver new types of applications for digital business, improving the customer experience or real-time regulatory compliance that were either too costly or too complex to deliver in the past. Collocated processing has helped reduce network traffic in deployments by as much as 100x, which is one reason companies have moved from Redis to GridGain.