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,
GemStone,
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

Reply

Exclusive Content

Tapestry for Nonbelievers

A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.

Pete Lacey on REST and Web Services

In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.