To RAC or not to RAC (reprise)
In my post To RAC or not to RAC, That is the Question, I raise the issue of whether Oracle RAC is a cost effective product for many customers. We have now done quite a bit of work in this area, and I am proud to announce that a solution featuring VMware HA cluster as an alternative to Oracle RAC will be shipping in our program this November. I presented on this solution at VMWorld last week, and will also be presenting in VMware's booth in OOW this week on the same subject.
To give you an idea of the magnitude of the solution we are presenting, I will show you some highlights here in this post. First, this is the overall architecture of the solution from a hardware standpoint:
Physically booted hardware
This shows the Oracle RAC physically booted configuration. We compared this solution to a virtualized solution using VMware HA cluster on the same hardware. Here is the same configuration running the VMware solution:
Virtualized hardware
The high level network diagrams for these two solutions are as follows:
Physically Booted Oracle RAC Network Diagram
Virtualized Oracle Database Network Diagram
As you can see, in all respects the hardware configuration of these two solutions was identical; only the software was changed. The storage and networking configurations were identical as well.
First comparing the cost of the two solutions, see the following charts:
Oracle RAC Solution Component Costs
VMware Solution Component Costs
Overall Price Comparison Between the Two Solutions
So, obviously the price for the VMware solution is far less than the RAC solution. No surpirse there, since Oracle Database 11g Standard Edition was used instead of Oracle RAC 11g Enterprise Edition, a huge savings in terms of license costs.
The surprise came in the area of performance. We ran a TPC-C style performance test (using the Quest Benchmark Factory tool) against both solutions, and produced the following results:
Transactions per Second
Users
Software License Costs
As you can see, the performance of the virtualized solution actually exceed the RAC solution significantly.
In future posts, I will be discussing more of how we accomplished this feat, and what the areas of suitability of virtualization are with respect to Oracle. If you would like to discuss this with me live, please come by the EMC booth at OOW this week. I will be there, as well as presenting this solution in in VMware booth.
See you at OOW.



Hmm... Looks not quite fair comparision to me...
You should explain how did You scale-out virtualized Oracle SE without using RAC?
Where're lots of consequences as I see in "scaling out with ESXi":
1) No RAC - no FAN (Failure App Notification)
2) No RAC - no load balansing
3) Single ESXi host - SPOF
----------------------------------
Alex:
In terms of 1 and 2, I would regard those as fair statements. That is part of the downside of ESX at present. Version 4 of ESX, coming out early next year will mitigate point 2, as the VMs will then be able to run over multiple ESX servers simultaneously, and thus will have true HA.
On the third point, that is incorrect. VMWare HA Cluster provides clustering and thus a single ESX server is not a single point of failure. My hardware diagram was a bit misleading though, and I can see where you got that impression. I will correct this.
Regards,
Jeff
Posted by: Alexander 'sure' Podkopaev | September 22, 2008 at 03:23 AM
I'm not 100% clear on the hardware configurations here, the two network diagrams are not clear (at least to me). Here's where my question lies, the the RAC configuration looks pretty straight forward, i.e. 4 x PE 2900 running RAC. But the virtualization solution isn't so clear, it mentions a VMware cluster, but in the rack diagram above only one machine is shown running VMWare ESX (the PE 6950), so what machines were in the cluster the PE6950 + the 4x PE 2900s?
Also, is it really an apples-to-apples comparison from the DB perspective, i.e. with RAC you have a single DB image, do you still have that with the VMWare cluster, or was the DB chunked up to put small pieces on each VM?
-----------------------------
Nik:
Sorry, but you are absolutely correct that the hardware diagram is misleading. I will correct this. Thanks very much for pointing this out.
The ESX cluster consisted of the same Dell PE 2900s as the RAC cluster. Thus, the same exact hardware was used for both. The Dell PE 6950 was used only for hosting client VMs which ran the load generators.
Regards,
Jeff
Posted by: Nik Simpson | September 22, 2008 at 09:16 AM
So how does this work, does Oracle SE see the 4 machine VM cluster as a single machine with lots of CPU's?
--------------------------
Matt:
As shown in the network diagram on the post, eight different Oracle Database SE instances are running on the cluster, two on each ESX host. Thus, this is a scale-out, otherwise known as a "federated" database solution. I am putting up a new post which will make this more clear.
Regards,
Jeff
Posted by: Matthew Watson | October 15, 2008 at 10:09 PM
I am a bit unclear how the licensing under VM is less expensive than RAC. You have used SE on VM whilst EE on the RAC. Also, Oracle licensing would count all of the physical CPUs of the machine under VM.
---------------------
Response:
Correct, but the effect of VMware will be to provide HA clustering which requires RAC on the Oracle side. This requires EE. Data Guard and RAC are the two components of the Oracle stack that typically require the use of EE. The remaining components are far less common.
Further, as you say, the licensing of Oracle products occurs on the physical CPU, not the virtual CPU, making VMware more efficient. The effect of VMware virtualization will be to make the CPU utilization higher, by efficiently utilizing the CPU for multiple database servers. In addition, VMware HA Cluster uses less CPU as overhead than RAC does (the so-called RAC tax).
The combined effect is to reduce the Oracle license cost on a per-transaction basis.
Posted by: Bien | November 11, 2008 at 11:00 PM
Wouldn't it be better to compare Standard Edition with RAC and Standard Edition with VMware HA (or maybe now with VMware FT) vs. doing it with Enterprise Edition?
Thanks,
Rob
------------------
Response:
Not sure what you mean here. RAC required EE, at least for more than 2 CPUs in the entire cluster.
Posted by: Rob Bergih | November 26, 2008 at 02:05 PM