Mythics Blog

The Features and Benefits of Oracle Coherence

Posted on September 12, 2014 by Jonathan Hult

Tags: Oracle, Fusion Middleware, Cloud Computing, WebLogic

Coherence has many meanings across different domains, including physics, mathematics, or computer science. Coherence within computer science may refer to a feature within Parallels Desktop for Mac, a media server, or Oracle Coherence. This blog post is an introduction to Oracle Coherence.

Oracle Coherence is an in-memory data grid and distributed caching solution. Coherence enables organizations to predictably scale mission-critical applications by providing fast access to frequently used data. It provides a robust data abstraction layer that brokers the supply and demand of data between applications and data sources. Coherence is composed of many individual nodes or JVMs which work together to provide highly reliable and high speed virtual caching. The complexity of the cluster is completely hidden from the user of the virtual cache. By automatically and dynamically partitioning data, Coherence ensures continuous data availability and transactional integrity, even in the event of a server failure.

Simply stated, Oracle Coherence is a peer-to-peer, high availability data grid that supports Extreme Scaling, Increased Performance and Improved Reliability for applications and middleware. These factors are a crucial component to addressing the challenges faced by many applications today, which must grow and scale elastically, reduce back-end load on databases, applications and mainframes and operate in a vast landscape of the Cloud, Shared Services and custom applications all requiring low latency and reliable access to data. 

Features

Coherence provides several core services including caching, analytics, transactions and events.

  1. Caching - Reading from cache is almost always faster than querying back-end data sources. Applications cache data in the data grid to reduce the need for more the expensive requests to back-end applications data sources. Coherence's shared data cache provides a single, consistent view of cached data. Applications can query and analyze data in memory (cache), leveraging the massively parallel capabilities of the data grid.
  2. Analytics - When many people hear analytics, they may think of Google Analytics. Coherence does the same thing (and more) for your applications. Coherence allows searching, aggregating, and sorting data, even including support for custom analytical functions. It parallelizes operations across the entire data grid, ensuring that server failures or slowdowns do not affect calculation results.
  3. Transactions - With Coherence, applications are able to manage transactional data in memory inside the data grid. The combination of scalability and performance (see below) which Coherence provides makes it optimal for extreme transaction processing workloads. Its in-memory replication and guaranteed data consistency mean that it is suitable for managing transactions in memory until they are persisted to an external data source for archiving and reporting.
  4. Events - Every transaction that occurs can potentially trigger many events. Each of these events may need to be processed in very short order (often milliseconds). Coherence provides event-handling technologies capable of handling intense event rates, including server-side stream processing and interactive technologies such as continuous query for real-time desktop applications.

Benefits

Every piece of software needs to provide benefits or we would not use it. The benefits Coherence provides include high-profile items such as performance, reliability, scalability and availability.

  • Performance - Latency can cause big problems. Coherence helps to solve these by caching and processing data in real time. This has the nice side effect of dramatically increasing performance. In memory performance alleviates bottlenecks and reduces data contention, improving application responsiveness. Parallel query and computation also improves performance and scalability of real-time calculations.
  • Reliability - Coherence is built on a fault-tolerant mesh that provides data reliability and accuracy. Coherence provides data tolerance and continuous operation to support the data availability demands necessary in mission-critical environments. The reliability of the data grid minimizes the need for applications to compensate for server and network failures, streamlining the development and deployment process.
  • Scalability - Over the past decade, Cloud Providers such as Amazon EC2 has lead the charge for scalability, focused on providing elasticity and growth capabilities for large organizations, such as Netflix. Similarly, Coherence enables applications to scale linearly and dynamically for predictable cost and improved resource utilization (the processing power of the grid scales linearly with data capacity). For many applications, Coherence offers a straightforward approach to increasing the effective capacity of shared data sources. Coherence supports continually growing application loads without risking data loss or interruption of service, by offloading processing from back-end systems and applications, which is often already strained and much more expensive to increase than the Coherence cluster.
  • Availability - Availability of data and information is something that all companies struggle with, with its capability to replicate data and maintain transactional integrity, Coherence clusters maintained throughout the enterprise and across geographies provide real-time availability of data across the enterprise and can support the organizations continuity of operations and disaster recovery requirements.

Oracle Fusion Middleware Integration

Coherence is middleware that uses its data grid capabilities to reliably manage data objects in memory across many servers. As a Java-based technology, Coherence integrates well with the Oracle Fusion Middleware stack. Coherence is a key component of Oracle's Cloud Application Foundation (CAF), which provides the framework for building elastic, reliable and highly available cloud-based applications using Oracle Fusion Middleware. Many Oracle Fusion Middleware products provide native integration with Coherence out of the box to provide linearly scalable, fault tolerant, in-memory data management. These include the following Oracle products:

Coherence’s management functionality is strengthened by Oracle Enterprise Manager (EM), which provides management of the Oracle Fusion Middleware components. Oracle EM provides detailed insight and visibility into the operations and performance of Coherence caches, nodes, and services. For example, the Coherence Cluster dashboard displays an overview of performance hotspots such as publisher/receive success rate, service status, top caches with lowest hits to gets ratio, etc.

In addition, operational teams can quickly correlate cluster nodes with the underlying hosts to determine CPU and memory utilization on those hosts to aide in the decision making process for scaling Coherence Clusters. 

References

The Coherence Incubator

The Oracle Coherence Incubator project consists of a collection of examples, organized as Apache Maven modules, demonstrating advanced uses of Oracle Coherence. The project includes a collection of Oracle Coherence-based utilities, distributed computing and data-grid examples, third-party integration examples and implementations of commonly used software patterns.

https://java.net/projects/cohinc/

https://coherence-community.github.io/coherence-incubator/12.0.0/

YouTube Channel

If you are a visual learner, check out the Oracle Coherence YouTube channel.

https://www.youtube.com/user/OracleCoherence

Recap

So, to recap:

  • Fast reliable access to application data
  • Near memory speed access to data, regardless of storage medium
  • Enables in-memory data analytics and event processing
  • Reduces load on shared data sources
  • Seamlessly manage 
data across memory and disk based devices
  • Optimized for scaling-out on commodity hardware
  • Simplify the configuration of large-scale environments
  • Intelligently distribute and manage client connections

Oracle Coherence as a stand-alone solution or part of the Oracle Cloud Application Foundation can provides great value to your organization if you are faced with the challenges around the performance, reliability, scalability and availability of data and applications within your enterprise. If you have questions or would like more information on how Coherence can provide value to your organization, please contact us and we'll put you in touch with one of our Cloud Application Foundation (CAF) Implementation Specialists.

If you're an Oracle Partner and are interested in becoming Specialized in Oracle Cloud Application Foundation, you can contact your Partner Enablement representative to find more details on the Oracle Cloud Application Foundation Implementation Specialist Bootcamp that Mythics partnered with Oracle to develop.

Comments

  • ! No comments yet

Leave a Comment