I'm building a new Microsoft SQL database server which will use a SAN for storage. For SAN storage I have:
A small number of SSD disks A larger number of 10K disks
My SAN supports storage tiering.
I'm on the fence about how to use the SSD disks. Here are the options that come to mind:
Option 1: Create tiered storage with the SSDs and 10K disks and use auto tiering to move highly accessed data to the SSDs. Then break that storage pool up into several different drives.
Option 2: Place key (i/o intensive) data on the SSDs and throw everything else on the 10K disks.
I don't have enough SSDs so that everything can reside on SSDs. So what's most important performance wise for SSD storage? tempdbs? LDF files? MDF files? My database is more write intensive than read intensive (if that makes a difference)
Secondarily are there any best practices I should follow when setting up the drives? Should I have separate drives for each tempdb?, LDF files?, MDF files? What about the system databases like master, model etc. Should those go on their own dedicated drives or maybe the C drive?
Any advice would be appreciated.
By the way here is a screenshot of our existing database server disk activity. It seems the tempdbs are the most read/write intensive followed by our MDF file and surprisingly the LDF file seems to have the least I/O
For the rest I would go with storage tiering IF that is sensible. Alternatively use multiple File Groups and put hot ones on SSD if that is by table (using partiioning will get clumsly). Lots depends on the data - but tiering may be the best solution (also from an ease of use point of view).
Well, I would say an obvious thing first. Test both scenarios and see what's the performance difference between Tiered and dedicated SSD.
Then think about downsides of having key data to be SSDs if SSD storage is limited. How limited the SSD space is? When you expect to run out of space based on your current growth of the "Key data"? What are you going to do when you run out of space on SSDs. Compare all that potential headache to the performance difference.
In general, SSDs are good for Random Access operations. The most benefit you get Random Reads. If your application is write-intensive and doing a lot of bulk writes you might see a minimum performance improvement on SSDs, but if your application does a lot Random Writes then it might be a different story. So you need to test it your production workload.