Flexibiliy is a weak point in case of Exacloud also that I tested last year (you can found on this site).
Exadata is delivered with pre installed and configured SW and 2 node cluster.
It’s true that you can destroy it and customize, but that’s not the point (in that case it’s much better to buy just Oracle licenses and install Oracle on your infrastructure).
One of the main advantage of Oracle database is flexibility, which lead to such success.
Here I would compare it with Linux, which is so configurable, so it can cover many use cases.
With Oracle database you have many options/setup like single instance on file system, Oracle Restart, RAC One Node, RAC, Multitenant, single Instance with ASM…
Choice is really huge and it’s difficult to find something that is not covering your particular case (only price can be a problem as Oracle is mainly targeting enterprises).
In the following slide you can find 3 node cluster (configuration that is not possible with Exadata)
It’s not only matter of different flavor of database or cluster configuration. When you add other components like OS (Oracle is supporting almost all OS available on the market), Virtualization, storage that can be customized specifically for Oracle (check the following picture) where you can set IO limits based on environment/servers (production or development) and choose storage that fit to your needs, number of combinations is really huge.
Here you can see storage setup to run High Performance Database (Temp, Online Redo Log and Materialized Views are stored on Flash disks)
For example, client can invest in Flash storage that will be configured specifically for Oracle, to lower the number of licenses for Oracle database like on a previous picture.
Usually components are chosen based on In-house knowledge and needs.
With IBM AIX there is no issue as It’s virtualized OS that Oracle allow to partition based on CPU that you need (to avoid licensing the whole server).
Clients in case of Linux or Windows can choose server with lower number of CPU, with spare sockets, to be able to add additional CPU in case of need (in case they don’t want to leverage Oracle VM).
With Exadata you can only buy ¼, ½ or full rack, in total just a three options.
Knowledge required to run Exadata
“Money can’t buy life” – Bob Marley
Many clients that can afford to buy Exadata does not understand that their most important applications won’t run faster just because of that, and many of them are even disappointed when realize it throw money in expensive toy but without visible performance impact, while some of them reported the opposite.
There is one proverb: If knowledge is not important, then it would be enough to have only the money to solve any technical challenge.
Fortunately it is the opposite: if you don’t have a knowledge, you can have supercomputer, but you will still suffering due to performance problems.
That’s why title is taken from one of the famous Bob Marley quotes.
In many cases, you can have a small HW resources on your disposal which, if used smartly, will still allow to run really large Db apps in 100+ TB range.
Application has to be written to use Exadata features
Exadata is the most efficient in cases like Data Warehouses and Business Intelligence, where you can use all the features from columnar compression, massive parallelism etc.
For OLTP load where the majority of queries are targeting few rows through the index access, benefit will be much smaller, if any.
Exadata has completely different setup of parameters when to use index and when FTS, and it prefers later.
Besides the type of load (batch, OLTP, DWH), your application needs to be written for Exadata to use it’s features.
If application is target to generic HW, most probably you won’t have any benefit at all (and it can even have a negative impact).
What I mean by written for Exadata?
By forcing FTS, parallelism, table storage attributes (flash storage)…, your application will behave in a different way comparing with non – Exadata system.
Application that you are going to use need to be aware of HW capabilities and use it in most efficient way to get performance boost.
Unfortunately, even Oracle applications like Oracle Retail or eBusiness Suite are not written for targeting HW.
Exadata is expensive
This point I left at the end, as clients that really need such machine can afford it.
Main reason for a high price is that you are getting ¼, ½ or full rack with plenty of CPU/memory/disks and Oracle SW pre installed.
In addition all components are redundant which also influence on price.
Besides the initial, purchase price for HW, many clients forget that real expenses are coming from IT stuff that needs to support Exadata during it lifetime.
As Exadata has storage, network, OS, Grid/Clusterware and Database layer packed in one box, you need to have required skills to maintain Exadata (monitor, patch, upgrade…), and experts in those field are very rare.
Main point of this article is there are no SW or HW that doesn’t have shortcomings.
With a cool head, every client need to weight all pros and cons and be realistic in estimations (don’t be affected by commercial tricks when making such decisions like “without changing a line of code your app will be 100x faster”).
If you follow common sense when choosing your mission critical platform, later you won’t be disappointed.
Exadata has lot to offer for certain use cases and with highly skilled IT stuff.
If your use cases (your mission critical apps) does not fit where Exadata brings the most of performance boost (like DWH), or you have no skills to support such machine, you should be better to look at much cheaper alternatives where you can, with smart architecture and smart setup/configuration, sometimes achieve even better performances than famous alternative.