We just raised a $30M Series A: Read our story

Oracle Coherence OverviewUNIXBusinessApplication

Oracle Coherence is the #18 ranked solution in our list of top Database Development and Management tools. It is most often compared to Terracotta: Oracle Coherence vs Terracotta

What is Oracle Coherence?

Oracle Coherence is an 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.

Oracle Coherence comes with a rich set of processing and event capabilities so applications can scale processing with increased data volumes. By automatically and dynamically partitioning data, Oracle Coherence ensures continuous data availability and transactional integrity, even in the event of a server or site failure.

Oracle Coherence provides organizations with a robust scale-out data abstraction layer that brokers the supply and demand of data between applications and data sources. This cost-effectively offloads shared data services such as databases, mainframes, and partner services.

For more information on Oracle Coherence, visit Oracle.com

Oracle Coherence is also known as Coherence.

Buyer's Guide

Download the Database Development and Management Buyer's Guide including reviews and more. Updated: October 2021

Oracle Coherence Customers
Industrial Bank of Korea, Hotelbeds, Canon Inc., Verizon, Securitas Direct Espa_a, S.A.U., CetelemEspa_aGrupo BNP Paribas, Telus
Oracle Coherence Video

Archived Oracle Coherence Reviews (more than two years old)

Filter by:
Filter Reviews
Industry
Loading...
Filter Unavailable
Company Size
Loading...
Filter Unavailable
Job Level
Loading...
Filter Unavailable
Rating
Loading...
Filter Unavailable
Considered
Loading...
Filter Unavailable
Order by:
Loading...
  • Date
  • Highest Rating
  • Lowest Rating
  • Review Length
Search:
Showingreviews based on the current filters. Reset all filters
SD
Enterprise Service Architect at a comms service provider with 10,001+ employees
Real User
Handles an extremely high volume of data although OSB ​could be tuned to do things better

What is most valuable?

Distributed Storage, Service Bus abstraction of service.

How has it helped my organization?

It can handle an extremely high volume of data.

What needs improvement?

OSB could be tuned to do things like Apigee.

For how long have I used the solution?

Approximately 10 years.

What do I think about the stability of the solution?

Intermittent issues with data.

What do I think about the scalability of the solution?

No we did not.

How are customer service and technical support?

Good.

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

We’ve never switched, been using Oracle suite for long time.

How was the initial setup?

OSB can be tuned a little bit better.

What's my experience with pricing, setup cost, and licensing?

Was…

What is most valuable?

Distributed Storage, Service Bus abstraction of service.

How has it helped my organization?

It can handle an extremely high volume of data.

What needs improvement?

OSB could be tuned to do things like Apigee.

For how long have I used the solution?

Approximately 10 years.

What do I think about the stability of the solution?

Intermittent issues with data.

What do I think about the scalability of the solution?

No we did not.

How are customer service and technical support?

Good.

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

We’ve never switched, been using Oracle suite for long time.

How was the initial setup?

OSB can be tuned a little bit better.

What's my experience with pricing, setup cost, and licensing?

Was purchased by the organization I worked for.

Which other solutions did I evaluate?

Couchbase and other distributed storage.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user742710
Technical Lead at a tech services company with 10,001+ employees
Consultant
Facilitates ​​Putting and getting data from cache and clearing cache via a batch job

What is most valuable?

  • Putting and getting data from cache
  • Clearing the cache using a batch job
  • Querying the cache using Coherence QL
  • Trigger functionality used when putting data to cache

What needs improvement?

Would be good if the initial setup was easier.

For how long have I used the solution?

Almost 2 years.

How are customer service and technical support?

It is Okay. Seven out of 10.

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

We used Ehcache in a previoius project and switched to Coherence. Ehcache should be installed in each JVM but Oracle Coherence is a central place, provides response from cache. Space consumption is much less.

How was the initial setup?

Initial setup is bit complex in WebLogic 12c when compared to WebLogic 10g. Performance is very good in Coherence.

What other advice do I have?

Coherence uses key value pair logic to put data to cache and fetch. If you use immutable object in the cache is it very fast, it takes a nanosecond to put it. It uses PortableObject instead of serialization. PortableObject is lightweight compared to implementing serialization.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Find out what your peers are saying about Oracle, VMware, Software AG and others in Database Development and Management. Updated: October 2021.
542,029 professionals have used our research since 2012.
it_user739680
Senior Solution Architect at a tech services company with 1,001-5,000 employees
Real User
POF allows objects to be serialized / deserialized between Java and .NET

What is most valuable?

  • Portable object format (POF serialization) that allows objects to be serialized/deserialized between Java and .NET.
  • Cache dashboard monitoring that provides reporting at the summary and detail level, such as cache hits and cache object count.

How has it helped my organization?

The project involved Java back end and Microsoft .NET front end. The product Portable Object Format (POF) allows the two platforms to exchange data seamlessly.

What needs improvement?

Data transfer performance over geographical locations. Oracle database has better performance compared to Coherence when accessed from different regions.

For how long have I used the solution?

Two years.

What do I think about the stability of the solution?

No, as long as we ensure we have 4x memory capacity than the objects that we want to keep in the cache.

What do I think about the scalability of the solution?

No, the product supports clustering for different nodes (data, extend).

How are customer service and technical support?

I didn't work with the technical support.

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

I used .NET in-memory cache and this has a single process limitation, hence each node had to keep its own data. Oracle Coherence excels as it is a distributed cache.

How was the initial setup?

For development work, I usually run Coherence on the development server which has more memory capacity.

What's my experience with pricing, setup cost, and licensing?

Based on my understanding, the license is quite expensive.

Which other solutions did I evaluate?

No, I didn't, as Coherence was the strategic cache product to use.

What other advice do I have?

It is very important to understand the cache size requirement. Do read the cache size calculation from the documentation to ensure you have enough memory/storage for your data.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Prabhu Meena
Senior Associate at a financial services firm with 10,001+ employees
Vendor
Application latency improved drastically with our ability to scale with load

What is most valuable?

  • Distributed caching
  • Aggregation
  • Near caching and expiring policy configuration
  • Master nodes and dynamic scaling

How has it helped my organization?

This product helped our organization to focus on implementing business logic without worrying about scalability on user loads of huge data queries. Application latency improved drastically with the ability to scale with load.

What needs improvement?

Better support for complex aggregation and atomicity of data. Configuration and nomenclature require more simplicity to understand for new developers.

For how long have I used the solution?

Four years.

What do I think about the stability of the solution?

Mostly, it has been stable other than encountering full GC cycles occasionally.

What do I think about the scalability of the solution?

No.

How are customer service and technical support?

FIve out of 10.

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

We did not have a previous solution.

We chose this product, because it was one of the most popular distributed caching in memory cache, which supports capabilities like Cassandra and MongoDB.

How was the initial setup?

It was complex and hard to understand the hidden capabilities. Documentation requires more crispy detail rather than lengthy.

What other advice do I have?

You can evaluate Hazelcast, which looks promising.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user738702
CEO
Real User
​In-memory data grid and distributed caching are valuable but Coherence cluster is problematic

What is most valuable?

In-memory data grid and distributed caching.

How has it helped my organization?

It was suited for stock exchange marketing software, improved performance.

What needs improvement?

Stability.

For how long have I used the solution?

About 3 years.

What do I think about the stability of the solution?

Yes, there is a big problem in Coherence cluster. For example, a master, because of connection issues, does not announce its mastery to a slave; slave becomes a master, then two masters appears in cluster, and the whole cluster dies.

What do I think about the scalability of the solution?

No.

How are customer service and technical support?

Two out of 10. They always look at you innocently and say everything is fine. Only when you send all the core…

What is most valuable?

In-memory data grid and distributed caching.

How has it helped my organization?

It was suited for stock exchange marketing software, improved performance.

What needs improvement?

Stability.

For how long have I used the solution?

About 3 years.

What do I think about the stability of the solution?

Yes, there is a big problem in Coherence cluster. For example, a master, because of connection issues, does not announce its mastery to a slave; slave becomes a master, then two masters appears in cluster, and the whole cluster dies.

What do I think about the scalability of the solution?

No.

How are customer service and technical support?

Two out of 10. They always look at you innocently and say everything is fine. Only when you send all the core dumps etc. do they start to look into the problem, and it takes from two months to half a year to fix problems.

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

Yes, I used to use Redis, Aerospike, Cassandra, etc. Why coherence? It was a company decision.

How was the initial setup?

Setup is easy.

What's my experience with pricing, setup cost, and licensing?

Product is too expensive and support is poor. There are better products.

Which other solutions did I evaluate?

Nope, it was a company decision to use Coherence, and I did not have influence on that decision.

What other advice do I have?

Invest in your network if you use Coherence cluster. Serious!

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Paulo Suzart
Hands On CTO at a tech services company
Real User
Improves our organization by reducing response times to extremely small latencies in apps

What is most valuable?

Near cache and the ability to implement various strategies, like write-behind and read-through cache.

How has it helped my organization?

Basically reducing response times to extremely small latencies in their apps.

What needs improvement?

The Java interface for loading data through the cache from the database was pretty basic. Also, the process of packaging all dependencies to do were rudimentary.

For how long have I used the solution?

I started using Oracle Coherence in 2008. I have been using the most recent version for six month with two clients (in the banking and cosmetic industries).

What do I think about the stability of the solution?

None.

What do I think about the scalability of the solution?

None, but there is a considerable important challenge with record versioning and serialization that needs upfront care decisioning.

How are customer service and technical support?

We just had an issue running Coherence over Solaris containers. Nothing that actually prevented it to run, but the support was standard support quality from Oracle.

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

Not before, but after Coherence, we had the chance to work for years with Hazelcast. It's an open source and a cheaper competitor.

How was the initial setup?

Very easy. The XML config files were clear how to configure.

What's my experience with pricing, setup cost, and licensing?

Price is very high - as for any Oracle product.

Which other solutions did I evaluate?

None. I work as a Oracle partner, so there is no way to consider other options.

What other advice do I have?

Do good decisions on serialization and versioning of objects and don't rely on it as the sole source of data, no matter how much energy output it takes to keep its cluster up and running. Rolling out updates can be challenging if you have to write-behind in place. For example, you need to be able to identify that there is nothing waiting before a full shutdown.

Disclosure: My company has a business relationship with this vendor other than being a customer: Oracle Partners.
it_user736941
Solutions Architect at a manufacturing company with 1,001-5,000 employees
Real User
Provides valuable features, such as event driven architecture and cache schemes

What is most valuable?

  • Event driven architecture
  • Portable object format
  • Live events
  • Active - passive replication
  • Cache schemes
  • Distributed
  • Near scheme
  • Eviction policies

How has it helped my organization?

The improvement on features of Tangosol Coherence during 2006 through 2009 was limited, but the best feature was the standalone. After 2013, integration with Oracle has added many features which have not been used much, or the industry is not ready for the features. It has become very heavy along with the price for Oracle's integrated product as a fusion middleware.

What needs improvement?

The product has a big miss for troubleshooting, auditing, and monitoring for new features like live events, live objects, etc.

For how long have I used the solution?

I have used Oracle Coherence for more than 10 years, from version 3.5 through 12.1.2.1.

What do I think about the stability of the solution?

No.

What do I think about the scalability of the solution?

No, from a product perspective.

Yes, from a license cost perspective.

How are customer service and technical support?

A six out of 10, as it depends on your relationship with the vendor.

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

No.

What's my experience with pricing, setup cost, and licensing?

It is costly compared to competitors in the in-memory caching market.

What other advice do I have?

Look for open source with better support on monitoring, auditing, and cloud support.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user524415
Senior Platform Architect at a tech vendor with 1,001-5,000 employees
Vendor
You can send logic to the place where the data resides, and it distributes data across all of the nodes it is running on.

What is most valuable?

The EntryProcessor allows you to leverage all of the hardware running Coherence, so you can have a truly grid computing architecture. The feature basically allows you to send logic to the place where the data resides. Because Coherence distributes data across all of the nodes it is running on, you can deal with a massive volume of transactions with maximum scalability.

How has it helped my organization?

We are benefiting from performance, thanks to Extreme Performance and innovative architecture.

What needs improvement?

More simplified configuration would be helpful. Currently, all of the settings are put together in XML files. If you have a complex configuration, that config file could be more than a couple of thousand lines. This is an entirely manual job, so it is very error prone. And the settings are really sparse, either on multiple XML files or command line parameters. There should be some sort of GUI tool with which the user can easily drag and drop to configure, streamlining the configuration process.

For how long have I used the solution?

I have used it for eight years.

What was my experience with deployment of the solution?

I have not encountered any deployment, stability or scalability issues.

How is customer service and technical support?

Technical support is 8/10.

How was the initial setup?

Initial setup is very complex; specifically, a lot of XML effort is required.

What about the implementation team?

An in-house team implemented it. You need to have some level of experiences to: 1) understand the product, and then 2) make the best use of it. Everything requires a learning curve, but especially with Coherence, that learning curve is quite stiff.

What was our ROI?

ROI would have been much better if there was no annual recurring support fee of 22%.

Which other solutions did I evaluate?

We also evaluated Hazelcast and Infinispan. Simply, Coherence is better than those two. Coherence absolutely outperforms others in terms of scalability, reliability, and performance.

What other advice do I have?

You need a person with expertise to ramp up quickly. As I’ve mentioned, there is a stiff learning curve, and it can only be avoided with the right person.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user531837
Architect at a tech company with 10,001+ employees
Vendor
The memory grid and multicast support are valuable features. Cross-site or cross-data center replication can be improved.

What is most valuable?

Memory grid Multicast support

How has it helped my organization?

It helped us to cache the data in memory and improved performance by 10x.

What needs improvement?

The cross-site or cross-data center replication seems slow. This can be improved.

For how long have I used the solution?

We have been using this solution for four years.

What do I think about the stability of the solution?

We have a stability issue once a year on the average. Most of the time, the cause is a network issue. When a few servers get out of the cluster, we lose data.

What do I think about the scalability of the solution?

There have not really been any scalability issues.

How is customer service and technical support?

Technical support is OK, but it is not really great.…

What is most valuable?

  • Memory grid
  • Multicast support

How has it helped my organization?

It helped us to cache the data in memory and improved performance by 10x.

What needs improvement?

The cross-site or cross-data center replication seems slow. This can be improved.

For how long have I used the solution?

We have been using this solution for four years.

What do I think about the stability of the solution?

We have a stability issue once a year on the average. Most of the time, the cause is a network issue. When a few servers get out of the cluster, we lose data.

What do I think about the scalability of the solution?

There have not really been any scalability issues.

How is customer service and technical support?

Technical support is OK, but it is not really great.

How was the initial setup?

The installation was pretty easy.

What other advice do I have?

You can go ahead with this product blindly if you are looking for a memory grid kind of solution. The license is there for sure.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
ITCS user
IT Engineer at a tech services company with 51-200 employees
Consultant
Flexible topology and data affinity are the most valuable features.

What is most valuable?

In order, the most valuable features are:

  1. Flexible topology
  2. Data affinity
  3. Configurability
  4. POF (optimized) serialization
  5. Support of C++ & Java

How has it helped my organization?

We are system integrators. We used Coherence in building a transaction processing system for a client. Introducing a data grid, we moved from a vertically scalable solution to full scalability. The data grid helped a lot to reach the goal of scaling the system in a virtualized environment.

What needs improvement?

Monitoring and control of the grid was only via JMX interface. Logging was distributed, thus hard to collect and put in order to be able to investigate the issues, eventually. Today's Coherence version has a new logging system and a web-based UI.

For how long have I used the solution?

I have been using it for 1,5 years.

What do I think about the stability of the solution?

No stability issues: A node can fail, but the topology can be designed to be fault-tolerant.

What do I think about the scalability of the solution?

Scalability is safe. The data is distributed/replicated. Adding/removing a node only has the cost of re-distributing the partitions of the data across the network.

How are customer service and technical support?

N.A.

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

We did not previously use a different solution.

How was the initial setup?

It is very easy to set up a basic topology, but hard to configure and tune to make it really work.

What's my experience with pricing, setup cost, and licensing?

N.A. The client paid a license for the full Oracle stack of products.

Which other solutions did I evaluate?

Before choosing this product, we did not evaluate other options. The client used the full Oracle stack in their architecture.

What other advice do I have?

Before you can master Coherence, you must study how a data grid works. So, start learning about common data grid patterns. The next step is Coherence documentation, which is clear, but huge.

Disclosure: My company has a business relationship with this vendor other than being a customer: We are a premier business partner of IBM.
it_user522207
Senior Program Manager at a comms service provider with 10,001+ employees
Vendor
Data is in memory all the time.

What is most valuable?

We use Coherence to keep aware of critical data. We have millions of customers whose data is in Coherence. Previously, when we stored customer data in the database, it took about seven minutes just to locate one customer profile. About 90% of customer data is static. Since we implemented Coherence, this data is in memory all the time; so the results are found in milliseconds instead of five seconds. Our response time for customers calling us over our portal has reduced drastically. We are now able to provide service to our customers much faster. This is amazing, especially for our customers.

How has it helped my organization?

It has really transformed the speed that we can respond to customers. Now I don't need to worry about increasing my customer base. I used to wonder how I was really going to provide service to over five million customers. Generally, as the number of customers goes up, the biggest challenge is to provide the same kind of response time. Now I don't need to worry about it. I can just keep growing our customer base, but our response time tends to remain the same.

What needs improvement?

Reloading really takes a lot of time.

For how long have I used the solution?

We are already using it for a couple of years.

What do I think about the stability of the solution?

It is a stable product. We don't really have any issues. The only thing that we really need to think about is when we need to reload the whole thing, especially if we need to do some patching or maintenance. That really takes about 24 hours. That's the downside. It’s something that we are now living with. So we really take that hit on that. Generally, that's why we really plan our maintenance.

What do I think about the scalability of the solution?

I think now I really need that more in a hardware way; but I would really not find that as a challenge anymore. We are actually able to do it more comfortably because now, whether I'm scaling up or scaling down, it's very transparent.

How are customer service and technical support?

I can't really live without Oracle technical support. There are times when we have so many challenges and into so much trouble and so many issues. They are very helpful. Without them, I would say we can't even function; so they are really good. We have platinum support, and we are able to get their support. Sometimes there are escalations which we need to go through to get the right SLA engaged. But I think we are really getting critical support.

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

We did not have a different solution before. We were looking for this solution. The response time is the key. It was really touching. When we really started with five million customers, the response time was four seconds. The customer base was increasing, and that became five seconds; and then six seconds. It just kept going up. So we thought we needed to come up with some solution for reducing the response time.

We were looking for a cost-effective solution. Nowadays, any business must keep the operating cost in mind. Why do we want to go for the cloud? Because we are spending so much on the hardware. I really want to make sure my investment in hardware brings a good cost-effective return on the investment.

I keep everything in mind. Of course, I also look for the security and scalability.

How was the initial setup?

The initial setup was neither complex nor really easy. It was somewhere in the middle. I didn't really involve myself in that directly. I am one of the heads of the site. I just fed them the data. It was pretty much implemented by mid-level people; so I don’t really know what the challenges were.

Which other solutions did I evaluate?

I think this is the only solution we considered. Whenever we really look for a product, first we look whether Oracle has something appropriate. I have been using Oracle for a number of years. I think they always have a solution. They started with the database. Now they have the middleware and the hardware. They have the complete application solutions. You name it and they have it.

Coherence had all the features and benefits we needed.

What other advice do I have?

Look into Coherence’s features. Get a demo first and evaluate whether you can really make use of this product.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user522165
Technical Lead at PG&E
Vendor
It enables our customers to pay their bills and view their usage. Initial setup is complex and it's too expensive for small businesses.

What is most valuable?

Oracle Coherence enables our customers to pay their bills and view their usage and all other kinds of information. We use Oracle’s Customer Care & Billing (CC&B) for managing all billing data. Our business customers use it to manage hundreds of accounts.

Mobile devices need to load faster. Coherence lets us retrieve data from the CC&B and the database, build a full user profile, and store this information in the session in Coherence. With this, you do not need the back-end system anymore. After the first login, the site loads faster because it does not need to go to the back end.

We have about 10 servers so that all 10 servers are used for load balancing. If I pay the bill, this information gets passed from one server to the next with Oracle synchronizing the data between servers. I can perform different actions on the same account. That information is handled by different servers, but Oracle synchronizes the data.

The product quality is good. It is stable and easy to use; and increasingly flexible when you scale up.

How has it helped my organization?

Oracle Coherence improved site performance and the customer experience. Customers don’t want to see that the site is too slow or that there are breaks in transactions. They want faster access, especially for mobile devices. For people with network bandwidth and a data plan, it has to be faster.

What needs improvement?

It is alright now. It is a heavyweight. It would be good if it could be made more lightweight, and could be more easily installed in a local environment, and made easier to use later on, in the open source.

What do I think about the stability of the solution?

It's quite stable. Ever since I started using it, for the past year, we only had to restart that product one time.

Coherence was not originally an Oracle product. Oracle bought it and made it more mature. They made it enterprise-wide; and it’s good. They also made it a bit pricier. We were using an EH cache open source, which actually wasn’t performing that well. We had to do a lot of restarting and troubleshooting. But now with Coherence, it's quite stable. Because we are an Oracle vendor, we have a license.

What do I think about the scalability of the solution?

For scalability, it is basically the JVM. If you want to scale up, it is just a matter of adding a JVM. It can scale horizontally, and it can scale vertically. If you want to add 10 servers, just add a JVM. Right now, we have our own 14 instances.

We have a grid for JVM installations, so if we want to use the 10 servers, and other people also want to use them, they are likely to build something. It can be scalable.

How are customer service and technical support?

Oracle technical support has multiple support levels: with platinum and gold plans. We got the platinum support, because we are at Oracle shop rates. They come and always work with us; and they sold us many of the Oracle products. For any small thing, if we are not getting attention, and we need immediate support, we can invite support people to come in onboard; and they will do it for us.

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

We did research on all the open source products, and we initially applied the solution with EH cache. That was pretty good. When we wanted to scale higher, to about six million users, it wasn’t going to work. We don’t care about the expense because Oracle is our partner, and more. If you are a small business that cannot afford million-dollar products, you would go for an EH cache. We can afford a million-dollar product, so we are doing that.

How was the initial setup?

Initial setup is not exactly easy. At first, it is a little complicated. Once you do it, and stabilize the solution, it is good. People who are know these kinds of things can do it.

What's my experience with pricing, setup cost, and licensing?

It is very expensive. It might not work well for small business people.

Which other solutions did I evaluate?

We did research on all the open source products.

What other advice do I have?

To a similar client looking for advice, I’d say that this is a great product, but you need to pay the price for it. If you are willing to pay the price, you will be satisfied with the product quality. It has more than what you need.

At the enterprise level, if you have all your own data center, Oracle, Coherence, and if you are willing to spend that much money, Oracle is great.

But if you are a small business, going with open source, there are a lot of things available. EH cache is the most popular open source thing with its caching mechanism. That worked well for us on a smaller scale. You need to determine whether that’s going to work for you.

There are multiple products out there. The main determining factors are whether you want to have a local or distributed cache; and whether you want to use it in the Cloud or locally. If you are using it in the Cloud, you can explore multiple options. If you’re use Oracle, they are going to advise you. You are going to need to plan out and implement the caching and system customizations.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user531594
Senior Software Engineer at a tech company with 10,001+ employees
Vendor
The distributing caching mechanism keeps the cache current with the database.

What is most valuable?

The most important features to me are its scalability, high availability, and distributed caching mechanism.

How has it helped my organization?

We used the distributed caching mechanism to keep the cache up-to-date with the database. Implementation of the Touch processor helped a lot.

What needs improvement?

They could make the configuration management easier. Failure maintenance could be improved.

For how long have I used the solution?

We have been using Oracle Coherence for one year.

What do I think about the stability of the solution?

We did not encounter any issues with stability.

What do I think about the scalability of the solution?

We did not encounter any issues with scalability.

How are customer service and technical support?

We received very good technical support.

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

Before using Oracle Coherence, we tried using Ehcache. We switched because of replication, grid support, and a few other reasons.

How was the initial setup?

The initial setup was straightforward. The documentation and technical support also helped.

Which other solutions did I evaluate?

Before we decided to use Oracle Coherence, we tried out Ehcache, but found the Oracle Coherence better suited our product implementation requirements.

What other advice do I have?

Oracle Coherence is a very good product which helps to create internet-scale applications using a high-performance grid.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user533112
Sr. Technical Architect at a tech services company with 10,001+ employees
MSP
It is easy to use, scales without too much work, and provides failover recovery.

What is most valuable?

The most valuable features are ease of use, scalability without too much work, and failover recovery.

How has it helped my organization?

We were trying to get better performance of compute tasks previously developed on RDBMS to cache and it has improved the performance by a factor of 4.

What needs improvement?

I'd like to see:

  • More documentation
  • Less/easier configuration
  • More IDE support or create a spring-boot starter

For how long have I used the solution?

I have used this product for around six months.

What do I think about the stability of the solution?

I have not really encountered any stability issues. I was pleased with its fault tolerance.

What do I think about the scalability of the solution?

I have not encountered any scalability issues either.

How are customer service and technical support?

We have not made use of any technical support as of yet.

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

We tried several approaches towards our goal of performance improvement. This was the most likely solution and hence was used.

How was the initial setup?

The tutorials helped, but I use NetBeans, so there was a learning curve, but nothing complicated.

What's my experience with pricing, setup cost, and licensing?

The price is high. I believe there should be a cheaper version for only the caching solution.

Which other solutions did I evaluate?

We have not evaluated other caching products because this an Oracle product and the product/solution was from Oracle too. We tried some streaming alternatives like Spark, etc.

What other advice do I have?

The product is great, simple, and easy to use and integrate. See if your infrastructure supports it; if there are ways to make it work. Do a PoC before deciding.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user532512
Architecture Manager at a leisure / travel company with 1,001-5,000 employees
Vendor
Grid calculations decreased response times in B2B operations. It provides high availability, integrates with WebLogic and offers distributed calculation.

What is most valuable?

High availability, distributed calculation features, and WebLogic integration are the most valuable features to me.

How has it helped my organization?

It decreased response times in B2B operations thanks to the grid calculations.

What needs improvement?

IDEs support and hot deployment have room for improvement.

For how long have I used the solution?

I have used Oracle Coherence for four years.

What do I think about the stability of the solution?

I did not encounter any stability issues.

What do I think about the scalability of the solution?

The scalability issue I encountered was that it costs a lot!

How are customer service and technical support?

The technical support was excellent.

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

I did not use a different solution before Oracle Coherence. My company was using Memcached before I started working there, but I always used Coherence.

How was the initial setup?

Initial setup was complex because we integrated GAR files in EAR files. We were one of the first customers who were building the cluster, along with the business logic, and deploying everything together in a single operation. We got a complete step-by-step to cover our needs from the post-sales engineering team.

What's my experience with pricing, setup cost, and licensing?

The product is the best, but it's absurdly expensive because licensing is according to the number of CPUs. The only advice I can give is to purchase specific hardware with a few CPUs that are as fast as possible, and with a lot of memory.

Which other solutions did I evaluate?

We evaluated Memcached, Redis, and Infinispan.

What other advice do I have?

Learn distributed computing first. It's not worth using only as a key-value cache. If interrupted business operations is an important consideration, think about deploying the grid along with an application in WebLogic instead of building a separate and independent cluster.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user530115
Senior Software Engineer at a tech company with 51-200 employees
Vendor
Entry processors offer atomic updating. It can route an event to a specific node in the cluster.

What is most valuable?

The most valuable features are the entry processors for their atomic update ability; and the ability to route an event to one specific node in the cluster.

How has it helped my organization?

By embedding Coherence and clustering the application, you can eliminate single source of failure problems. 

We use WebLogic as the JMS provider. For technical reasons, we were not successful in clustering it, so we have a single source of failure problem.

What needs improvement?

I would like to see a more modern API like Hazelcast or Infinispan.

For how long have I used the solution?

I have used Oracle Coherence for two years.

What do I think about the stability of the solution?

The product is stable and solid.

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

We did not try a different solution, but we searched for a solid product with a good reputation in a financial organization.

How was the initial setup?

Initial setup is straightforward, but it takes some time to tune the cache parameters.

What about the implementation team?

We implemented it through an in-house team.

What other advice do I have?

First compare the product to the more open source competitors, like Apache Ignite and Hazelcast.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user529299
SOA & Middleware Architect at a tech consulting company with 501-1,000 employees
Consultant
It allows applications to cache objects and application-specific data in an in-memory data grid.

What is most valuable?

Caching: It allows applications to cache objects and application-specific data in an in-memory data grid, which provides substantial gain in performance. In my experience, while working on customers’ solutions where performance is a key requirement, along with robustness and stability needs, I have always found Oracle Coherence as the best solution for integrating with different Oracle products and caching data for application-specific needs.

How has it helped my organization?

I have worked on different projects that sometimes demand high performance (millions of transaction per day) without compromising availability or sequencing of the flows. Therefore, Oracle Coherence offered the possibility to cache and also allow sharing of cached objects through remote availability of the cache. Oracle Coherence is easy to integrate using any industry-based programming solution and standard products (works very effectively with Oracle middleware technologies). With Oracle Coherence, we managed to decouple many of our backend and legacy systems through limiting many incoming transactional requests and therefore improving performance immensely in such systems.

What needs improvement?

In my experience, I did find it challenging to use this product when namespace prefixes on the resulting XML object was a requirement. I learned that the default output from Coherence cache used to strip all of the namespace prefixes and namespace definitions if the input XML object had them. And, if the system that retrieves the result doesn’t receive namespace prefixes, there could be challenges with parsing of the output.

It is important to mention that this was experienced when the Coherence cache was used for remote caching and accessed through an out-of-the-box REST API. As a temporary fix, I had to add annotations to all JAXB-generated classes, along with the namespaces of all the involved elements. I think there should be default support for namespaces and their prefixes, when JAXB classes are used as object factories (generated from schema definition files (XSD)). Over time, with XDD changes, we had to generate new JAXB classes, and had to bump namespaces manually through annotations and bundle the object factory.

For how long have I used the solution?

I have used it for around three years.

What do I think about the stability of the solution?

I encountered stability issues sometimes, but that was mainly due to the wrong cache configuration used in implementation. Wrong configuration causes an impact on how objects are serialized or retained, etc.

What do I think about the scalability of the solution?

I have not encountered any scalability issues. In fact, we had a configuration that allowed the cache to fill up to its limit and then was flushed when entire cache was fully occupied.

How are customer service and technical support?

Oracle support was really good in cases when I had troubles with implementation. Also, when I asked the question regarding namespaces as mentioned, I received very good cooperation.

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

I did not previously use a different solution.

How was the initial setup?

Installation was rather straightforward and usage was simple. But the complex part was mainly using PofSerializer, which did not work that easily for me and we ended up using a standard Java serialiser in the end.

What's my experience with pricing, setup cost, and licensing?

I am not sure about pricing and licensing, but what I remember from my experience, if a customer has a WebLogic license, it should be ok to use the Coherence cache. But I might be wrong.

Which other solutions did I evaluate?

Before choosing this product, I did not evaluate other options. While using the Oracle Fusion Middleware stack, it was always our preferred choice due to its integration capability with available tools.

What other advice do I have?

Caching in an important element in order to gain a stable and high-performing system. Therefore, it is important that this product, which is designed to help, should be implemented in the correct way. There are different architectural patterns that can be referred before using cache, best practises regarding cache and invalidation schemes around objects. It is also important to consider the reliability of the object state during usage and also to make sure that its usage is compliant with Oracle’s best practises regarding cache.

Disclosure: My company has a business relationship with this vendor other than being a customer: My company is an Oracle implementation partner (gold).
it_user508668
Technical Architect at a financial services firm with 1,001-5,000 employees
Real User
Clustering allows us to scale by creating more and more nodes. They do fail a lot, especially because of timeouts caused by node synchronization.

What is most valuable?

One of the features that is greatly used by us is clustering, as it allows us to scale easier by creating more and more nodes.

How has it helped my organization?

Coherence has helped us to drastically reduce the request time of our web applications.

What needs improvement?

Documentation and community support is the first area with room for improvement. Then, an easier configuration mechanism wouldn’t hurt. And also debugging and error management.

For how long have I used the solution?

I have used it for two years.

What do I think about the stability of the solution?

We have encountered stability issues. We have nodes failing all the time, especially because of timeouts caused by node synchronization, but occasionally there are also memory-related errors.

What do I think about the scalability of the solution?

We have encountered scalability issues. Currently, we have multiple clusters of six nodes each. At one point, we tried to scale to 12 nodes. We started to have a lot of nodes crashing, most probably because of all the node chatter.

How are customer service and technical support?

I would say technical support is a 4/10.

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

I did not previously use a different solution, but if we would do the application from ground zero, we would, most probably, choose Hazelcast.

How was the initial setup?

Initial setup is somehow complex, as you have to configure the hosts that will hold the Coherence nodes, every cache that you set up and all of the domain classes to be used for serialization.

What's my experience with pricing, setup cost, and licensing?

Look into the direction of open-source solutions.

Which other solutions did I evaluate?

Before choosing this product, I did not evaluate other options, because our company has a “Use Oracle Products” policy.

What other advice do I have?

Look attentively at other NoSQL solutions, and if they really need a caching solution, then look at Hazelcast.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user516927
HPC Team Lead and HPC Senior Consultant in BBVA (Madrid, Spain) at a tech company with 51-200 employees
Vendor
With push replication, we can share data between different projects without attaching the original data.

What is most valuable?

We use 75% of the functionality of the product, including Coherence Incubator (not embedded for our version yet). The most interesting features for us are push replication and write through because these give us a lot of flexibility with data.

From the point of view of push replication, we are able to share data between different projects without attaching original data, so, if any client modified this data by error, it wouldn't affect the rest of the projects.

Regarding the feature of write through, we need to persist to DB a lot of data that changes three times per second. However, this is difficult to support by a database. (We have statistics in Coherence of 120 million puts in the cache.) What we do in this case is write to Coherence and then persist to database in batch mode, so the database receives fewer charges than if the streaming is connected directly.

How has it helped my organization?

We are storing information from one of our applications. This allows us to answer requests in milliseconds, while the application would take seconds to answer request from clients.

What needs improvement?

First of all, extend clusters between different sites. We have done this configuration but is not recommended by Oracle. This configuration is strategic for us.

Oracle doesn't recommend having an extended cluster between two CPD with different locations (in our case, 20 kms apart). The recommended way to implement this is replicating information between the different CPDs. In our case, we have an extended cluster between these two CPDs and we found some issues with, for example, push replication. With an extended cluster between two CPDs, Coherence opens two replication channels, one per site; however, only one site replicates its data. I think this issue is resolved in 12.1.1. with federated caches, but we haven't check this behaviour yet.

For how long have I used the solution?

I have used it for for years, since 2012.

What do I think about the stability of the solution?

In four years, we haven´t found any issues with stability. We have had some problems but they derived from how clients use this product.

What do I think about the scalability of the solution?

As mentioned, we have extended clusters between different sites, even though Oracle does not recommend this configuration.

How are customer service and technical support?

Depending on the consultant, we were very happy or very unhappy, so I would rate technical support 5/10.

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

I did not previously use a different solution.

How was the initial setup?

Initial setup was complex, until we contracted an expert who helped us to configure everything. After that, life was easier. ;)

What's my experience with pricing, setup cost, and licensing?

Due to the licensing prices, we are looking for other solutions as an alternative to Coherence. It is very expensive and projects are not willing to pay this amount of money for caching data, so they requested that we find a cheaper alternative.

Which other solutions did I evaluate?

People here were using Ehcache or other solutions, but we decided to use Coherence as our corporate solution.

What other advice do I have?

It is a very powerful tool but is very expensive, so if you don´t have enough money, just choose another solution.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user514590
Solution Architect VP at a financial services firm with 1,001-5,000 employees
Real User
Pro-active caching improved risk calculation time and allowed the risk grid to scale with volume growth.

What is most valuable?

Oracle Coherence has very strong capabilities related to data affinity and in-place data processing. Generally, an in-memory data grid is key/value storage with all its limitations, exploiting data affinity, and in-place data processing is a key for building complex solutions (e.g., point-in-time aggregation) without compromising performance.

Performance (in a complex, real-live solution) is another strong advantage of product.

How has it helped my organization?

There were two key challenges which were addressed with a Coherence-based solution. One challenge is input data caching for the risk computation grid – pro-active caching based on Coherence has improved risk calculation time (by reducing data wait time) and allowed the risk grid to scale with yearly growing volumes. Another challenge is intraday risk – point-in-time aggregation based on Coherence reduced delay between data changes and risk updates.

What needs improvement?

Oracle Coherence is mature and feature-rich product. However, there are a few old pain points. One pain point is cluster configuration. On complex projects, it is a challenge to consistently maintain custom Coherence XML and the rest of application configuration (often based on a Spring framework).

Another pain point is testing. Due to internal implementation, it is impossible to start multiple Coherence nodes in a single JVM without special tricks. Multi-node test setup is important if the application is exploiting advanced features of the product. This is somehow addressed by the community (there are three open-source frameworks for testing Coherence), but the problem could have been solved by Oracle once and for all.

For how long have I used the solution?

I used it for five years.

Oracle Coherence was used in a few solutions related to intraday and end-of-day financial risk calculation (investment banking).

What was my experience with deployment of the solution?

Oracle Coherence has considerable operational risks. Mistakes in implementation, underestimated volume and load can quickly lead to an instable cluster and drastic degradation of service. Diagnosing and remediating the root cause of cluster degradation is a challenge and requires a lot of product expertise. Nonetheless, well-designed and -sized solutions would normally just work.

How are customer service and technical support?

Support is very good if major diagnostic work is done by the application team. Bugs and issues are addressed fairly quickly. However, you cannot rely on vendor support for a localized problem in most cases.

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

I was working and continue to work with alternative in-memory data grid solutions (GemFire in the past, Hazelcast currently). Oracle Coherence has a strong advantage for sophisticated and performance-critical solutions.

How was the initial setup?

It is very easy to get started with Oracle Coherence and run your first local cluster. However, the real learning curve is steep, especially configuring and planning your real cluster. Documentation is extensive but doesn't give you a good learning path.

What about the implementation team?

We have an in-house implementation team. My strong advice is to build internal expertise for Oracle Coherence, in particular due to operational risk. Even after a successful launch of the solution, you might hit problems later (e.g., volume growth, switch to different hardware, Coherence version upgrade) and you'd better have in-house expertise to address them.

What's my experience with pricing, setup cost, and licensing?

Oracle Coherence is fairly expensive. There are a number of open-source alternatives offering better value for money, provided you need only the basic features of an in-memory data grid. For high-end solutions, involving advanced features, Coherence outstands competitors, fully justifying its price tag.

What other advice do I have?

Oracle Coherence is very good for a fairly narrow problem area. Building the solution requires investment. The ownership cost might also be considerable. I would recommend making the decision to use Oracle Coherence only with strong technical argumentation and a fair comparison with other alternatives.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
ITCS user
Senior Technical Architect at Altimetrik
Vendor
Extend's proxy instance concept allows flexibility, even with the Enterprise Edition.

What is most valuable?

  • Coherence Extend with its concept of a proxy instance, thus allowing flexibility even with the Enterprise Edition
  • Read- and write-through capability
  • A good community maintaining the Coherence Incubator project: Though this isn’t directly from the vendor, the fact that such wonderful documentation exists makes it easier for the users of the product.
  • Ease of clustering and the data fabric operation + querying
  • Multi-cast free operation

How has it helped my organization?

I am unable to name specific projects and companies for confidentiality reasons. I have, however, listed the high-level aspects of how Coherence benefited us.

For company X, a major telecom provider in the continental United States, we had the GRID edition here. A single logical cache scattered across various geographies ensured we had only one cache to look against (location transparency) at the same time, ensuring high availability. With Coherence taking care of CAP (Consistency, Availability and Partition Tolerance) we had little to worry about in those aspects. The ability to add any number of server instances and the ability to query with a simple API reaped benefits in our application scaling and the developers happy with the ease of coding.

What needs improvement?

In short, features across editions but this is a moot point if it directly relates to room for improvement and is a subjective topic. Better support for active-active data center capability in Enterprise Edition. We could achieve this through a fully replicated cache or having our distributed caches in a single cluster placed across two different centers. The former doesn’t scale for high-write scenarios and is available only in the GRID edition while we used Enterprise edition in our project. The latter will result in direct coupling between two data centers which defeats the purpose of active-active data center availability.

We had to write a custom solution based on listening to events transported between data centers on Kafka infrastructure, but had to go through a lot of trouble to suppress events originating from the same data center to make sure we don’t go into an infinite loop in achieving replication. Easier API support for this purpose would have helped.
Greater tooling support for moving across editions and implementing Coherence Extend would also help.

For how long have I used the solution?

I have used it for more than two years.

What do I think about the stability of the solution?

I have not encountered any stability issues.

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 8/10.

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

I did not previously use a different solution.

How was the initial setup?

Initial setup was complex. We wrote a lot of wrapper code around the Coherence libraries in order to make it easier for the developer.

What's my experience with pricing, setup cost, and licensing?

Be aware of the pitfalls of using Enterprise Edition in a vast enterprise ecosystem. Specifically, keep in mind the long-term needs of the evolution of your organization’s enterprise infrastructure and susceptibility to change of technology. For example, only GRID edition supports replicated caches, local transactions and different types of clients across tech stacks.

Which other solutions did I evaluate?

Before choosing this product, we looked at Terracotta and other custom caching solutions.

What other advice do I have?

Make sure you understand which edition gives which capability, and how that maps to your current needs and your long-term infrastructure evolution. Build wrapper libraries abstracting your actual caching implementation to make it easier for moving across editions and even vendors in the future.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user514308
VP Data Grid Engineering Lead at a financial services firm with 1,001-5,000 employees
Vendor
Querying, aggregations, cluster replication and language interoperability are popular features.

What is most valuable?

From a non-functional side:

  • - Horizontal scalability
  • - High performance
  • - Resilience

From a functional side, we use all aspects of the product in multiple applications. Popular features are querying, aggregations, cluster replication and language interoperability.

How has it helped my organization?

We use Coherence in a range of applications, from business-critical applications dealing with a vast amount of fast-moving data, to smaller applications looking to share data efficiently internally and with external apps and businesses.

One example would be as a portion of a risk-calculation engine that calculates complex values like PV, VaR and Greeks. Other technologies don’t allow the same level of scale and compute capability, while providing rigorous resilience and security underpinnings.

What needs improvement?

  • Integration with non-Oracle products
  • Becoming open source and creating an ecosystem allowing users to contribute features in a controlled manner

For how long have I used the solution?

I have used it from version 3.3 onwards, a period of about eight years.

What do I think about the stability of the solution?

We have encountered the occasional minor bug and very occasional more serious bug.

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 very good.

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

I did not previously use a different solution.

How was the initial setup?

We use Coherence for a number of applications, each with different requirements. It’s hard to provide a simple answer regarding initial setup but, in general, we find that Coherence is relatively simple to set up and use. However, it quickly becomes very complex as more features are used.

Which other solutions did I evaluate?

The product was in use when I joined.

What other advice do I have?

Coherence is the most mature product in this space, with the backing of a large support organization.

For a long period, they led the field and are arguably still leading it, but there are other smaller, newer technologies that are catching up fast.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user510570
Technical Lead at a tech services company with 51-200 employees
Consultant
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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user509847
Program Director and Architect at a tech services company with 501-1,000 employees
Consultant
It delivered a standalone caching solution that prioritized speed of data serialization and integrity. Integrating it into an overall solution was not easy.

What is most valuable?

The features that were of most value to us:

  • Uptime
  • Scalability
  • Speed
  • The ability to read-through and write-through to a backing datastore (something that other caches usually require a separate solution for)

How has it helped my organization?

An example of how the product improved organizational function was in the speed of request processing. The client had needs to support very high throughput, particularly at certain “peak” times of the year, both in terms of bandwidth for data streaming, as well as retail transactions. A robust standalone caching solution that prioritized speed of data serialization and data integrity was a must. Coherence delivered on that front.

What needs improvement?

Coherence’s issues (besides high monetary cost compared to other caching solutions) were mostly around the high learning curve required to use it properly, as well as the technical challenge of maintaining a separate artifact of mapped, POF-serializable data types for the cache to have available in its classpath.

In other words, integrating it into an overall solution was not easy from an integration and a code complexity standpoint. This caused developers to either put off integrating it for as long as possible, or otherwise struggle with it more than with something like memcached or ehcache.

For how long have I used the solution?

I have personally used the solution for approximately one year (it was in use much longer at the organization).

What do I think about the stability of the solution?

For the most part, we have not encountered stability issues.

What do I think about the scalability of the solution?

Scalability was not an issue.

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

In this case, Coherence was the incumbent technology.

How was the initial setup?

While Coherence was already deployed on premises, integrating it into a new application was cumbersome.

What's my experience with pricing, setup cost, and licensing?

My understanding is that Coherence is not cheap, based on Oracle’s Technology Global Price List. However, as a contractor, I did not participate in decision-making related to cost.

Which other solutions did I evaluate?

I have evaluated/used other products since, and have concluded that Coherence offers slightly superior performance and integrated read/write-through at the cost of technical complexity. Complexity being a huge contributor to risk/cost for projects, I am more likely to use other products as a result.

What other advice do I have?

My advice to those looking to implement Coherence is to hire someone who has used it extensively in the past, and to create sufficient documentation internally to bring developers up to speed with how to integrate it into their applications. The learning curve to get comfortable with the configuration/deployment/mapping was the single biggest pain point for our project, and greater than I would expect of a third-party integration like this.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user506469
Enterprise Data Architect at a computer software company with 1,001-5,000 employees
Vendor
You can add and remove resources on demand without taking your production system down. It lacks decent visual management and monitoring tools.

What is most valuable?

Coherence allows linear on-line scalability across multiple commodity servers. It’s a very important feature for SaaS providers, as it allows adding and removing resources on demand and without taking your production system down. High availability is a key for financial business continuity, and by distributing clusters across multiple Amazon Availability Zones – while still maintaining very good latency - Coherence is able to sustain hardware or even AZ failure without any interruption on the application side, given that cluster architecture is designed correctly.

How has it helped my organization?

We implement ticketing analytics using Coherence.

What needs improvement?

Coherence lacks decent visual management and monitoring tools. The free solution offered (JConsol) is not very superb in quality, and is not designed for use in a web-based, SaaS environment.

Also, some information on the website is outdated and does not reflect the latest functionality or syntax.

We would like to have comprehensive, native, reliable, out-of-box replication between clusters; we have a DR center on the west coast and we would like to replicate data there, ideally in three clicks, without changing a lot of settings or extensive setup and development.

For how long have I used the solution?

I used the solution for six months.

What do I think about the stability of the solution?

I have not encountered any stability issues.

What do I think about the scalability of the solution?

We have not encountered any scalability issues on the cluster side, but we have seen problems with big messages on the .NET client.

How are customer service and technical support?

Technical support is 3 or even 2 out of 10. Working directly through an account rep or a contact on Coherence dev team helps a lot.

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?

Before choosing this product, we evaluated GridGain and Hazelcast.

What other advice do I have?

Get a cheaper price and consider your code stack – it fits best with Java-based companies.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user487638
CTO at a tech company with 501-1,000 employees
Vendor
The biggest improvement is in speed - including faster record retrieval and workflow processing.

Valuable Features

While you can have a successful career with Coherence just being a get/set man, its true power is realized when you leverage the full scale of the cluster as a whole and exploit its distributed processing capabilities.

For the use cases I’ve implemented, the features I used most frequently and have gone head-to-head with incumbents are as follows:

  • InvocationService - I have to admit that I took this for granted up until I went against IBM’s eXtreme Scale. Most organizations want to preload/warm the cache and the InvocationService allows you to issue commands to each member in a distributed manner. Parallelizing this activity gains economies of scale since the load time and rebalancing can be kept to a minimum. Said another way, a million rows can be loaded in the time it takes to load 100,000 if you have 10 storage enabled members. Each member is issued a command which details what rows it is responsible for loading. Coherence provides a number of the libraries required to handle this including ‘retry’ functionality hooks and abstracts all the threading/concurrency logic which would be a nightmare to sort out; as IBM learned on this project. This is in direct contrast to extremeScale’s capability - which relied on leveraging Java’s Executor classes. Basically, they had to roll their own distributed processing engine while on-site.
  • Filter, Aggregators and EntryProcessors - Before MapReduce & Hadoop came on the scene in such force Coherence had equivalent functionality that was much easier to use. Filters provide the ability to use conditional boolean logic against your data Out-Of-the-Box. Many fail to realize how powerful this is. In the bake off extremeScale had nothing close to this and therefore had to code it. The requirement was to port a StoredProcedure’s logic, which took 30+ secs to run, into something the grid can run. The implementation was based on an EntryProcessor that leveraged Filters and Aggregators. While I would love to say it was strategic coding ability, it wasn’t - I merely used OOB tools. The end result was that the EntryProcessor, running a complex workflow, was a magnitude faster than IBM’s get() call.
  • POF - Portable Object Format is the binary optimized proprietary Coherence serialization. It provides staggering Object compaction. For example, an Item object that was 750 bytes with Java serialization is 31 bytes with POF. This has a rippling impact across the entire app, the cluster, even your network since it needs to handle the chatty cluster members.

Improvements to My Organization

The biggest improvement is in speed - everything is faster from record retrieval to workflow processing.

Room for Improvement

Tooling around complex cluster config files so issues can be identified before the cluster is stood up - and subsequently collapses. Cluster management tools that are independent of WebLogic. Dynamic cluster config rollout and rollback. Ideally this would be used in dev as a prod cluster should be locked down. I’d also like to have some sort of GUI (out of the box) that illustrated cluster member vitals; storage, heap, offHeap, watermarks, evictions, etc.

Monitoring and configuration could be easier while support for streaming data windows and the like isn’t available yet. Moreover, native cron(scheduling) capabilities and an Async API would be a nice to have but those challenges can be overcome with 3rd party libraries. Lastly, native security features would alleviate some concerns and workarounds however, I fully understand impact on performance...

Use of Solution

I’ve used Coherence since 2008. I transitioned into consulting where I led a number of projects across several organizations to define, install, and integration clusters for maximum impact on critical business systems.

Customer Service and Technical Support

I have only needed an assist from Oracle once and the issue turned out to be a config problem. The organization had a healthy support agreement and Oracle was able to turned it around quick. Perhaps one of the reasons I haven’t engaged them more is because I jumped into the community early on. I attended every Coherence SIG [Special Interest Group] meeting that I could and became friendly with a few of the developers.

Initial Setup

Coherence is very easy to get running locally. Standing up, or defining a cluster for that matter is another task entirely. Each cluster has many ‘knobs’ to dial in. While this offers great flexibility, one should exercise caution when getting into areas of the config that are not understood.

The objective of the project and the performance need to be kept in sight. Here are some questions to help drive the configurations files: Is your project read or write heavy? This will dictate if you should have more smaller nodes vs less larger ones. Should they be storage enabled or not? How much data does the app generally use, would a near cache be beneficial? How often is your reference data used, how much is there determines if it should replicated or not. How many members should there be? Do I need to use a prime number somewhere? Why? Do I need eviction policies, what should they be based on? How do I tell if my cluster is too chatty? How will other apps leverage the cluster? Should I use WKA? Will that prevent new members from joining?

It goes on and on and we didn’t touch DR or monitoring.

Implementation Team

I’ve done both and in most cases the projects didn’t have proper momentum until a SME was introduced and the questions above could be addressed. Most folks apply relational thinking towards a cluster and that generally doesn't end well. While you can use rich objects, I’d look for a different model - something flat. Or you need to strictly define your cache strategy to keep hierarchies together (hard to do).

Other Solutions Considered

A side by side POC was done with IBMs eXtreme Scale on a project. I also have experience with Gemfire - and wish I didn’t.

Other Advice

Take the time to learn it and test all assumptions. For example, I was using push replication [PR] to satisfy a client's disaster recovery [DR] requirement. All of a sudden the primary cluster collapsed - ran out of memory despite having high watermarks configured. As it turned out the DR site connection went down and PR calls started to queue. The high watermark calculation did not know about the PR queue. This was very subtle use case as I didn’t consider what would happen to the PR calls if the other end wasn't available.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user488157
Technology Consultant at a comms service provider with 10,001+ employees
Vendor
Customer Facing Application response time has improved. The error and exception handling is not that great as it can be difficult to debug issues.

Valuable Features

As well as using HotCache to synchronise a Coherence cache with database tables in real-time, it can also be used to warm the cache by loading an initial dataset. The nice thing about this approach is that cache warming is just an extension to the setup for cache synchronisation.

Improvements to My Organization

The Customer Facing Application response time has been improved 95%. Also, in the releases the Portal does not goes down as the data is being pulled from the Cache not from the Database.

Room for Improvement

Monitoring API needs to be improved and needs to be user friendly. Also, the error and exception handling is not that great as it can be difficult to debug issues.

Use of Solution

We have been using this solution for five years.

Deployment Issues

The GAR file naming convention.

Stability Issues

There have been issues in the cache configuration file in older versions, and a nodes eviction and timeout error.

Scalability Issues

To add additional capacity, the cluster has to be fully recycled and that cause the down time of the environment.

Customer Service and Technical Support

Oracle Customer Support works when we escalate the issue, otherwise first level support is not that good.

Initial Setup

The latest version is straightforward, as there is lots of configuration done through the WebLogic console.

Implementation Team

We implemented it ourselves. Before implementation, review the requirements thoroughly because if the cache sizing is not correctly defined it creates a major bottleneck. The size of the JVM depends on the size of cache.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user488163
Consultant at a financial services firm with 1,001-5,000 employees
Vendor
By allowing for data distribution and replication through clustering, it improves the reliability of information systems.

What is most valuable?

  • Query response time
  • Clustering, data distribution, data affinity

How has it helped my organization?

Coherence has improved response times for queries of sizeable data sets. Also by allowing for data distribution and replication through clustering, it improves the reliability of information systems.

What needs improvement?

  • An API allowing for ‘joins’ between different caches, similar to DB joins.
  • A more streamlined configuration. There is a multitude of proxy, node, extended client, etc. scripts and config files that need to be maintained. What about making this less of a hassle in future by bringing more consistency into the configuration process?

For how long have I used the solution?

I've been using it for three years

What do I think about the stability of the solution?

We had one instance when we experienced intermittent network failure. This issue was not reproducible for obvious reasons. Coherence failed to live up to its SLA by not being able to recover but getting into a state where new nodes were created when the old ones were still there but for some reason no longer recognized as being part of the cluster. The Oracle support was not something to write home about, i.e. there was a constant request for more info (logs, timelines, etc. – which were provided) and never a feeling that the problem was understood or at least that there was any serious attempt at investigating or reproducing on Oracle’s side.

How are customer service and technical support?

Medium to Good. Sometimes prompt competent responses, at other times support was lacking.

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

It was a company decision as this is a commercial product with guarantee of support.

How was the initial setup?

It was complex. There are a multitude of configuration files and shell scripts, most of which could be copy and pasted. No uniformity of approach or tool to allow for proper management of configuration.

What was our ROI?

ROI is reasonably good, since no cheaper alternative satisfying company requirements was identified.

What's my experience with pricing, setup cost, and licensing?

The product is considered expensive, hence the company will be on the lookout for a replacement if feasible. I'm not involved in licensing discussion.

What other advice do I have?

My advice would be for Oracle to prepare a database with already existing configurations from clients. This would help future clients to have templates for various solutions already instead of reinventing the wheel. Generally Oracle fails at this chapter as opposed to open source solutions. It is very painful to start from scratch with little or no concrete solutions posted online (full solutions with commercial value).

Disclosure: I am a real user, and this review is based on my own experience and opinions.
ITCS user
Consultant at a tech consulting company with 51-200 employees
Consultant
Oracle needs to continue to develop and add to Coherence, avoiding the all to common bloat in enterprise software
On the 12th July, Oracle announced the 12c release of the full Cloud Application Foundation (CAF) stack. Since Oracle are trying to bring all their products in line with each other, Oracle Coherence has leaped up in version number from 3.7.1 to 12.1.2 despite 12c being only one major release after 3.7.1. Major is certainly the operative word here. Oracle has put a lot of effort into upping the amount of added value of running Coherence with Weblogic. Here’s a summary of the changes to Coherence in 12c Managed Coherence Servers The first change I want to highlight is a biggie - gone are the days of ActiveCache and Coherence*Web and Coherence Managed Servers and GAR (Grid Archive) files are here to stay! If you have a big investment into ActiveCache already, then have no…

On the 12th July, Oracle announced the 12c release of the full Cloud Application Foundation (CAF) stack.

Since Oracle are trying to bring all their products in line with each other, Oracle Coherence has leaped up in version number from 3.7.1 to 12.1.2 despite 12c being only one major release after 3.7.1.

Major is certainly the operative word here. Oracle has put a lot of effort into upping the amount of added value of running Coherence with Weblogic. Here’s a summary of the changes to Coherence in 12c

Managed Coherence Servers

The first change I want to highlight is a biggie - gone are the days of ActiveCache and Coherence*Web and Coherence Managed Servers and GAR (Grid Archive) files are here to stay! If you have a big investment into ActiveCache already, then have no fear, it isn’t retired just yet but is being phased out to give you a chance to refactor those existing Coherence*Web applications.

The idea is to enhance the use of Coherence with Weblogic by optimizing packaging and deployment and provide application isolation and “lifecycle events” (see below!) thanks to the ability to deploy Grid Archives to a Managed Coherence Server. The advantage is that Oracle say that Grid Archives can be used by standalone Coherence customers too!

So the next question is…what is a “Grid Archive”?

Grid Archive (GAR)

A GAR file is simply a directory structure for Coherence configuration files which can be packaged and referenced as a module by other applications.
  • GARs must contain at least two folders: lib and META-INF in the root directory.
  • The META-INF directory must contain a coherence-application.xml file
  • GARs need to be packaged in an EAR to be referenced by other modules.

    GoldenGate HotCache

    A major aspect of any cache is consistency of data. Coherence has always been very good at keeping in sync with backend data sources. HotCache fits particularly well with Coherence in that it monitors the database for changes and then pushes them into the cache. The really clever thing about this though, is that extra overhead is avoided by making sure that only stale changes get pushed, lowering latency.

    Live Events

    We’ve seen the usefulness of cache event processing in Coherence before (Steve even presented on it at JavaOne). The implementation in 12c has changed a little but the theory remains the same, as do the sort of events available to process. Register an event interceptor with the cache and you can process events relating to the cache data, the cache itself (monitor the movement of partitions around, for instance), or “lifecycle events” – a notification that a ConfigurableCacheFactory instance has either activated or been disposed.

    REST Enhancements

    The Coherence REST API has been updated in more than one area:
    • Run multiple REST applications
      • Configure multiple context paths in the cache config and your application server can run multiple REST applications. As simple as that!
    • REST security
      • Very necessary, Coherence REST security uses both authentication and authorization. Authentication support includes: HTTP basic, client-side SSL certificate, and client-side SSL certificate together with HTTP basic. Authorization is implemented using Oracle Coherence*Extend-style authorization.
    • Support for named queries
      • Named queries are CohQL expressions which are configured for resources in the coherence-rest-config.xml file. In a nutshell, an expression is defined in the XML file and given a name. Using a GET request on the query name will return the results of that query!
    While all this is nice to have, and some of it very necessary (I’m looking at you, REST api and HotCache), one of the most appealing things about Coherence for me has always been its conciseness when compared to competitors. The lightweight distribution of Coherence never held it back either – indeed, it has performed very well in the market for data grids (and distributed caches, for that matter) thanks to some great design.

    If Oracle can maintain that philosophy as it continues to develop and add to Coherence, avoiding the bloat that people often assume comes with all enterprise software, Coherence certainly seems like it will continue to be a formidable player and a crucial component of Oracle’s wider cloud strategy.

    Disclaimer: The company I work for is partner with several vendors including Oracle
    Disclosure: I am a real user, and this review is based on my own experience and opinions.
    Buyer's Guide
    Download our free Database Development and Management Report and find out what your peers are saying about Oracle, VMware, Software AG, and more!