InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

GemFire 5.5 Adds Continuous Query and Repeatable Read Support

Posted by Alexander Olaru on May 08, 2008

Sections
Development,
Architecture & Design
Topics
Clustering & Caching ,
Java
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

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.