Multicore Licencing Pt 3 - Oracle Database.
All of the opinions expressed here are mine alone and do not necessarily reflect the opinions of my clients.
On a recent project we had to architect a solution for a 1,000,000 user plus Oracle DB based solution. Before I came to the project there was an IBM based proposal on the table for hosting the DB on their Power 6 platform.
I would like to see this more commodity based and deploy to an X86 Hardware platform. I would like to do this to reduce costs, increase scalability option and make the architecture more commodity based (allow for vendor choice at all levels). It would be ideal to standardise on X86 and reduce the amount of IBM and SUN hardware and thus costs. I needed to make a case for this and gain the necessary funding etc.
|
IBM Based Architecture |
Commodity Based Architecture |
|
· 5 x X86 Server Multicore (48 cores per server but slower clock speed in this case, we only need 8 cores to start with but this may scale up quickly if successful) · Prod, Dev, Test all identical and on separate servers. · Oracle Linux (for support) · Oracle Enterprise DB |
So far I like my architecture for scaling, resiliency and supportability
But what about cost?…Ok, guess which is cheaper?
Well IBM P series hardware is not cheap. Let’s just say for 2 P6 Server its around $300k as opposed to 5 x X86 servers costing $100k or so. As you can see we can get much more for much less from a scale out point of view, yes we lose clock speed against the P series but have much more processing capacity which we can use for other processes on the same servers and can easily scale out also. So far so good for my architecture..
The last item on the list is the Oracle DB pricing:
Oracle DB Costs
General Licence list prices ( I have also included per named user and standard DB pricing for comparison purposes) as below:
|
Type |
Per Named User |
Per Processor |
|
Standard Edition |
$350 |
$17,500 |
|
Enterprise Edition |
$950 |
$47,500 |
On IBM P Series, each core is the equivalent of 1 Oracle Processor licence so 8 licences are required per server, which equals 16 licences for the whole environment.
|
Type |
Per Named User |
Per Server* |
For Environment |
|
Standard Edition |
$350,000,000 |
$140,000 |
$280,000 |
|
Enterprise Edition |
$950,000,000 |
$380,000 |
$760,000 |
On the target X86 servers each core is 0.5 of an Oracle Processor licence - so that’s 24 per server which of course is a total of 120! Licences for the whole environment.
|
Type |
Per Named User |
Per Server |
For Environment |
|
Standard Edition |
$350,000,000 |
$385,000 |
$1,925,000 |
|
Enterprise Edition |
$950,000,000 |
$1,045,000 |
$5,225,000 |
Cost summary
|
Type |
Power 6 |
X86 |
|
Hardware |
$300,000 |
$100,000 |
|
Software |
$760,500 |
$5,225,000 |
|
Total |
$1,060,500 |
$5,325,000 |
Hmmm…. from this point of view Big Blue is looking good (wrt Cost)
Partition for heaven’s sake I hear you cry! Ok then let’s look at that.
IBM have LPARs which Oracle kindly recognise as Physical Partitioning, meaning the size of the defined LPAR is all you need to licence – sweet. So if I decide to add more hardware to the above architecture or if the business wants to reduce capacity I can restrict the Oracle licencing impact by using LPARS.
X86 platform has a few options for partitioning.
VMware. Yes this would be perfect as we already have lots of it and would mean we can scale out later. Alas this is not possible. Oracle does not certify DB running within a VMware environment. Meaning for any production issue that is not already known to oracle we would need to reproduce on a bare metal environment. Also VMWare would be regarded by Oracle as Soft Partitioning and therefore we would need to licence for all cores in the server ! – so no point then
BIOS Disabling of Cores/CPU. Yes another good idea but Oracle would again say Soft Partitioning and we still need to pay the 48 per server licences.
Buy smaller servers (8 core, 16 Core or whatever) – proper partitioning! But this goes against the scale-out aspect that I want to achieve with the new architecture; I would be building something I know I would have to replace soon as the volume grows.
Oracle VM (Xen). Oracle really are pushing this and it is regarded as Hard Partitioning - shocker ;) . The real issue with this is that its new to us and new in general to the Oracle stack for critical Database hosting.
Ok, Oracle VM looks like the only option here, so lets see what we can do with that.
Using OVM I could reduce the core count to 4 for UAT and 2 for Dev in a bid to control costs (not ideal but we can make it work)
|
Type |
For whole Environment |
|
Hardware |
$100,000 |
|
Software |
$617,500 |
|
Total |
$717,000 |
Ok now we are talking, I can scale as we need to and reuse the capacity for other processes in the short term and it’s $300k cheaper than the IBM based architecture.
Outcome
In the end I pushed to get the X86 servers on the condition we can get Oracle VM working. Unfortunately we hit a bug from the start where Oracle VM does not run on the latest X86 servers we wanted to use!! I must point out that Oracle are working very hard to rectify this and have the TOP people working on it but as yet no permanent countermeasure is in place. We have had to go back to using older X86 servers with low core count for launch and will migrate to the larger servers when they work with Oracle VM.
Conclusion
Oracle really makes it hard not to use their platforms. If I had chosen Sun SPARC hardware all would have been good as I could have used Solaris containers and Core Factors can be only .25 on some Sun servers also. I would like to remove Sun servers not add to them though.
I also feel that Oracle really only want to sell large Enterprises an all-in Exadata solution now, roughly $2.5m+ for this scale and in my opinion comes with vendor lock-in on par with a mainframe and is hardly reducing costs.
Of course IBM will be delighted with this licencing policy as it plays directly to their big iron LPAR based strengths that some enterprises go for.
As will Microsoft who can capture the enterprise commodity market with fair per socket pricing and VMWare support.
NoSQL and Open Source DB vendors must be loving this also, they can really exploit this market with quality products at affordable prices. How will they licence though to make this happen?
Personal Conclusion.
Microsoft SQL Server has never looked so good ;)
References:
Oracle Database is licenced and priced in an open way and a pdf can be found here that outlines this.
Oracle Server Partitioning Licencing Policies are outlined in this pdf
Oracle Processor Core Factor table can be found in this pdf