InfoQ

News

GemFire 5.5 Adds Continuous Query and Repeatable Read Support

Posted by Alexander Olaru on May 08, 2008 04:00 PM

Community
Java
Topics
Clustering & Caching
Tags
GemFire ,
Caching

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 Console View

System Member 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.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.