SPC-1:闪存 vs.磁盘新旧势力的战场
比特网黄亮 发表于:12年01月30日 17:11 [转载] 比特网
在不久前的《2011存储Benchmark盘点,意义何在?》一文中,我们总结并分析了2011年公布的用于评估网络文件系统IOPS性能的SPECsfs2008测试结果,并在结尾处写下了这样的观点:
“对于NAS存储设备而言,相对于块存储阵列增加了维护文件系统的开销,因此主要针对的是非结构化数据用途。通常很少有人将Oracle数据库等典型的OLTP交易型应用放在NAS上... 总之,恐怕有相当部分的企业级NAS(甚至集群NAS)用户不在乎IOPS...”
然而,在衡量SAN、DAS这些块存储设备时,除了高性能计算、视频采集/编辑等少部分应用比较在意带宽(MB/s)之外,绝大多数的企业数据中心环境里更看中的是随机访问IOPS性能。比如Oracle、DB2、SQL Server这些传统关系型数据库,Exchange Server、Lotus邮件服务器存储等。
在机械硬盘时代,存储的底层IOPS性能主要由HDD的平均访问时间(平均寻道+平均等待时间)来决定,不同转速(7,200/10,000/15,000rpm)硬盘的平均访问时间基本上保持在一定的范围内。这就导致为了提高企业级磁盘阵列的IOPS,主要依靠增加RAID/存储池中的HDD数量,通过将应用程序的数据请求转换为并发访问来提高性能,无论它们是否需要相应的容量。时至今日,看一款外部存储系统定位高低,支持的驱动器数量仍然是重要因素。还有些用户通过短击(short-stroking)——即限制访问硬盘靠近最外圈的磁道,减少寻道时间来增加IOPS,但如此则可能进一步造成容量的浪费。
面对上述问题,以闪存为存储介质的SSD(固态驱动器)可以说带来了一场革命。由于没有了HDD上读写磁头那样的活动机械部件,单个SSD就能够提供几千乃至数万的IOPS,轻易可达传统硬盘的10~100倍以上。而高写入耐久度的SLC、eMLC(企业级MLC)闪存的主要市场就是企业级存储。
在闪存驱动器普及的过程中,尽管越来越多的存储系统开始支持SSD,不过相当部分采用传统设计的磁盘阵列无法充分发挥出固态存储高IOPS性能和低延时特点。于是出现了两个新兴市场:安装在服务器中的PCIe闪存卡和全闪存阵列,前者的代表产品如Fusion-io,后者包括TMS(Texas Memory Systems)、Violin Memory,还有众多初创厂商想在其中分得一杯羹。当然,现在它们可能还面临着共享访问、高可用、可扩展性等方面的问题,另外闪存的单位容量价格还远高于硬盘,一定程度上限制了其发展。
面对SSD带来的威胁,传统企业存储厂商的产品也在积极地通过固态存储来提高效率。除了以EMC FAST、戴尔Compellent流动数据架构为代表的自动分层存储技术之外,各种各样以内存、闪存作为高速缓存的性能优化方式也层出不穷。比如NetApp阵列中将PCIe闪存卡用于读缓存的Flash Cache、Oracle Sun ZFS存储设备支持的SSD读/写缓存,还有EMC很快要推出的Project Lightning服务器高速缓存、IBM XIV Gen3中即将加入的分布式SSD缓存支持等。未来鹿死谁手,我们还很难说...