GridGain Developers Hub

GridGain 9 Key Changes

GridGain 9 is the next step of development of GridGain, reworking the product from the core to bring it to the new era of interconnected networks and fast-paced and fast scaling environments. This page helps you to quickly see the improvements over GridGain 8.

Core Improvements

GridGain core features have been reworked to better align with the most common usages.

Streamlined Tables and Caches

In GridGain 8, data was stored in "Caches" in Binary Object format. To avoid discrepancies in SQL and other APIs, GridGain 9 was changed to directly work with both SQL and Key-Value API. So, data is now stored in "Tables", while "Caches" can be used to create a "cache" of data that is stored in memory and is quicker to access, while updates are written to the disk at a slower rate.

Due to the way data was stored in GridGain 8, the same storage was represented by multiple objects with separate schemas. This could lead to issues in configuring the relationships and potential loss of data consistency. In GridGain 9, all objects are mapped to the same schema. This way you only have one point of interaction and a universally recognized API, regardless of what you store and what your goals are.

Expanded and Ubiquitous Transactions

Support for transactions GridGain 8 required changing the atomicity of the cache and worked at the cost of cache performance. Transaction configuration was equally tricky, requiring the correct concurrency and isolation configuration to achieve the best results. Transactions support in GridGain 9 is vastly improved:

  • All tables are transactional by default, with no major effect on performance

  • Both SQL and key-value transactions are supported

  • All transactions are MVCC based, ensuring the lack of deadlocks

  • All transactions are serializable

  • New read-only transactions not requiring a lock

Simpler Data Collocation and Distribution

GridGain 8 had multiple ways to handle data distribution in the cluster - data affinity, backup configuration, baseline topology, etc. The configuration you need may be difficult to find, and it was hard to understand how configurations were interacting with each other. GridGain 9 combines all properties related to data distribution into the distribution zones. In distribution zone configuration, you set up how you want to store data and where. Data collocation is also tied to distribution zones, all you need to specify is the key you want to collocate data by.

GridGain 9 removes custom affinity functions and instead uses the rendezvous hashing algorithm to reliably deliver consistent data distribution. Unlike in GridGain 8, you cannot create custom affinity function. This was a powerful functionality, but slight issues with custom implementation could cause security and stability risks. Instead, most cases that previously required custom affinity can now be handled safely and securely by distribution zones.

Better Clients

GridGain 9 dispenses with the concept of thick clients, instead providing thin clients for all interactions with the cluster. With GridGain 9 clients, your applications do not need to get the whole GridGain application to handle operations.

The option to start GridGain from code as a client node remains, but this mode of operation is no longer the primary way to work with the cluster. This is now called running GridGain in Embedded mode.

Better Security

GridGain 8 provides high level security with SSL and authentication support. GridGain 9 builds on this by adding role-based access control (RBAC) to the mix. With it, you can finely tune what clients can perform specific actions.

Finer Control over Distributed Computing

GridGain 9 distributed computing API extends what was possible in GridGain 8. All features of GridGain 8 distributed computing are kept, and new APIs were added to keep active track of your job execution queues and job failover.

Management Improvements

GridGain 8 management tools provide access to all of its features, but in a number of areas it was difficult to get to specific parts of configuration, or it could be less transparent in where to configure the specific property.

GridGain 9 configuration is provided in lightweight and human-readable HOCON format, which is easy to both understand and edit. Configuration is also split between cluster-wide and individual node configuration, making each of them easier to manage.

Management Tools

Over its lifetime, GridGain 8 collected a number of management scripts, each having a separate purpose. This could lead to confusion when using the scripts to configure your cluster, or having to use multiple different scripts to configure something specific. The scripts were also part of the distribution.

GridGain 9 provides a brand-new management tool that can communicate with any node in the cluster to seamlessly apply the configuration, and provides you with an option to work in interactive mode with command autocomplete. This new tool is also provided as a separate distribution, so that it can be set up on any machine that has access to the node address.