Most, if not all of the time, a database workload is a disk I/O-bound, not CPU nor memory. The most time spent in a database operation is reading a data block from or writing a data block to physical disks. This is true for any type of workloads -- small or large block read and write, sequential or random access. The Exadata technology minimizes this bottleneck by utilizing
- Oracle's proprietary intelligent storage software which understands Oracle database I/O characteristics and thus is able to minimize number of disk I/O, and
- High-speed Infiniband network for storage network (40 Gb/sec throughput, 5 times higher than the typical fibre channel used for SAN).
Improvements to My Organization
There are several scenarios in which this technology can help. Most package (COTS) software are not designed, and therefore are not optimized, for a specific database platform, e.g. Oracle. Performance starts becoming a problem when the database size and workload (e.g. transaction rate) are high. Even if you, as a customer, have reached out to vendor support, chances are they are not going to customize their code just for one database platform, Oracle. They may help you to do small tuning here and there, but without optimizing the application code, the result is limited. Exadata comes as a quick fix in this situation. Oracle Exadata will sweep the problem under the carpet.
Secondly, most applications have a mixed-workload, not purely OLTP and not purely batch/reporting. Unfortunately in many aspects, database tuning for the fastest response (as in OLTP workload) and for the highest throughput (as in reporting/DSS workload) are a contradiction. Again, Oracle Exadata can be a quick fix by minimizing the number of I/O on a fast and high-throughput storage network. It helps on any kind of workloads.
Room for Improvement
With its value proposition, Exadata is being used to run mission-critical, 24x7 applications. Unfortunately, not all hardware in the Exadata rack are hot-swappable (such as memory, processor and battery maintenance in older models), and therefore business application downtime may be required for those hardware replacements.
Infiniband cabling work may need a complete downtime as well, for example, when we need to connect multiple racks.
Use of Solution
I have been working with Exadata, since its X2 generation about five years ago. Since then, I have worked with its X3, X4 and, currently, the latest X5 generation. Each generation comes in three models based on the number of sockets in each of database server, -2 (for example X5-2) and -8 (for example X4-8). I have not had a chance to work with the X5-8 model, which was released less than five months ago. However, there is no fundamental difference from the previous generation X4-8, other than more processing power and memory due to newer hardware.
As in any technology deployment, software bugs and misconfiguration are possible. I have dealt with a few bugs and misconfigurations that have caused application downtime in the past.
We have no issues with its stability.
You should start with a small footprint (for example, a quarter-rack Exadata) and then grow to a full-rack or even multi-rack Exadata. The only challenge is that by the time you need to expand, the Exadata generation may have evolved (every one to two years, so far). You may end up with a full-rack of Exadata that contains multiple generations, each with a different CPU, memory, and disk capacity. This may not be a big problem, but you have to come up with a strategy to distribute the workload.
Customer Service and Technical Support
Oracle Exadata comes with Platinum Support, which is a premium support and includes regular (quarterly) patching/version upgrade activity and fault monitoring. I think this is a right approach by Oracle. As an engineered system, there is a lot of version compatibility between firmwares, operating systems, and softwares that must be taken care of for a patching and image upgrade. This definitely would be a huge responsibility if customers had to deal with this.
What everyone needs to understand is that Exadata is a database consolidation platform, and is not designed as a virtualization platform. Therefore, there are security considerations if you plan to use Exadata to host multiple applications that require certain levels of segregation at the network, storage, and operating system levels.
What makes Exadata different than competitors is that it is not designed only for a specific application (as in SAP HANA), and is not only for a certain type of workload (as in Teradata).
It is called an engineered system, but there are options that Oracle offers to its customers. Customers need to complete a configuration generator tool called Oracle Exadata Deployment Assistant (OEDA). Based on the selection made on the tool, configuration file is generated and this will be a 'binding contract' between customers and field engineers who will do the initial setup. The problem is that it is the customer's responsibility to make the right options and some of them are not easy to understand. I suggest the customer not to hesitate to get assistance from Oracle Pre-sales and to go through each of possible options in detail and to understand all consequences.
Initial setup is always done by an Oracle field engineer, up to creation of an empty database. Infrastructure cabling and data center power are usually done by contractors. From the support standpoint, Exadata is just the same Oracle database servers and Linux/Solaris servers.
The solution is relatively easy and fast to deploy. It typically takes less than three weeks from hardware delivery to having functional database servers with a built-in high-availability feature. Most importantly, it delivers an excellent Oracle database performance for any type of workload (OLTP or batch/OLAP). I have seen from 3x to 10x performance improvement for various workloads compared to previous versions. The reason I didn't give a perfect 10 rating is because some hardware are not hot-swappable, such as battery (for older models), memory and processor. While as a matter of fact, this is an important feature of a platform for an enterprise mission-critical application.
What often is confusing for many is the support model of Exadata. Many think Exadata is a black box or appliance that will be supported entirely by Oracle. It is not an appliance or a black box. It is just a bunch of regular Oracle database servers and Linux (or Solaris) servers as storage servers. It needs DBAs and system administrators to take care of it and work with vendor support in case of incidents or patching.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Mar 10 2016