Introduction to Coherence Cache
Coherence is a clustered, high-availability, in-memory caching solution from Oracle. It stores in memory data that's accessed often using unique keys, reducing the need for repeated database queries. Coherence follows a client-server architecture, where the server manages the cached data, and the client interacts with it.
In the Siebel architecture, the Coherence server handles the actual caching, while the coherence—integrated within Siebel—communicates with the server to fetch or update data. This tight integration ensures faster access to commonly used data, improving overall performance.
Coherence offers various cache types, including Distributed Cache, Near Cache, Local Cache, and View Cache, each with unique advantages. These are configured through XML files. Coherence functionality is fully driven by these XMLs, making it highly flexible and extensible. Any required behavior can be introduced or customized by updating the XML configuration files without writing a single line of code.
Siebel supports coherence Caching from 25.6 onward and primarily uses Distributed Cache, where cached data is partitioned and distributed across multiple nodes. These nodes reside on separate physical or virtual machines. As Coherence is an in-memory caching solution, the maximum amount of data the cache can store depends on the number of nodes configured. Each node’s capacity is an XML configurable parameter.
Running a single Coherence node enhances performance by minimizing data access latency. Running multiple nodes adds fault tolerance and high availability. These multiple nodes form a Coherence cluster that seamlessly communicates to provide a unified caching experience to the client, even when distributed across different machines. If resources (CPU and RAM) allow, one Coherence node can also run on the same machine as the Siebel server. Because Coherence is an in-memory caching solution, the maximum amount of data the cache can store depends on the number of nodes configured. Each node’s capacity is a configurable parameter.
By default, Coherence provides data redundancy by backing up cache data from one node to another. This ensures cache availability even in the event of a node failure. To fully use Coherence's capabilities, Siebel recommends deploying at least three Coherence nodes.
The Coherence Server operates based on two key XML configuration files that control its behavior and functionality.
- custom-override.xml
- custom-cache-config.xml
Similarly, the Siebel’s Coherence Client relies on the following XML file to access Coherence services.
- coherence-extend-config.xml
These XML files are Created and managed via the Siebel Management Console (SMC) using the Coherence Cache Server Profile and Cache Client Configuration Profile.
To find out more about Coherence see Oracle Coherence on the Oracle website.
To find, see Oracle Coherence Documentation on Oracle Help Center.