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 Dave West on Jun 23, 2009
Gemstone has announced the release of Gemfire Enterprise 6.0 with features that support, "dynamic adjustment of compute resources to meet service demands without any interruption to operations." Gemfire provides an in-memory persistence layer, a "data fabric," as a middle tier between applications and data sources to enhance performance by offering data access services as memory speeds. (See InfoQ, May 8, 2008.) This new release extends Gemfire's management functions allowing dynamic management of the data fabric.
With built-in instrumentation that captures throughput and latency metrics, GemFire enables applications to sense changing performance patterns and proactively provision extra resources and trigger rebalancing of predictable data access throughput and latency without the need to overprovision capacity. Together, the new features combine to offer unprecedented improvements in ease-of-use and manageability of data over a distributed architecture.
Although cloud computing is not explicitly mentioned, Gemfire Enterprise 6.0 does offer cloud-like functionality; e.g., "support for the 'data elasticity' required to manage dynamically changing workloads across globally dispersed data centers."
In addition to the dynamic management features at the core of this release, the 6.0 version offers:
The developer productivity tools are responsive to the needs of teams engaged in iterative development, i.e. agile teams.
Gemstone has a long history as a provider of object database solutions, but is better known today for its Gemfire and Maglev (scalable Ruby development environment) offerings. One of the "surprises" discussed by Kent Beck in his QCon San Francisco talk in 2009, was the "flattening of data models" and the need for alternatives to the highly structured data solutions offered by relational databases. To the extent that the trend noted by Kent continues, the developer community might find solutions like Gemfire and the Gemstone object DB of increasing interest.
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Mobile and the New Two-Tiered Web Architecture
A practical guide to choosing the right agile tools
Why NoSQL? A primer on Managing the Transition from RDBMS to NoSQL
Monitor your Production Java App - includes JMX! Low Overhead - Free download
This is similar to Oracle Coherence, which also provides:
* "Data aware application behavior routing"
* Full-featured API for C++ and C#
* Cost-based query optimization
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
Cameron,
Isn't it true that Coherence offers an C++ API to the clustered cache services in JVMs? GemStone built a native cache implementation in C++ - so we can manage native C++/C# objects without serialization, deserialization, with eviction, native disk overflow in the C++ process, memory management, etc. All this besides being able to converse with a cluster of JVMs that host data in a highly partitioned or replicated manner using a simple, portable "on the wire" object representation. Turns out, interoperating between Java, C++ and .NET applications using GemFire is far more efficient than using efficient formats like Google Protocol Buffers (by a factor of 2 or higher).
There is a lot more on GemFire 6.0 on our GemFire community site
regards,
Jags Ramnarayan
Hi Jags -Isn't it true that Coherence offers an C++ API to the clustered cache services in JVMs?
Among other things, that is certainly true.GemStone built a native cache implementation in C++
Yes, Coherence has had a native C++ cache implementation for a few releases now. Since Coherence 3.4 (about a year ago), we have also had a near cache implementation. And a continuous query cache implementation. We even have local indexes and query support :-)All this besides being able to converse with a cluster of JVMs that host data in a highly partitioned or replicated manner using a simple, portable "on the wire" object representation.
Yes, Coherence introduced the Portable Object Format (POF) a full three years ago now, with implementations in C#, C++ and Java. It sounds like you have done something very similar. It would have been nice if there had been a standard format back then, but now there are things like Google Protocol Buffers.Turns out, interoperating between Java, C++ and .NET applications using GemFire is far more efficient than using efficient formats like Google Protocol Buffers (by a factor of 2 or higher).
Of course ;-) Some of our customers use Google Protocol Buffers. Google Protocol Buffers may not be as optimized as POF, but they are supported by Coherence. In fact, we even support customers plugging in their own proprietary wire / serialization formats, which are surprisingly common in banks.
Peace,
Cameron Purdy | Oracle Coherence
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.
3 comments
Watch Thread Reply