In computing, Oracle Coherence is a proprietary 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. At that time Tangosol Coherence was embedded in a number of other software products, some of which belonged to Oracle Corporations's competitors.
This section contains content that is written like an advertisement. (October 2014) (Learn how and when to remove this template message)
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.
- 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.
- 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  or almost any other platform using Coherence provided APIs.
Coherence can be used to manage HTTP sessions via Coherence*Web. 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. These patterns implement features such as messaging, work distribution and data replication across wide area networks with Coherence.
- Complex event processing
- Distributed computing
- Distributed hash table
- Distributed transaction processing
- Extreme Transaction Processing
- Grid computing
- Transaction processing
- Oracle Fusion Middleware Licensing Information, Release 12c (12.1.2) - Release 12c (12.1.2). Docs.oracle.com (2013-08-02). Retrieved on 2013-09-18.
- "Oracle and Tangosol Acquisition Announcement" (PDF). Oracle.com. 2007-03-23. Retrieved 2014-10-18.
- Oracle to Acquire a Lead in Extreme Transaction Processing
- Oracle Coherence Product Page
- Oracle Coherence and MapReduce
- "Oracle GoldenGate". Oracle.com. 2012-10-24. Retrieved 2012-11-07.
- "Coherence*Web Session Management Module - Coherence 3.4 User Guide - Oracle Coherence Knowledge Base". Coherence.oracle.com. 2009-04-13. Retrieved 2012-11-07.
- The Coherence Incubator