SSD 想说爱你不容易
SSD固态硬盘,其最大的优势在于,单块SLC的SSD就可以达到数万IOPS,想象一下,一个大型存储的IO能力也许用几块SSD就可以做到。当 然SSD也有缺点,写磨损是一个大问题,虽然可以用“冗余容量”和“均匀写”来解决,但是还是很难消除电子产品比机械产品可靠性差的疑虑(相比较SSD, 普通磁盘可以归纳为机械产品)。另外一个问题是稳定性,对于数据库这种对稳定性要求很高的应用来说,SSD还有待于实际应用的检验。
我们从两年前就开始跟踪SSD产品,并进行很多的测试与评估,目前业界SSD主要是作为二级cache来使用的,比如在存储中配置SSD或者flash 卡,用来作数据库的cache,数据库全部使用SSD的应用还非常少见。我们在今年的项目中开始尝试用PC server+SSD+MySQL来取代小型机+大型存储+Oracle,当然前提是应用做了分布式的架构,虽然SSD的价格依然很贵,但是还是可以接受 的,至少比IBM小型机,EMC存储便宜吧。
由于业界普遍缺乏SSD的使用场景,硬件厂家也很少有成熟的配置SSD的高性能PC方案,我们只好自己搞,SSD和PC都是我们采购,然后自己 DIY自己测试。在实际使用的过程中,先是发现SSD盘的故障率很高,经过厂家检测后发现有质量问题,后来又发现SSD与PC存在兼容性问题,在大压力时 会导致OS hang,以至于DB hang,目前还在与硬件厂家做进一步的检测。
在测试SSD的过程中,有一些小的发现。MLC和SLC相比,价格和性能基本上前者都是后者的三分之一,MLC宣称的写磨损次数要比SLC低很多,也就是说MLC更容易坏,数据库环境一定要用SLC的SSD。SSD如何做RAID?我们采用Solaris的ZFS来管理SSD,而没有使用通常的硬件RAID卡,因为相比较SSD巨大的IO能力来说,也许RAID卡就成为了性能瓶颈。SSD适合OLTP类型的应用,对吞吐量要求比较高的数据仓库类型不适合,因为有写磨损的问题,所以对于写密集型应用也不适合。CPU不必迷信IBM的Power,现在Intel的nehalem甚至AMD,从测试数据上看并不比IBM差,当然PC机的可靠性比小型机要差一些,这就需要应用架构去弥补了。
SSD是未来的方向,但是目前来看还不成熟,就算当前的问题解决,还是普遍存在一个疑问,“写磨损对SSD的寿命的影响有多大,会不会发生同时 SSD盘大量损坏的情况,数据库完全放在SSD上是否可靠”。但是,SSD巨大的性能优势又让我们对它充满了期待。我们还在努力,如果我们的方案成熟,证 明SSD对数据库完全可行,并且可靠性不是问题,那么SSD将迅速取代普通SAS/SATA,我们每天都在担心的IO问题,也许真不是问题了。
–EOF–
你们确实技术应用比较靠前,我们公司内部论坛一堆老外都在那里空谈ssd如何,就没见一个实际动手的。我说在中国已经有应用,一个哥们说”really?”呵呵
支持!这是比较难得一见将SSD用做数据库应用的文章。
我们公司也开始部分使用了,性能是比较好的,但是寿命估计比较短,