时间就是金钱 闪存重新定义实时分析速度
比特网/huanghui 发表于:14年08月29日 16:56 [综述] 存储在线
如果打开一个网页用了3秒钟,您可能觉得体验非常好,但是如果这一时间变为3分钟呢?恐怕鲜有人会有心情去看一个3分钟之前要打开的页面。对于一个企业来说也是一样,如果自己的系统能够实时的响应自己所有请求,那么无疑这个企业能有更多的时间专注于业务上的创新,领先一步可能意味着占尽先机。再进一步说到数据中心,高性能应该是服务器、网络和存储一直以来追求的重点。本篇文章所谈的是闪存,因为闪存的出现使得数据中心存储的性能提高了数个数量级,自此实时分析速度也得到了重新定义。
在传统数据中心中很多组件速度的提升都是成倍增长的,而且有明确的升级周期。据悉,在过去十年中,CPU性能增长了8~10倍;内存性能增长了7~9倍;网络速度增长了100倍;总线性能增长了20倍。但是磁盘阵列的主体磁盘呢?在过去十年中磁盘性能增长了1.2倍,当下最快的15k转速的磁盘在实际应用中IOPS性能也不会超过1000(而且这一转速已经很难再提升了),磁盘的性能提升的瓶颈在于其通过磁头寻道来进行读写操作的原理,要打破这个僵局,最好的办法是开发新的介质,这里新的介质就是闪存。
闪存通过对NAND充放电来记录0和1,没有寻道意味着性能可以提升一个或者几个数量级,事实也是如此。当下主流的SAS/SATA SSD的IOPS都可以做到接近1万(这一数值比很多入门级磁盘阵列还要高)的水平,而主流的PCIe闪存卡则更是超过了20万IOPS。这样一来,传统存储系统需要靠几十甚至数百块磁盘并发才能实现的性能如今可能靠一张插在服务器中的PCIe闪存卡就可以实现。
以上谈到了单个SSD或者PCIe闪存卡的性能,如果谈到存储阵列层面,全闪存阵列无疑是当下存储设备中性能最高的产品,IBM FlashSystem的最新版本V840(基本配置)的4K随机读(不使用缓存)的IOPS可以达到30万,同时响应延迟在200微秒以内,而设备的带宽可以达到4.8GB/s。
当性能提升至少两个数量级之后,对于企业来讲意味着什么呢?碧桂园地产在Flash/SVC上部署了自己的ERP系统之后,银行现金勾兑时间缩短为原来的十分之一,查询性能提高了10倍。依照碧桂园的业务规模,传统的存储阵列要实现性能提高十倍,恐怕要组织数千块盘进行并发才可以。更多的行业实践效果如下图所示:
我们可以清晰的看到闪存给客户带来的价值,对于电信、证券、石油、中小企业和地产这些企业,闪存可能带来的是TCO降低为原来的一半或者更少,性能提高为原来的数十甚至更高的倍数。乍一看这些数据很惊人,但是考虑到闪存的优势就非常容易理解,SSD本身的性能就已经是硬盘的数十到百倍,在CPU和内存等组件没有遇到瓶颈的情况下,性能提高到原来的几十倍是非常正常的。
本篇文章所提到的是闪存对实时分析速度的再造,这是因为实时分析的重点在于实时两个字,其对系统中每个环节的性能要求都非常高,应用特点是短时间内大量的并发IO以及要求非常短的延迟(实时意味着0延迟,虽然这不可能达到)。闪存只有在这样一种场景下才能尽显其优势,而且只有在这种情况下才能有再造速度的必要.
对于FlashSystem为代表的全闪存阵列再造实时分析速度的观点,笔者认为应该从三个方面来阐述.首先是闪存突破了硬盘留下的瓶颈,补齐了存储这块短板,才会造成应用闪存后系统性能提升几十倍。传统数据中心硬件架构中最大的瓶颈在于硬盘,闪存的出现补齐了硬盘给数据中心性能造成的短板,这才有可能使得闪存运用到数据中心中会造成速度提高到原来的几个数量级,如果原来硬盘造成的瓶颈问题不是很大,那么也不会有闪存再造实时分析速度这样的观念了。
第二, 全闪存阵列再造实时分析速度的前提是自身的再造。SATA/SAS接口的SSD可以很大程度上提升企业系统的性能,但是说是再造未免牵强,因为SATA/SAS接口的SSD在接口上存在瓶颈。所以包括IBM FlashSystem以及众多的PCIe闪存卡厂商都没有选择SATA/SAS接口的SSD。
这仅是从硬盘来讲,不仅是介质层面,从更高的阵列层面来讲,源自TMS的FlashSystem并没有磁盘阵列的基因,所以自一开始FlashSystem所做的就是打造新的存储解决方案,这点很重要,因为全闪存阵列的使命是将企业系统处理速度提升至传统系统的几十至上百倍,那么如果拿磁盘阵列做优化,那么难免受磁盘阵列设计思路的禁锢。
以提升阵列性能来讲,传统磁盘阵列就是靠增加硬盘数量来提高性能,优化队列深度等问题则放在了次要的地位,全闪存阵列则不一样,由于延迟特别小,所以多盘并发并不是提升性能的唯一方法,优化读写路径、减少写放大或许更为重要。需要从再造存储架构开始。
第三,再造实时分析速度需要靠全闪存阵列。如果单是追求速度,那么PCIe闪存卡或许更有优势,一张主流的PCIe闪存卡可以做到20万 IOPS,虽然不比全闪存阵列的性能高,但是用来做加速肯定是一个不错的选择。我们并不能否认PCIe闪存卡的加速能力,其在很多数据中扮演着加速卡的角色,其应用非常广泛。PCIe闪存卡当下只是加速卡而不是存储是因为PCIe闪存卡多是装于服务器中,不同服务器中的闪存资源共享和数据交换需要通过上层软件来实现,或许将来随着PCIe交换技术的发展,或许PCIe闪存卡会成为主存储中的一大介质,但是现在只能是加速,如果说主存储,只能是 FlashSystem这样的全闪存阵列。
分析了PCIe闪存卡与全闪存阵列之间的区别之后,笔者认为靠主存储来再造实时分析速度就需要靠全闪存阵列。FlashSystem为代表的全闪存阵列是一个完整的存储解决方案,这么说除了提升性能,作为主存储还有非常多的问题需要考虑,比如说可靠性,在上文中提到的几个行业实践中,如果性能的提升和TCO的下降不是以高可靠和高可用为基础,恐怕这里列举的行业用户都不会使用全闪存阵列了。
另一方面,全闪存阵列需要与数据中心其他组件或者应用进行很好的结合,FlashSystem的V840与SVC的存储虚拟化的结合便是IBM对于下一代主存储解决方案的一个重要考量。这就使得全闪存阵列能更好的支持上层应用。即是说如果全闪存阵列在实现了传统存储所具备的所有功能之后,将系统的性能提高了数十倍,那么这就是一次成功的再造过程。
如文章开头举得例子,打开一个网页的时间为3分钟和3秒的不同在于,用户是否会获取这个页面的信息,我想这里的3分钟就意味着价值为0。全闪存再造实时分析速度的意义也在于此,试想以往的一个季度工作可能在一天之内完成,这对企业运营的推动作用是不言而喻的。