GemFire 5.5 Adds Continuous Query and Repeatable Read Support
GemFire Enterprise Data Fabric is a JCache compliant (JSR 107) in-memory data management solution that sits in the middle-tier between the applications and the data sources to provide distributed caching, continuous analytics semantics and message bus service all in one while operating at memory speeds. In the GemFire 5.5 press release Jags Ramnarayan, Chief Architect at GemStone, described the significance of GemFire 5.5 for its customers:
The release of GemFire Enterprise 5.5 is a significant milestone for our customers as they will now be able to manage the entire SLA process on a new level. Driven by market demand, the combination of new features provides customers with the tools to build a highly-scalable and secure data infrastructure that converts a network of nodes into an operational data store.
Ramnarayan discussed with InfoQ the new features introduced with GemFire 5.5:
1 - Security - Authentication and Authorization Services
GemFire Enterprise 5.5 augments the current SSL based security model with a plug-in architecture, allowing enterprises to use existing authentication and authorization frameworks to secure cache members and clients. Ramnarayan specified that many of their customers in the financial industry would likely take advantage of this new feature and added that this latest implementation of Security Services will increase the overall product performance due to the introduction of caching mechanisms for the security credentials.
2 - Continuous Querying
Continuous querying enables client applications to register queries to express complex interest on moving data stored in the cache server cluster. Ramnarayan mentioned that these queries can be expressed in the Object Query Language (OQL) - a standard supported by prior GemFire releases as well. These queries can be invoked from client applications written in Java, C++ or C# and once registered on the server, all underlying data changes can be sent through event notifications to the interested applications.
3 - Durable Subscriptions for Client/Server installations
Client applications can subscribe to data in the fabric (cache server cluster) by registering interest using application object keys or using continuous queries. The servers enqueue messages for clients with durable subscriptions and make these events redundantly available on multiple nodes for high availability. In the event of a failure, client applications can recover the subscribed data once they reconnect to the server.
4 - Enhanced partitioned data management
The data buckets are more uniformly balanced across available nodes as a result of enhancements in the load balancing algorithm. According to Ramnarayan in certain scenarios these improvements can lead to up to 50% gains in throughput.
5 - "Repeatable Read" transactions
GemFire Enterprise 5.5 adds a "Repeatable Read" cache transaction isolation level to the other two isolation levels already supported: "Read Committed" and "Uncommitted Read". With the "Repeatable Read" data region fetch requests issued multiple times within the same transaction will always produce the same result yielding better application throughput.
6 - New Console for distributed system monitoring (GFMon)
The GFMon GUI monitoring tool provides a global view into the status, events and memory usage of each cache member running on nodes either in a single data center or across multiple data centers connected through a WAN. Ramnarayan added that GFMon also provides ad-hoc querying facilities via OQL.
System Console View
System Member View
GemFire 5.5 is fully backwards compatible with the prior release. The discussion with Ramnarayan concluded with him providing some insight into the product's future roadmap:
- Introduced in beta mode with GemFire 5.5, the new "data fabric programming model" will be made GA in the future release. This programming model allows developers to code functions or data parsing algorithms that can be then sent for remote execution on the GemFire nodes thus allowing processing to occur as close to the data as possible.
- The future GemFire release is planned to include dynamic resource allocation thus further improving performance through intelligent load balancing based on hardware resource availability.
The GemFire 5.5 is available for download on the product's website.
Tom Gilb & Kai Gilb Jan 26, 2015