By Craig Blitz on Aug 12, 2014
Six years after I joined Coherence following Oracle’s acquisition of BEA, it is great to see how the industry has embraced In-Memory Data Grid’s as a mainstream technology to scale middleware applications. This adoption is driven by growth in customer demand to manage more and more data, and to act on that data faster and faster. The mission that the Coherence team set upon over a decade ago has come to fruition, and our core team – still intact all this time later even as we continue to grow the team in new directions – is working on new challenges as in-memory data grid based solutions become standard.
The latest release of Coherence and the new announcement of the In-Memory Option for the Oracle Database make this an opportune time to answer some recent questions I’ve received about where Coherence is headed. First lets review the recent announcements.
In June we announced Coherence 12.1.3, the second release of Coherence 12cR1. Coherence 12.1.2, released in 2013, introduced groundbreaking operational improvements like Managed Coherence Servers and GAR files, GoldenGate HotCache to keep caches and databases in sync, and Live Events to respond to state and data changes in real-time. With Coherence 12.1.3 Oracle became the first commercial vendor to support the recently ratified JSR-107 (JCache) spec, the standard for caching on the Java platform. We also introduced a JVisualVM plugin for developers, asynchronous EntryProcessors to allow clients to submit work to the data grid without waiting for a response, memcached client support, and optimization improvements to our Exalogic Infiniband optimizations (Exabus). Check out all the cool new features of Coherence 12.1.3 in our release notes.
In July, Oracle announced the availability of the In-Memory Option for the Oracle Database. The In-Memory Option is designed to accelerate database performance by orders of magnitude for analytics, data warehousing, and reporting by storing columnar data in-memory. It supports ad-hoc queries and full-table scans without requiring application changes; the interface is standard SQL. Maria Colgan answers frequently asked questions about this release on her blog.
The new In-Memory option has also led to some confusion in the In-Memory Data Grid market. Let me try to clarify some of the confusion.
Oracle Coherence is not embedded in the In-Memory Option for the Oracle Database. Although I have seen rumors of this to the contrary, this would make absolutely no sense. Coherence is a distributed key-value store; the in-memory option is a columnar store. The In-Memory option is purpose built and optimized to work as one with the database with its primary access method being SQL. (Of course, Coherence is part of many other Oracle solutions, such as Oracle Service Bus which offers web services results caching via a check box, or the Elastic Charging Engine, which is architected on top of Coherence’s fault-tolerant distributed processing. (As you can see, Coherence has become strategic within Oracle.)
The In-Memory Option focuses on different use cases than Coherence. In-Memory focuses on ad-hoc full-table scans of unindexed data. in the words of Maria Colgan "The main use case for the In-Memory column store is fast analytics, which has very different access patterns to OLTP. Typically analytic queries access a few columns from a table but they examine all of the entries in those columns. You need to scan the whole table or segment, not just a small part of the table to answer these queries.” Storing these columns in-memory, in columnar format, speeds full-table scans orders of magnitude.
By contrast, Coherence focuses on providing scale-out data management and processing to middleware applications thereby reducing load on shared services such as databases, mainframes, and web services. By caching data in domain object format close the application, Coherence also increases responsiveness and availability of applications.
So if the In-memory Option is not related to Coherence, what has the Coherence team been up to? Glad you asked! Aside from the two 12c releases over the past year, we continue to invest in several strategic areas (you can get a pretty good sneak peak of upcoming releases at Oracle OpenWorld next month).
The Cloud. Oracle has increased investment in accelerating’s Coherence role in our various cloud offerings, from public to private PAAS. Our Coherence cloud team is leveraging investments in Managed Coherence Servers to simplify operations and continue to integrate Coherence into the cloud environment. In addition, Coherence integrates with other Oracle technology to provide a full cloud management solution.
Operational Efficiency. Related to the Cloud, but somewhat separate, we are innovating to reduce the cost it takes, both from a hardware and IT staff perspective, to manage an in-memory data grid solution. I
To get more specific of all these investments, you can join me at my Coherence Product Strategy and Roadmap talk at OpenWorld.