IT organizations need to carefully weigh their solid-state storage options in disk arrays, servers or dedicated appliances once they've identified especially I/O-intensive applications that might benefit from the performance-boosting technology.
Greg Schulz, founder and senior analyst at Stillwater, Minn.-based StorageIO Group and author of The Green and Virtual Data Center, advises users to assess an application's hot spots and the likelihood that the I/O activity can be localized. In this podcast, he provides an overview of the pros and cons of the various solid-state storage options, advice on implementation challenges and tips for optimizing database performance with solid-state drives (SSDs).
End users can deploy solid-state drives in servers, disk arrays and appliances. What sorts of things do they need to consider when making that decision?
Schulz: There are several things that folks need to take a look at. The biggest have to do with what is the application, what is their environment and what are they going to use it for. In other words, are they looking to spread the data out? Is it an application where there's no one individual, single hot spot, but at different points, at different times, solid state can help boost performance? Or is it the case that the performance, the I/O activity can be highly localized to a specific set of files, to a specific set of tables, to a specific set of objects? What it really comes back to in making that decision is having a clear understanding of what they're trying to accomplish and where they're trying to accomplish that.
In what scenarios, or for what types of applications, are array-based SSDs the optimal approach?
Schulz: Array-based [SSDs] work real well when you have an existing storage system. You've got your data out there. You've been able to identify potential hot spots, where there are particular disks that are being hit real hard, or you can isolate it to specific files or particular types of data that then you can move onto the faster solid state. In other words, the whole notion around solid state is to alleviate, to eliminate I/O bottlenecks. Instead of having lots of disk drives just spinning there at a low utilization to get the I/O, you have to concentrate those I/Os. So in the case of the array, a real good solution for solid state is putting some number of solid-state drives in with some combination of fast Fibre Channel or SAS and high-capacity SATA drives such that your I/O-intensive [application] goes onto the solid state, your capacity-centric [application] goes onto your higher-capacity [drive] and everything else goes on the in-between-type drives.
More on PCIe-based solid-state storage
PCIe-based solid-state storage sees uptick in shipments, usage
HP IO Accelerator cards let Answers.com implement solid-state storage for database performance boost
RamSan-20 NAND flash solid-state drives provide faster data delivery for software company
When is server-based solid-state storage the best option?
Schulz: For server-based [solid-state storage], the idea is that you have an application -- maybe it's a dedicated database, maybe it's a dedicated Web serving, Web hosting, video, something that is highly localized, something that is highly specific to that particular server --where you need a high number of IOPS, whether it's for reads, for writes, random or sequential. But it's very, very I/O-intensive as opposed to capacity-centric. So, the key there around server-based [solid-state storage] is localizing that I/O. That would also apply not just to a server, that would also apply to anything that you might generically refer to as an appliance -- whether it be a NAS appliance, a video-serving appliance, a tape-serving appliance, a dedupe appliance -- any appliance that's doing some dedicated function, some dedicated work that has highly localized I/O that effectively you need to cache.
What types of solid-state storage appliances are available, and when should users consider one of those?
Schulz: Solid-state storage appliances are a bit of a marketing spin. When it comes down to it, you either have storage systems, storage traditional arrays with solid-state drives in them, or you have individual standalone solid-state drives, or you have the hybrid card, which is a PCI card, or you have a solid-state storage system. Now some vendors may call that an appliance, but that's just a dedicated solid-state storage device that we've seen many, many times. Where it fits is when you can isolate your data, your application, to that specific device. In the past, where it might have been attaching solid state into an array, it's being able to break that out and just dedicate a solid-state device to a particular application, to a particular I/O problem, a particular I/O challenge.
What are the most common implementation challenges that end users face with solid-state drives?
Schulz: The biggest challenge is identifying where the bottlenecks are. In other words, where are the hot spots? Solid state has been around for decades, and that's been the classic challenge. How do you figure out when to use solid state and where to best get the best bang for the buck? The trick there is having tools, having software, having utilities that will allow you to go in there and find the hot files, find the hot disks, find the problems, where are the bottlenecks, where are the queueing delays, where are the I/O problems, where are the issues, so that you can identify them and then correct them by putting the data onto the faster solid-state drives. So, the big challenge is that of lack of insight, that lack of awareness.
For more information on using solid-state drives:
Discover the latest SSD trends in enterprise storage
And then the other piece to that would be, you've been able to put your data onto a fast solid-state, and you're not getting the performance that you expected. You've heard about the great stories. You've heard the promise of solid state, how it's going to alleviate performance issues. You install it only to find out that you're not getting that bang for the buck you expected. And one of the challenges there can be involving attaching solid-state to a storage system, to a storage controller, to a storage adapter, to a system that's not optimized to be able to utilize that. In other words, to have the full speed, that low latency, all the pieces in that path need to be fine-tuned and optimized.
What do end users need to do to give their databases a higher performance boost from SSDs?
Schulz: We assume all databases are I/O performance-intensive, and not all of them are. You could have databases that are supporting a data warehouse, a decision mart that may be capacity-centric. But let's jump to those databases that do need I/O. Right off the bat, go look at your transaction logs. Go look at your journal files. Why? Because that's where you tend to have lots of I/Os, lots of updates, lots of small reads and writes, a lot of changing-type activity. If you have enough capacity, if your solid state is big enough, if you have a large enough budget, now you can do things like put your entire database, perhaps, onto it. But from there, look at your journal files. Look at your transaction logs. Then go and use tools such as those that are available in Oracle, within SQL Server, within MySQL, the various database systems, that allow you to go out there and look for specific hot spots, specific bottlenecks on particular tables. Maybe you can identify some specific indices, some indexes, for a particular database. Maybe you have to find a particular table that is read/write, that has a lot more updates vs. other tables. Zero in. Find those particular bottlenecks, and that's where you can eliminate problems and be able to leverage solid state for what it is as an enabler.