Oracle Coherence Review

It caches part of the database. We can execute complex queries using EntryProcessors.

What is most valuable?

  • Entry processors
  • Distributed cache
  • Events

How has it helped my organization?

It has allowed us to greatly improve our response times in several services by caching part of the database into Coherence and executing complex queries using EntryProcessors.

What needs improvement?

Configuration is too complex. One of the reasons configuration can be complex in the POF is due to the XML files required for the IDs of the classes. Also, the normal configuration files in XML are not so easy to use; I’m not an expert on them, but I have heard complaints from some of my colleagues.

There is a a lot of room for improvement with POF serialisation. It is slow compared to other serialization mechanisms. We have done some testing using Kryo and custom serialisation built by ourselves, and I have managed to serialise / deserialise 10 times faster than POF. And I haven’t event tried using Unsafe. That means there is even more room for improvement.

POF serialisation also requires both XML files with the IDs of all the Java classes that are going to be stored and implementing the write external read external methods with all the fields of the classes. If you have a few classes, it is fine, but when you try to store complex messages like FIXML or FPML protocols, it becomes quite a nightmare. In our case, we have built a code generator that solves our problem, but is not a simple solution.

Support for writing the cache contents to disk and recover it should be available in production. This feature allows writing the current content of the cache into a file on disk and being able to repopulate the cache later with this information. This is very useful when, for any reason, there is a need to stop all the cache nodes for some time and restart them again without losing information. The problem is that it is not, or at least it was not, supported for production environments. That means we cannot really use it. Our solution was to use a backing database, but that is not trivial, either, because the only way to represent our complex objects into the database was with blob binaries.

For how long have I used the solution?

I have used it for four years.

What do I think about the stability of the solution?

We found some issues using the incubator libraries for database integration on writing and also using the feature to write cache contents to disk.

What do I think about the scalability of the solution?

I have not encountered any scalability issues.

How are customer service and technical support?

Technical support is 5/10; not very good, in Spain at least.

Which solution did I use previously and why did I switch?

I did not previously use a different solution.

Which other solutions did I evaluate?

We have recently evaluated other solutions such as Hazelcast and GridGain.

What other advice do I have?

Get a good expert on the technology, because the learning curve can be high.

Which version of this solution are you currently using?

3.7.1 and 12
**Disclosure: I am a real user, and this review is based on my own experience and opinions.
More Oracle Coherence reviews from users
Find out what your peers are saying about Oracle, VMware, Software AG and others in Database Development and Management. Updated: September 2021.
535,015 professionals have used our research since 2012.
Add a Comment
ITCS user