Oracle Coherence uses a combination of replication, distribution, partitioning and invalidation to reliably maintain data in a cluster in such a way that regardless of which server is processing, the data that it obtains from Oracle Coherence is the same. In other words, Oracle Coherence provides a distributed shared memory implementation , also referred to as Single System Image (SSI) and Coherent Clustered Caching.
Any time that an application can obtain the data it needs from the application tier, it is eliminating the data source as the Single Point Of Bottleneck (SPOB).
To address the potential scalability limits of the replicated cache service, both in terms of memory and communication bottlenecks, Oracle Coherence provides a distributed cache service. Many products have used the term distributed cache to describe their functionality, so it is worth clarifying exactly what is meant by that term in Oracle Coherence. Oracle Coherence defines a distributed cache as a collection of data that is distributed (or, partitioned) across any number of cluster nodes such that exactly one node in the cluster is responsible for each piece of data in the cache, and the responsibility is distributed (or, load-balanced) among the cluster nodes.
There are several key points to consider about a distributed cache: