Just went through a session at EMCWorld about using Enterprise Flash Drives (EFD) in Oracle environments. My initial assumption with EFDs was that they were fast and expensive, and only for your biggest databases and workloads did they make sense, now I am starting to think differently. They are still very fast and expensive (I assume, I dont really know the cost), but it may not only be for the biggest and most intensive workloads.
In a database it is best practice to separate workloads onto different disks. The most basic form of this is to put log files on different disks than your database files, but you can also segment your database into multiple files on multiple disks. This way an update to one table wont contend with disk resources for an update to a different table on different disks.
So what does this mean for EFD? Well, if you have a specific table(s) or index(s), that are very busy then you may be able to segment that object onto an EFD, while leaving the remaining objects on FC drives. This way you can have only a handful of EFD drives (i.e. 3 disks in a RAID5 configuration), get exceptional performance, high number of IOPS, and extremely low latency.
Now comes the hard part – how do you identify which object would benefit most from being moved to an EFD? The presenter discussed searching for what is called Hot Tables, or Hot Objects within the database that are waiting for disk resources. Any Oracle DBA worth his salt should be able to identify these using the statspack tool for Oracle. There is a similar tool in MSSQL (I forget the name now) that will give you similar output.
Once I get back to work I expect to try these tools out to identify how some of our DBs could be improved with EFDs. Once I do that, I should be able to properly assess if EFDs would really benefit us performance wise, as well as cost wise.