3 ms·
I did a large production SSD deployment a few years ago on a db fleet backing a large video hosting site (probably the first one you think of). tl:dr the benef
by more_corn 10y ago
I did a large production SSD deployment a few years ago on a db fleet backing a large video hosting site (probably the first one you think of).
tl:dr the benefits were astounding. The failure rates were super low. We saved something like 2 million dollars by significantly increasing the I/O performance of the fleet preventing the need to re-shard.
Choosing a drive
We went with an Intel MLC (consumer class) drives. No other drive had such low DOA rates and good match between performance and price. We set the max lba to 80% of available capacity. (Actually recommended by Intel) This change eliminated the pathological case where a full drive continually overwrites the same sectors. The consumer drives suddenly had a lifespan comparable to enterprise drives (though a slightly slower read speed- which was fine because we needed balanced reads and writes)
We also exported and monitored the wear leveling stats (available via a SMART value) so we won't run into the case where they all unexpectedly wear down at the same time. The projected lifespan looked really good and in most cases exceeded that of the servers. (in retrospect this turned out to be true)
Raid config
We ran in Raid 0 (because I love to live on the edge- No, actually because we split the boot, data and bin log volumes and data integrity was preserved by redundancy within the the fleet.) The conversation I had with the dbas about this was one of the most eye opening conversations of my career. Turns out if a replica failed or lagged too much they simply tossed the data and started a new one. They didn't actually need or want RAID10 and that changes the economics of the picture significantly.
This would have been 4 years ago now. We deployed several thousand drives. Of that only one ended up with abnormally high wear level. (I proactively threw it out when we decommissioned the hardware to prevent a problem for the next guy). I had a handful of drives which didn't pass the pre-service checks and a another handful that failed in production.
Compare that to 10k spinners which appear to have an annual failure rate of 1 in 20.
SSD Failure profile:
We would typically see a drive failing to respond properly (announcing a crazy size, not showing up at all, failing to save its max LBA). Most of this happened in the pre-production check phase. Post deployment failures you can count on one hand (I have the normal number of fingers ;-)
Qual process
We qualified 6-8 different manufacturers, high end enterprise to the dirt cheap vendor with a three letter name now synonymous with garbage (I won't even say the name here). The cheap drive had high DOA rates, and the unsettling tendency to spontaneously reset itself causing a several second pause (not so good for our uses, but might be tolerable in other circumstances)