SSDs – A Short Story
Many of you are aware that there is a relatively new kind of storage out there called a Solid State Disk. Instead of spinning platters with moving heads, SSDs are flash memory chips. Think of them as a super fast, large thumb drive.
There are 2 main kinds of SSDs, SLC and MLC. They roughly define the difference between enterprise (SLC) and consumer (MLC), based on both performance and reliability (which of course means price!). Then there are 2 main interfaces out there – a traditional SATA II/SATA III (just coming out these days) or one that plugs into the bus directly (PCI for desktop PCs and most Intel servers). The ones that plug into the PIC bus are really only for businesses, as they are very expensive. But by removing the SATA interface bottlenecks, they are unbelievably fast.
When I say super fast, I mean it. SSDs are several orders of magnitude faster than traditional disks for random read/write operations. A single SSD can outperform a 4x 15K RPM striped drive array in nearly every task, and beat an 8 way drive array in many kinds of operations.
The chart above is from Anandtech.com, comparing database performance across 15K RPM SAS drives and Intel SSDs. Note that the slowest SSD setup (2 SSDs) blows away a 10 drive SAS array. And the Intel X-25E is by no means the fastest drive on the market – faster drives exist as compared to Early 2009 when this test was done.
For more on how SSD’s stack up to a RAID array, check out this article on Anandtech.com. Reminder: this is a consumer SSD review on a consumer enthusiast website, and the enterprise drives are even faster. But even still, Anand is the defacto SSD expert out there, and has covered them extensively. For even more details, check out his 3 part SSD Anthology.
I personally am an SSD freak; I have 4 PCs (2 notebooks), each with an SSD in them. Once you go SSD, you’ll never go back. The computer boots up in mere seconds. Loading Excel takes < 1 second. Zipping up the OBI\Server directory takes 14 seconds – try that on your machine or server to see what you get. It will extend the usefulness of an older notebook by another year and a half.
Once Upon A Time…
I tried for the heck of it a little comparison between my notebook running the OCZ Vertex 2 SSD and our Sun M4000 Test server, which is identical to our Production server. The M4000s were connected to a Storage Area Network, and each has 16 SPARC VII CPU cores at 2.4GHz and 64 GB RAM. My Notebook runs a Core i7 820QM CPU at 1.7GHz and has 16GB RAM. Yes, that’s 16GB on a notebook. Both were running Oracle 11.2. All tests were done using identical DDL and data sets (~ 70 Million rows total).
On single query tests, my notebook easily beat the Oracle/Sun M4000 server, in many cases by 2-3X! Mind you I had all of the Oracle files and tablespaces on a single drive, plus the client software and Outlook running. I also gave the database less memory – 6Gb total. CPU power is hard to gauge exactly, but I think the CPUs were roughly equal in single threaded performance. Scalability is where the M4000 is too much to handle with 4x the number of cores.
After the straight SQL based queries, I decided to run our OBI application on my notebook as well (I still had 10 Gb RAM free). So, on 1 notebook, running OBI, Oracle, charting engines, Oracle OEM and the browser, finally the M4000 won a few performance tests. But generally only by about 25%! These pages were heavy, containing a lot of queries that we kicked off at the same time. However, adding the OBI workload to my notebook was really an unfair test.
So, SSDs are awesome. But they are expensive. My 120GB drive costs $220 – enterprise solutions are significantly more so. However, they have higher reliability and lower power consumption, all while delivering greater performance. I’m a bit surprised that more servers aren’t using SSDs out of the box. Teradata has a 100% SSD machine, and Oracle Exadata uses SSDs heavily but not exclusively.
It will be interesting to see how this new breed of storage is best used – whether it’s configuring portions of your database file on it or locating more heavily used table partitions on it.
Please leave a comment if you have any experience with them on your database systems.
Posted on December 14, 2010, in Architecture, Data Warehousing, Other Technologies & Tools, Performance and tagged data warehouse, Performance, Solid State Disk, SSD. Bookmark the permalink. 1 Comment.