闪存与磁盘的胜负之战


 

近期出现了很多在未来的存储基础设施中闪存和磁盘驱动器所扮演角色的文章,显而易见,闪存将会用于基本工作负载,至于其他则仍需要对象存储和磁盘。

实际情况也是如此,就原始数据场景中的IOPS/GB而言,闪存的地位毋庸置疑,但在对存储容量有一定的需求的地方,磁盘仍有用武之地。即使你在固态存储方面有好的想法,闪存的价格一降再降,闪存与磁盘价格容量比方面的区别在未来的几年里依然巨大。

因何而异

价格容量比($/GB)一直以来都是用于计算传统阵列存储成本的参数,但加上现代数据服务和压缩技术,这些就变得模糊不清了。实际上价格容量比不同于用户对用户,它取决于你存储的数据类型,数据的可压缩性和其他与存储系统及应用的总效率相关因素。

近期闪迪发布的一个新产品——JBOF阵列系列(闪存)。它的存储密度大,价格也相当便宜(据说少于2美元每GB),但是如果你添加数据保护(一个RAID或者一个文件系统类似Ceph或者ZFS)就不同了。只想一想备份,2美元的标价瞬间就成了4美元。

现状核实

为了让大家一目了然,我们会以最简单的方式——对比一个近期HGST价格表来揭露关于$/GB和$/IOPS的真相。这些是单个磁盘的购买价格表(也就是说如果你是OEM或者购买数量多最终价格会便宜很多)。这些价格有一个来自亚马逊,是一个消费级产品。

以下是四个磁盘:

性能聚焦:

HGST Ultrastar C10K1800: 2.5” 10K RPM, 900GB SAS disk – $350

HGST S841: 2.5” MLC 15nm 800GB SAS SSD – $2,440

容量聚焦:

HGST Ultrastar He8: 3.5” 7.2K RPM 6TB SATA disk – $298

HGST Deskstar: 3.5” 5.4K RPM 4TB SATA disk – $150(亚马逊上价格)

首先,我们只对比简单的组件(原材料),还有所有阵列制程前端的操作和几个后端操作。RAID,块大小优化,压缩/再压缩,删除重复,总线或CPU限制等等,限制了主机对IOPS阵列数量的有效可见度的。

做到简单地数学题:

考虑一个50,000 IOPS 4KB随机工作负载。

显而易见,如果是通过$/IOPS和IOPS/GB对比的话,固态存储驱动器取胜简直易如反掌。但是另一方面,在SATA 驱动器的0.037-0.049价格容量比与其他驱动器拉开了很长一段距离。

输家是……

对我而言最大的输家是10K SAS磁盘。这并不是从对比中得出的结论,因为其技术在以后都没有太大提高,经过时间的洪流将逐渐淡出人们的视线。

同时,消费级SATA磁盘的价格容量比几乎比闪存好100倍,公平地说,一个消费级闪存驱动器(带SATA接口)的价格容量比仅是一个SATA硬盘的10倍,但即使其同比价格降低40%,如果不考虑我们已拥有的许多更大存储容量硬盘,也仍需要五六年的时间才会有可比性价格。

在不久的将来我们会看到更多(PB级别)存储系统使用消费级,低成本SATA驱动器,并与现代数据保护技术如分布式Erasure Coding相结合。这有助于减小多磁盘故障,加速重建时间,HDS,和它的HCP S10已经开始着手。

圆满完结

闪存胜在IOPS,硬盘胜在容量,短时间内这是不会改变的。

全闪存系统因为其能不计成本进行删除重复和压缩所以比较划算。他们的可预见性很高,而且对高标准的基本工作负载帮助很大。

同时,当IOPS要求不是很高的时候,混合系统比全闪存要好。在这种情况下,将IOPS/GB代入上述图表是一个非常重要的度量标准。如果你想在IOPS和容量之间建立一个平衡系统,你还是需要闪存和SATA磁盘。这就是众多SMB客户始终在走混合路线的原因,众多公司中Tegile和Nimble已经做得相当不错了。

最后一个要点是,高存储系统在很长一段时间仍会继续接近全磁盘发展,这里说“接近”是因为现今大多数对象存储系统把RAM用于元数据和缓存。未来,它会比在一些小的SSD上存储信息更便宜。