What is tiered storage and how can I use it in my environment?

by Denny Cherry
Sep 27, 2011

Question: What is tiered storage and how can I use it in my environment?

Answer: Tiered storage (which you may have seen me talk about at the SQL PASS summit, SSWUG, user groups, SQL Saturday's, etc.) is a technique that storage administrators use which in a nutshell puts the most needed data on the fastest (and most expensive) storage available while data which doesn't need such high response times is put on to slower (and cheaper) storage.

Related: Should I be using table partitioning or auto tiering features on my storage array?

There are two goals which are met by using a tiered storage approach.
1. You reserve your most expensive storage for the applications that really need it allowing them to have the fastest possible IO response times and the least contention for resources.

2. You save money (anyone not like saving money?).  By purchasing less expensive (I almost put cheaper in here and there is nothing cheap about enterprise level storage) disks you are able to put things that may not need that really expensive storage on the lower end storage.

The higher tiers of storage are typically used for things like databases (SQL Server, Oracle, Exchange, MySQL, DB2, etc.) as well as any really critical file servers.  As you move into the lower tiers of storage this becomes a great place to store things like archive databases where the response time isn't as critical, infrastructure databases like the database for the BlackBerry Enterprise Server, the databases for your monitoring applications, software deployment applications, as well as more general purpose file servers.  This would also be where you will probably put some of your virtual machine virtual OS drives.

Once you get into the slowest storage (typically SATA drives) this is where you'll be storing things like backups, departmental file shares, other virtual machine OS drives.  This slowest, least expensive tier will usually be made up of the largest spindles so you'll want to put data which isn't going to be accessed very often but takes up a lot of space in here.

As I stated earlier, you typically would want to put databases on the higher tiers of storage simply because databases have such a high IO requirement especially when compared to normal operations for file servers and application servers.  However every situation is different and it could easily make sense in some cases to put the databases on slower storage and other servers on the faster storage, provided that those servers really needed the faster storage.

Hopefully you found this useful, keep those questions coming,

Please log in or register to post comments.