- Role-based data distribution
With this feature roles relating to specific functions can be defined. The system will then check if a user with such a role is online and enable specific caching options such as no caching if no users are present. This approach allows the reliability and consistency of the sytem to be managed without resorting to overly pessimistic policies.
- Enhanced Data Partitioning Model
Partition regions (data across multiple physical nodes) of data can now transparently interoperation with non partitioned regions of data. A release shortly after 5.0 will add dynamic data re-balancing to ensure a balanced memory usage profile across partitions.
- Loosely coupled distributed systems
Data can be balanced across multiple data centers to increase WAN performance while keeping data consistency.
- Advanced management for slow and unresponsive applications
Timeouts can be set to have the system switch from synchronous to asynchronous communication with clients to improve performance.
- Client server cache topology enhancements to eliminate cache bottlenecks due to client-side performance and ensure cache scalability
Communication is now based solely on the connect created by the client allowing access through firewalls. Client/server communication can also be made asynchronous to prevent client side performance from bottlenecking the server.
- Improved membership model to support linear scalability for hundreds or thousands of cache nodes.
Caches can be added and deleted dynamically without degradations in performance.
- Enhancements to cache event model to enable multiple cache listeners to act upon cache events.
The order of events can be preserved when cache operations are performed wthin the context of a transation. Event notifications are also triggered when member regions leave or enter the distributed system, or when new regions are created. This allows for application interdependencies to be modeled in SOA-like environments. With this new release, applications can also subscribe to or publish region events without caching the data associated with those events. This allows for the use of GemFire as a messaging layer.
The GemFire product competes with the distributed clustering vendors such as Tangosol, Terracotta, and Gigaspaces. Gemstone was also an early JEE provider with their Gemstone/J appserver.