Shetler: The easy example is that you have an operational database and a data warehouse both running on Exadata and you have done that because you want to trickle-feed updates from your operational system into the data warehouse to make them available in close to real time for reporting. Those two databases are pretty much diametrically opposed in terms of how they want to use system resources. The OLTP application wants to have very fast response time when you are doing a transaction, and yet the data warehouse wants to consume as much of the resources as possible when you want to run a big query or a report against it.
If you were running both of those during the day, you would clearly want to give priority to the OLTP response time. We have controls both built into the database and into Exadata to give you the ability to say, this workload gets maybe 80% of the CPU and I/O resources during the hours of 8 in the morning until 6 at night and, from 6 at night 'til 8 in the morning, I want to give the resource priorities to the data warehouse and the applications connected to it. You can create all those plans and easily implement them in Exadata for a consolidation play. We have a lot of customers doing that today.
Is Exalogic a necessary component for an Exadata implementation?
Shetler: Exalogic is essentially the equivalent of Exadata for the middle tier — the tier that runs all the applications — and in our case, mostly Java applications because that is what Exalogic is really optimized around. It pulls together that very complicated middle tier that usually is composed of what I view as the cast-offs in the IT department. But you end up with the cats and dogs in the middle tier.
And what we have discovered in testing is that for OLTP applications you need a pretty powerful middle tier connected to Exadata to utilize as much of the CPU that Exadata has as you would like to. Most people want to get the CPU on the database system up to about 65-75%, and that gives you some head room for spikes, but if you are below that or even below 50%, you are really under-utilizing what you paid for. Before Exalogic was available, and it has only recently become available, we were using our cats and dogs in the middle tier to do all of our testing and we weren't able to drive the CPU on Exadata for big Siebel, PeopleSoft, and EBS applications above about 30% utilization. The Exadata-Exalogic combination for certain classes of applications makes a lot of sense, and there are a couple of other aspects to this, as well.
Oracle is now in its third generation of Exadata.
Shetler: V2 and V3, this last generation — the X2-2, X2-8 models — were all built on Sun hardware. With v2, we solidified the architecture of Exadata going forward so the major components now, the cluster at the database level, the storage grid at the storage level, and the interconnect with Infiniband, and the inclusion of Flash as a cache on the storage — those are all the major elements of the Exadata architecture.
Do you foresee additional changes in the architecture?
Shetler: We don't foresee anything changing those going forward at this point. Now, clearly, there will be in the fullness of time, maybe 5, 10 years from now, some new technology that we say we just have to incorporate, but at this point, we don't see any major changes or disruptions into that architecture. And so we will just be on this release pattern that says we will pick up the latest Intel chips that makes sense, the latest flash card that makes sense, the latest disks that make sense because disks are getting bigger all the time. That is what we are doing now — just incrementally staying on the leading edge, or close to the leading edge on all of these technologies that make up Exadata. And so that is what we see moving forward.
What that means is that the Exadata customers can take comfort in the fact that they are not going to have to change any of their habits or worry about any new technologies that might disrupt what they have got in place or what they are planning on buying and certainly Exadata as a platform will just become more and more stable over time for all those database customers that will in the future take it up as a platform.
Aside from being preconfigured, what are the key advantages of Exadata customers are seeking?
Shetler: Performance is one of the really big advantages of Exadata. It is single-purpose around running the Oracle Database with the best performance and the best availability possible. The impetus for Exadata really started from a storage perspective where the traditional model where you have a storage array from one vendor, a network connecting the storage to the database cluster from another vendor, and then a computer from yet another vendor, all trying to interoperate means that they don't really understand what the different layers are trying to do and so they can't help the different layers.
We have linked together the database nodes and the storage nodes in a way that they never were before when the storage just had to generically serve up a block of any kind. Since the storage in Exadata only stores Oracle Databases, then we know right away that is all we are going to be asked for and we can tell the storage server that this query is essentially looking at an entire table but only returning the rows for the latest quarter, and only three of the 200 columns in that table as well, because the user only wants to run a report that shows sales and account reps from that quarter. And when you think about that, a normal block-serving storage device would send all of the blocks for that entire table across the interconnect and back to the database servers and the database servers would throw away all of the rows that aren't for the quarter that is being requested and the 197 columns that are not needed in the output of that report.
Our notion is, why don't you let the storage server throw away all those rows and unneeded columns before it sends anything back across the interconnect to the database node and so the interconnect isn't going to be a bottleneck and the database nodes don't have a lot of work to do once they get the data back. Ergo, you can get really fast results on those kinds of requests. That is kind of a fundamental notion and we call that Smart Scan. That is just one of the examples for how Exadata can really improve performance because of the way we have thought about architecting this as a single-purpose Oracle Database Machine.