Oracle Coherence

In computing, Oracle Coherence is a proprietary[1] Java-based in-memory data grid, designed to have better reliability, scalability and performance than traditional relational database management systems.

Oracle Corporation acquired Tangosol Inc., the original owner of the product, in April 2007, when it had more than 100 direct customers.[2] At that time Tangosol Coherence was embedded in a number of other software products, some of which belonged to Oracle Corporations's competitors.[3]


Coherence provides several core services:

  • Replicated and partitioned data management and caching services - At its core Oracle Coherence is a highly scalable and fault-tolerant distributed cache engine. Coherence uses a specialized scalable protocol and many inexpensive computers to create a cluster which can be seamlessly expanded to add more memory, processing power or both. As a result, Coherence has no single point of failure and transparently fails over if a cluster member fails. When a Coherence server is added or removed the cluster automatically re-balances to share the workload. As a result, Coherence provides a highly available and predictably horizontally scalable infrastructure for managing application data.[4]
  • Replicated data processing engine - In addition to caching Coherence provides a rich data processing model so processing can be farmed out to where the data is, and results returned to the client. By moving the processing to the data, processing too is highly scalable. This is to some extent similar to a MapReduce framework, but lacks the option of parallel reductions.[5]
  • Event model allowing developers to interact with data as it changes.
  • Support for clients written in Java, C++, .NET as well as other languages using Representational State Transfer (REST).

In addition Coherence provides a variety of mechanisms to integrate with other services using TopLink, Java Persistence API, Oracle Golden Gate [6] or almost any other platform using Coherence provided APIs.

Coherence can be used to manage HTTP sessions via Coherence*Web.[7] With Coherence*Web, application services such as Oracle WebLogic Server, IBM WebSphere, Apache Tomcat and others can reap the same benefits of performance, fault tolerance, and scalability as data.

Some Coherence usage patterns are open source and are listed and supported through the Oracle Coherence incubator.[8] These patterns implement features such as messaging, work distribution and data replication across wide area networks with Coherence.

See also


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.