刚刚看到微软宣布推出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服务器建立的存储集群比起传统阵列有着更快的相应速度、更好的可靠性、更好的扩展支持,这对于数据库应用操作更为关键。