Oracle Coherence – In this and the next posts I will talk a little about this Oracle solution that will help you in performance problems.
See the links below to check the other parts of our project:
- Oracle Coherence – Part 1: What, Features and Benefits
- Oracle Coherence – Part 2: Installation and Configuration (Soon)
- Oracle Coherence – Part 3: Performing a practical example (Soon)
What is it:
Oracle Coherence is the solution of in-memory data grid, Oracle. With Oracle Coherence, mission-critical applications can scale predictably, providing quick access to frequently used data. It allows applications to scale linearly and dynamically, generating predictable costs, allowing increases in transaction rates and reducing application response times.
Even in the case of server failure, Oracle Coherence enables continuous data availability and transactional integrity. The applications also benefit from its transaction processing capabilities, combining distributed data and grid computing power for advanced and reliable transaction processing.
Features and Benefits
Predictable scalability of applications: – Allows applications to scale linearly and dynamically for use of advanced features and predictable cost
Improved service levels – Allows increases in transaction rates while reducing application response times
Automatic and dynamic partitioning – Allows transactional integrity and continuous availability of data even in the event of server failure
Enables extreme transaction processing (XTP) – Combines distributed data and grid computing power for advanced processing, fast and reliable transactions
ActiveCache – Simplified acceleration of Web applications running on Oracle WebLogic Server supports Java, .NET and C ++
It allows offload full session – Instances Oracle WebLogic can be focused on Oracle WebLogic processing requests; however, in some cases, HTTP sessions are great, and there is a trade-off between the benefits of offloading the entire user session, and reduce network usage, only transferring the object that needs to be shared between different applications.
Oracle Coherence is built with low latency, non-blocking I/O as a primary function, but it still takes time and bandwidth to transmit when working with large volumes of data. In such situations, it would be useful to be able to select which session attributes should be stored in local storage instances of Oracle WebLogic, and that must be used for a distributed Oracle Coherence Cache.
The storage configuration Coherence can be configured in a wide variety of ways. To balance between Oracle WebLogic instances of unloading and mitigate the lost performance by storing all the http session in an Oracle Coherence dedicated node, a subset of session attributes can be stored in the external Oracle Coherence Cache through the use of a distribution controller custom session.
Another reason to unload some of Oracle WebLogic session attributes share this set of attributes with Web applications deployed in different Cluster Oracle WebLogic. A distribution session controller allows us to add logic to deduce whether a session attribute must be stored in the distributed cache.
Anyone who has tried to manage us or tried Coherence Cache results of the OSB, will appreciate the new functionality that is already available. From WebLogic Server 10.3.4, you can use the WebLogic Administration Server through the Administration Console or WLST, and Java-based Node Manager to manage and monitor the life cycle of autonomous Coherence cache servers. This is a great step forward as the above mainly involved to write their own scripts to do this.
In Oracle Service Bus 11gR1 (188.8.131.52.0), OSB now supports storage using Cached Business Services with Coherence. If you use Business Services returning results so much that no one static often change, you can configure these business services to cache results. For Business Services using Result Cache, you can control the lifetime for cached result. After the cached result expires, the next call services result in the back-end service for the result. This result is then stored in the cache for future requests for access.