Faced with an increasingly competitive market for large-scale distributed data caches, Oracle has endeavored to make its own Coherence data grid software sprightlier and simpler to use.
"One of the things we didn't do so well early on was make the technology easily usable," admitted Cameron Purdy, Oracle vice president of development. "So we've made some pretty significant investments in making things easy to use."
Version 3.7 of Coherence, to be released Monday, includes more than 500 changes since the 3.6 version, which debuted last July.
Among the changes are support for flash drives, which should ease the process of sizing caches, and streamlining garbage collection to reduce latency.
Using Coherence, an organization can reduce the amount of times data needs to be written back to or read back from storage, a process that can slow an application. It is also used by organizations as a fail-over mechanism, assuring that if one server, or even an entire data center, goes offline, the application and associated data stays operational on other nodes.
Coherence itself was written in Java and tuned for that language, but it also offers connectivity with C++ and .NET-based applications.
Coherence is one of a growing number of products and open-source applications designed for building multi-server caches. Peers include the open-source Memcache, VMware's GemStone and Terracotta's Ehcache.
In addition, at least two separate working groups are endeavoring to build caching directly into the Java Enterprise Edition 7 specifications, namely the JSR-107 working group and a Red Hat submission of its Infinispan data grid technology.
Oracle has also tried to do away with the size limitations of Coherence caches. Today's larger deployments of Coherence tend to be about a quarter-terabyte in size, Purdy explained. This limitation has largely been due to the amount of working memory that can be placed on each server.
The new release allows administrators to incorporate solid-state flash memory into a configuration, in effect eliminating the upper limit of the amount of memory that can be devoted to each cache. A server can be outfitted with essentially an unlimited amount of solid-state flash memory, which then can be appropriated by Coherence.
"We've extend[ed] our capacity for storing data beyond the RAM and onto the flash device," he said, noting that the use of flash does not incur a performance penalty. "This is pushing Java into a new strata."
Sign up for Computerworld eNewsletters.