過去的十年中,服務器的計算能力已經增長了將近30倍,網絡速度也增加了將近了100倍。但是與此同時,硬盤驅動器(HDD)技術在轉速和整體吞吐量方面都沒有實現顯著增長。在HDD陣列中加入固態硬盤(SSD)層就像在汽車引擎中加入渦輪增壓器。如果使用全SSD陣列會怎樣?就好像將引擎全部替換為噴氣式發動機。
通過測試IOPS值(每秒的輸入/輸出操作),我們知道可以通過增加存儲陣列容量來提升性能表現,所以在設計存儲時應該同時考慮容量和性能兩個因素。
數字對比
如果將HDD和SSD陣列進行對比,那么IOPS將是最為關鍵的測試指標。一個包含4塊400GB 15000轉的SAS硬盤可以提供大約700 IOPS(每塊硬盤175 IOPS)。如果一個應用程序需要900 IOPS,就需要向RAID組中再增加兩塊硬盤來滿足的應用程序性能需求。但是,這樣并不能同時擴展RAID組的磁盤容量,因為額外的數據很有可能需要更多的IOPS來進行讀取。
對于IOPS,400GB和600GB 15000轉的SAS硬盤可以提供同樣的IOPS。所以,400GB硬盤為0.4376 IOPS/GB,而600GB硬盤是0.2917 IOPS/GB。盡管更大容量的硬盤可以降低每GB容量的平均價格,但是它們的IOPS/GB也更低。當然,這樣分析HDD的性能表現過于簡單化了,但是復雜性在這里并不是主要因素。重要的一點是IOPS和容量有很大關系。而結果是:性能表現越高,效率就越低。
高性能存儲的費用
固態硬盤可以將存儲系統提供的性能表現提升到一個新的等級。每GB的IOPS值是IT經理們需要考慮的一個重要方面。企業級SSD可以提供大約100 IOPS/GB,也就是說比400GB HDD增長了220多倍。
阻礙SSD發展的障礙是大家潛意識中認為其會產生大量開銷。但是,盡管大容量硬盤提供的每GB容量的價格更低,它們的IOPS/GB卻低得多。SSD陣列每GB的存儲最多可能需要40美元,而企業級的串行連接SCSI(SAS)硬盤只需要每GB 5美元。SSD存儲提供每單位IOPS只需要2.5美元,而400GB HDD每美元只能提供0.15 IOPS。這意味著在同樣開銷的情況下,使用SSD陣列可以提高16倍的性能表現。
全SSD陣列每GB的開銷也許并不會那么令人吃驚;比如,Nimbus數據系統公司的全SSD價格為每GB 8至10美元。這個價格使得公司可以將其用于某些特殊的負載。
一小部分SSD就可以對陣列的IOPS產生很大影響。比如,在100 TB的陣列中增加2 TB SSD—只增加了2%—就可以提高30%的性能表現。從容量方面考慮,SSD可能是昂貴的,但是如果從性能方面考略,其可以極大地提升性價比。
最近幾年中,在企業可以承受的開銷范圍內,他們已經開始在陣列中加入SSD,以提高HDD陣列的性能表現,但是對于特定的一部分應用程序來說,SSD的價格已經下降到足以讓人們全部放棄使用HDD了。
數據庫加速是一種使用全SSD陣列的常見情況。對于那些在線傳輸處理(OLTP)應用程序來說,持續或突發的I/O需求都超過了HDD硬盤可以提供的最大值,所以全SSD陣列就具有特殊的吸引力。另外一種全SSD陣列可以提供幫助的情況是虛擬桌面基礎設施(VDI),部署少量的SSD就可以為大量設備提供穩定的速度。還有一部分負載是大規模服務器的虛擬化,位于同一個存儲的大量服務器對于數據的隨機訪問特性產生的需求可能超過了HDD緩存的極限值。全SSD存儲讓人們擺脫了訪問傳統磁盤的緩慢速度。也許對此最為感興趣的新興行業是大數據分析。SSD陣列可以提供足夠的性能表現對于非常龐大的數據進行實時數據分析。