Oracle Coherence
Oracle Coherence is a distributed in-memory data grid (IMDG) developed by Oracle Corporation. It’s designed to store and manage data across multiple servers in memory, enabling high performance, scalability, and fault tolerance for enterprise applications. It is the industry leading in-memory data grid solution that enables organizations to predictably scale mission-critical applications by providing fast access to frequently used data. As data volumes and customer expectations increase, driven by the “internet of things”, social, mobile, cloud and always-connected devices, so does the need to handle more data in real-time, offload over-burdened shared data services and provide availability guarantees.
In computing, Oracle Coherence (OC) is a proprietary Java-based in-memory data grid designed to improve reliability, scalability and performance compared to traditional relational database management systems.
Why use Oracle Coherence?
You’d use Coherence when you need:
• Massive scalability (terabytes of data in memory)
• High availability (data replicated across nodes)
• Low latency (fast in-memory access)
• Distributed processing
When should you use Coherence?
Oracle Coherence is a good fit when:
• You’re building large enterprise systems
• You need a distributed cache across many servers
• You require real-time data access at scale
• You want fault-tolerant, clustered architecture
• You’re working in Java-heavy environments
Less ideal when:
• You need a simple caching solution
• You’re building small or mid-sized apps
• You want something lightweight and easy to set up
Key components of OC
1. Cluster
• Multiple nodes (servers) working together
• Appears as a single system
2. Distributed cache
• Data is partitioned across nodes
• Each node stores a portion of the dataset
3. Backup/replication
• Data is replicated to other nodes for fault tolerance
4. Coherence services
• Partitioned service (data distribution)
• Replicated service (full copies across nodes)
5. Entry processors
• Execute logic directly where data lives (reduces network overhead)
Key features of Oracle Coherence
• Distributed in-memory storage
• Automatic data partitioning
• Replication and failover
• Near cache (local caching)
• Event-driven architecture
• Parallel processing
• Integration with Java EE / Spring
• Elastic scalability (add/remove nodes easily)
Advantages
• Extremely scalable and high-performance
• Built-in fault tolerance
• Supports distributed computation
• Reduces database bottlenecks
• Strong enterprise support and integration
Disadvantages
• Complex setup and management
• Requires significant infrastructure
• Not beginner-friendly
• Licensing costs in some enterprise setups
• Overkill for simple applications
Common use cases
• Financial systems (trading platforms, risk engines)
• Telecom systems
• Real-time analytics
• Large-scale caching layers
• Distributed session/state management
Alternatives
1. Hazelcast
• Similar IMDG, easier to use
• Strong Java ecosystem
2. Apache Ignite
• Supports SQL queries and compute grid
3. Redis
• Simpler, widely used, but less “grid-like”
4. Infinispan
• Open-source, Java-based
Services of Oracle Coherence
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.
Tangosol Inc. developed the original Coherence product. Oracle Corporation acquired Tangosol in April 2007, when Coherence had about 120 direct customers. It was also embedded in a few products from companies that included some of Oracle's competitors.