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.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Alexander Olaru on May 08, 2008
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:
The GemFire 5.5 is available for download on the product's website.
Why NoSQL? A primer on Managing the Transition from RDBMS to NoSQL
Monitor your Production Java App - includes JMX! Low Overhead - Free download
18 agile and lean practices for effective software development governance
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
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.
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.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
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.
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.
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.
No comments
Watch Thread Reply