The emerging implementation method is to use caching technologies to automatically move the most active subset of data to the more premium storage tier, and combine that with near-line SAS hard disks to storage the least-active, least-performance-sensitive data. In theory, this should give the perfect balance of price and performance. But there is a performance gap to be aware of.
The concern with these systems is that in an effort to hit an ideal price-performance number, there is risk of a significant potential performance drop because of a cache miss. The performance delta between the two tiers -- SSD vs. near-line hard drives -- is large on a per-drive basis.
The situation is more severe for these newer systems than legacy enterprise systems. These new systems often use 3-TB high-capacity drives; they are slower than enterprise HDDs; and there are going to be fewer of them. The fewer the hard drives, the worse overall performance will be. Enterprise systems are designed to house plenty of hard drives. These new hybrid systems often are not.
As a result, when there is a cache miss, the dropoff to that second tier might be severe and it might have a significant impact on storage system response time. Obviously, any storage system with a mix of SSDs and hard drives would have this problem, but the gap is more severe in the newer hybrid systems. This performance gap can be especially painful if there are a lot of cache misses caused by either too small of a cache investment or a data set that is not cache friendly.
There are three ways to address this performance gap in hybrid SSD arrays.
1. A Big Cache
The simplest way to cover the performance gap is to make sure that the vendor has the capability to implement a big cache so that cache misses are a rarity. This also requires understanding your data to make sure you know how much of your data is active. You need to know this information not only for a given moment in time but over a span of time as well. The ability to trend data activity is critical to any SSD investment and is the subject of our upcoming webinar, "Three Things To Know About Your Environment Before Buying SSD".
Another way to make the cache "bigger" is to efficiently use deduplication technologies. As we discussed in our recent article, "Resolving The $ per GB Problem of SSD in Virtual Environments", deduplication technologies when implemented inline before data gets to the SSD tier can effectively make raw SSD capacity five times more efficient. This means that in the right environments, 1 TB of SSD can act like 5 TB. Not only does this help resolve the cost premium of SSD, it also makes the chances of a cache miss less likely because the cache is not storing redundant copies of data.
One downside is that most -- but not all – cache-based environments do not cache writes. Writes drop down to the HDD layer, which again might be slow to respond thanks to the low number of high-capacity drives. How much this affects you will be largely dependent on your environment.
2. Cache Pinning
Another capability to look for is the ability to "pin" data to cache. This means that you as the user can select key files that you absolutely want to make sure are served from SSD and lock that data to that tier. One thing to beware of with a pinning feature is that, as mentioned above, most cache systems do not cache write I/O, even if the file associated with that I/O has been pinned to cache. In these systems, writes will still drop to the HDD layer. Again, knowing what data in your environment would be the most logical to pin to cache is critical to using this feature efficiently.
3. A Better HDD Layer
The final capability to look for is the ability to increase the number of hard drives that the second tier has available. This can be done with external shelves, a scale-out cluster, or using smaller 2.5" drives in the primary chassis. Most environments are not capacity constrained at the hard drive level. Instead of having excess capacity that you will probably never use, get smaller, less expensive, less power-consuming 2.5" drives. Doing so brings greater redundancy, flexibility and better performance.
Hybrid SSD arrays are ideal for many data centers, but there are a few weaknesses to understand and address. The way cache works and the ramifications of a cache miss are probably at the top of the list. For some environments a cache miss to the hard drive layer is not going to be a problem; for others, it can cause erratic performance that might be unacceptable. If this is a concern then a larger cache or larger hard drive layer -- in terms of spindle count -- might be the better option. Or it might be that an SSD-only appliance makes more sense. The key is to know your application and understand how it is reading and writing to storage.