SSD and DB usage
Image via Wikipedia
Recently I have seen several articles about Solid State Drives (SSD) and some articles are picking 2009 to be the year of the SSD. While I agree SSD’s will bring some great benefits in the years to come, I wanted to clarify the current state of SSD’s in relation to usage in the database field. A primary misconception is that because SSD’s are a type of “memory chip” storage that they are super fast, like system RAM and using them to house a database will make the database super fast. SSD’s are very different from system RAM because of course their data must be persisted and this requirement carries a major performance impact.
SSD’s offer high read performance benefits over current mechanical (magnetic) HDD’s. As much as 20x’s as fast. However write performance on SSD’s is slower than current HDD’s, in fact HDD’s can be up to 10x as fast to carry out random writes when compared to SSD’s. This is due to a number of limitations involved in writing to persisted solid state memory, including the fact the SSD sectors cannot be overwritten but instead the whole sector has to be erased and rewritten.
The benchmarks available are a problem and it is difficult to get clear results. This is for a few reasons. Firstly, because both the SSD and HDD are two technologies undergoing rapid evolution any benchmark published quickly becomes out of date and irrelevant. Secondly the benchmarks are often published by advocates of either technology rather than completely independent bodies. Some benchmarks I have seen are showing the speeds of high end SSD’s compared with low end HDD’s and vice versa.
So when considering SSD use for improving Database performance, make sure you consider the following points.
SSD’s generally have better read performance than HDD. But make sure you are purchasing current SSD technology as you may find older SSDs have slower read performance than current HDDs.
SSD’s generally have worse write performance than current HDDs. If you have a write heavy workload and your silver bullet is SSD you may be disappointed. There are exceptions but ensure you are comparing current with current.
If you are able to split data based on usage patterns such as partitioning or file placement, moving highly read, low write data to SSD storage can provide significant performance improvement.
Some proponents are picking that before we see pure SSD storage replace existing HDD’s we will see the emergence of hybrid devices that contain SSD and HDD technologies. These devices will have hardware algorithms that make a determination about where a particular sector should site based on its usage profile. Highly read low write sectors would sit on SSD and highly written sectors on HDD, of course all of this transparent to the system using such a disk. If such a hybrid device actually becomes mainstream or is skipped altogether due to rapid advancement of SSD is still to be seen.