Exadata has been very great for us in terms of database consolidation. We have been using Exadata because we have been upgrading our technology every single year. In the past, we were using a Sun server and managing that as an active-passive cluster.
There have been initiatives to convert the databases to Oracle RAC; so when Exadata came out, they didn't really have to do much of anything. The grid infrastructure and everything came built in with all the best practices.
One of the advantages we found was that we didn't really need to be the first ones to be hit by a bug. If any of our customers comes across a bug, we already had a patch ready for it.
We have the platinum service for the database. That comes in handy in terms of high availability.
With all of this, the storage and the compute nodes were built together so they have more knowledge of Oracle-related queries: whether it is a redo or an IO; or it's coming from an undo space or from a DML. All these kinds of things come in really handy for us in terms of making our database perform really well.
These are some of the advantages I think we got out of Exadata.
Improvements to My Organization:
The high availability of the database improved a lot. Our customers who are using it seem to be very happy with the response times. We also have a hot standby in case you need to migrate or do an upgrade. Overall, the company itself was very happy after migrating to Exadata.
Room for Improvement:
The mix and match of hardware is always a problem. If you start with a product here and you want to migrate it two years later, you don't get the same version of the hardware. It's always different when you mix and match hardware. For example, if one compute node is X3-2, another two compute nodes are X5-2, and the storage node is different, I think it's going to get complicated. I don't know how to resolve it.
It would be nice if there was a way that you could swap everything over to upgrade all the hardware to one piece where it matches everything, and have an automatic hardware upgrade available. This way, you could keep everything on the same hardware solution. I don't know if that is possible.
Their support needs improvement. Also, the model in which they operate with a complex architecture in terms of upgrading the hardware pieces and expansion of RACs. Even the storage is licensed, which is a bigger question mark.
Any mission can go wrong. Exadata is no exception to this. Of course, we had software bugs; it's Oracle. You can expect a lot of back and forth with the new versions of it. We had lots of stability issues in the beginning. One of the major issues was the Write Back Flash Cache. By default, the storage nodes come with write-through. That's not very good for your OLE DB because it's not going to hit your flash. It's going to directly hit your hard disk. That's not going to give you good performance. The implementation team did not do a good job knowing that it's an OLE DB. They did not enable the Write Back Flash Cache.
The first few databases that we migrated went really well; but when we migrated more databases, it started failing. We had a big problem. We had to enable the Write Back Flash Cache to restabilize it.
Of course, the storage nodes have multiple bugs in them. Constantly upgrading it is a pain because while we do have high availability, not all the patches are done in a rolling fashion. Some of them force you to do non-rolling patches, specifically the OJVM patches.
Those are some of the pain points that I can see with Exadata.
So far, we don't have a big problem with scaling because we are happy with two node clusters. When we really need to expand, then we will need to cross that bridge when we come to it.
It's always a pain working with the Oracle support team. I say this because not all tickets get resolved immediately. It can take many days. Sometimes it takes a week. This can also include the weekend. During the weekend, the support team is thin. I need to follow up many times and call their managers. We have to scream at them to get back to us.
It's always a little bit difficult dealing with Oracle support compared to other vendors. They are a bigger organization. It does become a little complicated with such a big organization. With other vendors, you can call and resolve things properly and easily. I think there are a lot of process-oriented delays when it comes to Oracle. That’s built in as part of dealing with a bigger organization.
Because the ticket is not handled by a single engineer, sometimes the other engineer needs to digest it first. For example, a person in the US could start to help us, and then hand it over to someone in the UK. When that persons gets on board, he takes some time to digest the previous engineer’s explanation, recommendations, and diagnosis of the problem. If it continues to be handed over, and if it goes on for days, each engineer needs to go through the entire history of the ticket. That is a pain.
In such cases, it is always better to stick with a particular engineer and to a certain time zone. This means that the solution will be delayed. It depends on how soon you want to get it resolved. You might want your account manager to put pressure on the support team.
I am hoping for smoother operations and coordination in the future.
The initial setup depends on the technical team. The ACS team at Oracle can help, but it depends on which engineer you get on board. If the engineer is new on the team, doesn’t completely understand it, and is simply following instructions according to a script, there is every possibility that it could go wrong, if we don’t have a core team at our end verifying each step.
It is very important that you be prepared, and that you know every single change that goes into it end-to-end, including the monitoring and enabling the ASR service if you are going to use the platinum service.
Other Solutions Considered:
A combination of pure flash storage and T4-4 servers are also extremely good in terms of latency times. It matches your TPS (transactions per second). Oracle had a little bit of an edge in terms of the best practices. Also, it's easier to debug and give us a solution because they can replicate the same issue in their environment. These are some of the slight advantages that Oracle Exadata has in terms of providing a solution more efficiently and quickly.
We always believed that Oracle is a leader in improving technology. We always believe in their solutions. Oracle Exadata is a great product without a doubt. Our gut now says why not go like we wanted and migrate to Oracle RAC. We didn’t want to spend time to put everything together, the network, the storage, and so on. Why reinvent the wheel when every best practice is already there? The "gotcha" is that if you increase the number of cores, you must be prepared to pay for the license.
Those are things that we weren't initially aware of, but then it all came handy to us when we need to go with engineered systems. That's why our upgrade part on our infrastructure upgrade and Oracle engineered system are on the same plane, so we just used it.
Exadata is not for everybody. Initially, it was designed for data warehousing. It's not for OLTP data. They improved it to OLTP, and then you could consolidate and mix and match. For all the patches, be aware whether you really want to go with it and expand it. Use all due diligence in checking whether this engineered system is the right solution for you . You need to work with it and test it yourself to make sure that it is for you. There might be a better product for you other than Exadata.
If you do want to go with Exadata, you should consult with someone outside of Oracle to help you and verify whether this is a good solution for you. Do not decide based on marketing material or gimmicks.
Disclosure: I am a real user, and this review is based on my own experience and opinions.