剛剛看到微軟宣布推出Azure云計算平臺的Premium Storage服務的消息(參見:Azure用SSD了,就把你的高性能應用放心交給Premium Storage好了),特別強調了該服務使用了SSD,能夠帶來最高32TB存儲容量以及每個VM高達64000 IOPS的操作能力。由于此前,谷歌和AWS也將云服務使用SSD作為競爭賣點,如EC2實例將直接SSD作為存儲模型。筆者不禁有了疑問,云服務商們使用的是什么類型的SSD?使用SSD對于云服務又有著怎樣的意義?
之后筆者咨詢了以業界一位資深人士,得出了肯定的答案是,云服務商們使用的SSD都會是PCIe SSD。理由是PCIe SSD可以有效提高主機間數據保持分布式一致性。云服務商們需要打造高可用的基礎設施,如會有基于數據庫的在各地的數據中心之間實現數據庫鏡像復制,為此主機間數據保持分布式一致性要求較高,而存儲性能往往是瓶頸。
主機間數據保持分布式一致性是高可用基礎設施打造的必備條件。為達成一致性保障,需要主機間的多次交互,而每秒能達成的一致性保障數量與主機間存在的延時戚戚相關。即兩方通信的數據路徑越短,通信時延越短,主機才能獲得每秒更高數量的一致性保障。
一方面,PCIe SSD架構相比傳統SAN架構,通信路徑相對缺少了外部存儲網絡--存儲控制器--存儲驅動器--存儲介質等路徑。另外,在企業級SSD發展初期,更多的應用形式是安裝在傳統存儲系統廠商的陣列中,替代磁盤的SAS SDD;或者服務器里面使用的SATA SSD。雖說這些類SSD能夠與傳統硬盤控制器良好兼容,但目前主流接口帶寬只達到6Gb/s SAS還沒有普及,PCIe 3.0理論帶寬已經達到8GB/s。相比傳統陣列,PCIe SSD的IOPS可達千萬級別。顯然,PCIe SSD比起傳統SSD陣列或是SAS SDD盤有著更多技術優勢。
由于有了PCIe SSD架構的支撐,服務器SAN變得更加可行,基于X86服務器建立的存儲集群比起傳統陣列有著更快的相應速度、更好的可靠性、更好的擴展支持,這對于數據庫應用操作更為關鍵。