固态存储的潜力 数字看SSD与HDD之争

固态存储已经给数据存储环境带来了许多改变,同时也打乱了我们已经实现了的存储运营的方法。固态已经重新唤醒了业界对于自动分层、缓存应用程序和数据压缩的兴趣,同时还能提供高性能持久的存储系统。

固态存储不仅仅改变着存储工业,这种技术正在影响着整个计算机领域。我们已经看到闪存已经完全改变了消费电子领域,在几乎每一个类别的消费电子设备取代旋转磁盘驱动器。

这种热情同样正在向数据中心延伸。数据库管理员、系统管理员和应用系统的所有者已经开始意识到固态存储和它所带来的好处。他们看到了固态存储在性能和能耗方面的优势,但在支持企业级应用的耐久性上仍抱有疑虑。然而,存储工业正在提出新的闪存控制器,这种控制器能够提升廉价闪存介质的使用寿命和性能,以便在企业级应用环境中替代昂贵的企业级闪存介质。

SSD的最佳应用方式

固态硬盘(SSD)提供了一种替代传统硬盘(HDD)的可行的、更快的解决方案。选择合适存储的第一步,就是要明确应用程序的存储性能需求。这个需求将会决定是固态存储还是传统的硬盘存储是更加适合、更加的划算的解决方案。

我们从相对简单的例子入手,逐步延伸到复杂的情况。SSD已经涉足的一块领域是数据中心的笔记本电脑。笔记本电脑的 SSD可以提供快速的启动和全面的性能,并且能够显著增加电池待机时间,因为内置的SSD所消耗的电能非常小。一些应用程序,像字处理、大图像文档、宏表格、数据库以及视频等,在使用了SSD的情况下,其响应速度非常快。笔记本之间的文件复制速度也非常快。所以,使用固态硬盘的效果不仅仅体现在应用程序的性能提升上。

用在台式PC机上也可以获得同样的好处。例如,使用固态存储启动计算机,是一种相当容易且廉价的提升性能的方式。在台式计算机上用SSD作为启动盘,通过I/O的加速,可以扩展一台旧机器的使用寿命。这对旧的笔记本电脑也适用,只要你有合适的SSD接口。

加速数据库的操作

任何需要提升性能或降低存储访问延时的应用程序,都是一个使用固态存储技术的好场合。例如,许多数据库操作事实上都是一组由许多小的请求组成的组 合,像表扫描和查询操作,这些请求会按顺序执行,一个请求的输出结果是另一个请求的输入。最终结果会在所有的请求都完成后返回给应用程序。在这种情况下, 固态存储的使用会显著减少延时(更快的周转),给应用程序带来巨大的不同的整体性能和用户感受。

最好的企业级硬盘驱动器对于每个请求的平均寻道时间约为2毫秒,而且由于数据保护的原因,并不是每个存储系统都会使用高速缓存的。所以,即使可以获 得和硬盘驱动器相同的性能,使用SSD会提供更好的整体延时,因为它们根本没有寻道时间。设想在运行大批量数据库交易的情况下,每个I/O都遇到企业级硬 盘的寻道延迟;再想象一下,同样大批量复杂的数据库操作,没有寻道延迟,更快的存储设备,你会发现这就是为什么SSD在用于数据库应用时是如此之好。

SSD分层

由固体存储技术获得的性能,并不局限于数据库应用。这就是为什么我们看到了缓存和分层解决方案需求的增加。大多数服务器—— 无论是单独的还是集群的——都因为有大量的应用作业而压力很大,每台服务器都有不同的繁忙时间和空闲时间。如果你把所有数据都放在固态存储上,那你就不需 要考虑缓存和分层技术了;但如果你的数据中心,就像大多数数据中心一样,大部分当前应用的数据都保存在传统的旋转硬盘驱动器上,就应该考虑这种技术。

利用SSD分层技术,用户可以决定什么时候什么数据放置在固态硬盘上。分层可以手工执行,也可以借助主机或存储控制器上的自动分层软件执行。分层技 术会在合适的时间把特定的热点数据迁移到SSD层,同时,在合适的时间再把它们迁移回低速的磁盘层。如果分层是手工执行的,那么管理员必须不停地观察 I/O活动,以决定何时迁移哪几个文件或数据。你不得不人工跟踪你系统中每个文件的访问频率,从而根据这些访问确定何时把这些数据迁入迁出SSD层。对于 各种不同规模的系统,手工执行几乎是不可能完成的任务,这就需要自动分层软件了。利用自动分层软件,文件和数据的访问情况会被自动地跟踪,数据迁移按照用 户定义的策略,在预定的时间执行。分层技术的采用,使那些数据已经迁移到较快层级的应用受益,且性能的提升是立即而显著的。如果你有多个应用,需要提升性 能,而却无法抉择(或者没有时间去检验,哪些应用需要提升性能),自动分层解决方案是一个好的选择。如果你只有一个应用希望从分层技术中受益,你就不需要 自动分层软件了。而大部分拥有几十、上百甚至是上千应用系统的数据中心都可利用这种技术获得更高的性能。

固态缓存技术

另外一种技术叫做SSD缓存技术。数据缓存到SSD中是由主机软件或存储控制器决定的,这种技术会把数据复制一份到SSD缓存中,无需从用户和应用 软件所确定的原始位置迁移数据。缓存技术非常容易管理,因为所有的决定都是由缓存软件或控制器做出的。缓存技术把热点数据调入缓存进行访问以加速应用程序 的访问,性能随着更多的数据进入缓存而逐渐得以提升。我们把这种逐步的性能提升叫做“热身”或者“爬升”,其发生会持续几分钟或数小时,这依赖于设备和 I/O 操作的数量。根据设备的不同,缓存的数据可以使只读的或读写均可的。SSD缓存技术沿用了很多与内存缓存技术,甚至是处理器内部缓存技术相同的缓存算法。 某些SSD缓存解决方案不仅仅缓存那些明显的热点数据,而且还会预先获取其临近数据,缓存软件认为按照其I/O模式,这部分数据也会变成热点。大部分缓存 解决方案让管理员决定哪些文件或卷能够进入缓存使性能提升,所以你可以排除某些特定的数据以防止其阻塞缓存。如果你认为大部分或者所有的应用程序都能得到 性能的提升,你就应该考虑使用SSD缓存技术了。

利用分层和缓存技术,SSD能够使更多容量得到性能的提升。对于这两种方案,你必须计算出需要多少的SSD容量。在多数情况下,认为只需要总磁盘存储空间的3%或至多10%的SSD容量既可获得性能的显著提升。

SSD的数据压缩

压缩技术是另外一个因为固态存储技术获得新面貌的话题。因为SSD技术通常比传统硬盘技术更加昂贵,在只关注每GB的价格的情况下,提升SSD技术 所带来的效益的一种方式就是在把数据存放到SSD之前进行数据压缩,因此而消耗更少的SSD宝贵的空间资源。目前,随着处理器性能的提升,花费一些额外的 CPU处理能力进行数据压缩,然后再存储在较快速的存储设备,从而使得整个性能的提升。这就需要考虑压缩是发生在主机上还是发生在存储系统上。某些存储已 经能够进行压缩了,数据在进入存储系统的时候立刻进行压缩处理,所有的缓存、SSD或磁盘设备只能看到压缩后的数据,这样就可以占用更少的容量了。

另外一个解决方案,上面已经提及,就是全闪存阵列。这将变得更加普遍,大的存储厂商去年开始跟进由一些初创公司所引导的趋势。我们完全可以期望看到 从大的存储厂商在今年发布其闪存阵列。很可能在不久的将来,全闪存阵列会具有现在硬盘驱动器系统相同的先进功能,包括像自动精简配置,重复数据删除和更多 的东西。

相关链接一:通过数字看SSD与HDD之争

固态硬盘(SSD)有一些非常重要的指标需要考虑,或许其中一些指标你以前从没有考虑过。我们都知道每GB容量的价格,也许可以让报价SSD和硬盘 驱动器(HDD)的数量变得相当容易。还有两个指标也同样重要,就是每个IOPS的价格和每瓦特的IOPS。对于存储设备,从所有形式的因素来看,这些指 标在SSD和HDD之间有一个相当大的差异。下表中的数字显示了一个范围,不同的设备之间可能会有差异。因为价格的波动,价格数据仅供参考。

挖掘固态存储的潜力 数字看SSD与HDD之争

注意:SSD硬盘每GB价格很贵,但每IOPS的价格很低,而传统硬盘却与之相反。