由于需求加速增加,以及获得客户的认可,各公司的CIO们迅速认识到,闪存非常适合于数据库、数据仓库和大数据分析等性能密集型应用。
尽管业界在大谈全闪存和混合闪存阵列,然而,服务器端闪存尤其是PCIe闪存出货量已经开始起飞。Gartner Group预计,服务器端闪存的出货量在2015年将超过100万片。[1]此外,随着PCIe闪存的价格逐渐降至接近1美元/GB,Gartner预计到2018年,所有出货至数据中心的SSD中,有接近一半都将是PCIe闪存。[2]
在初期,只有使用横向扩展架构和NoSQL数据库的以部署超大规模应用的客户采用PCIe闪存,而目前PCIe闪存的价格和性能优势已使其成为这一类应用场景的主流存储设备。此外,在最近兴起的软件定义存储架构中,使传统企业也可以在更多的应用场景使用PCIe闪存,而在这些软件技术出现之前,往往需要使用外部延迟较高并且成本也较高的SAN架构存储解决方案。
用作SAN存储缓存
PCIe闪存最常见的用途就是在现有的SAN存储设备前端添加缓存。这种方法对于现有的SAN架构存储设备而言完全透明,同时将延迟从几毫秒降低到几十微秒,并可大幅提升现有基础设施的IOPs能力。这种使用案例被广泛部署在如单一PCIe设备和缓存软件且价格不超过1万美元的Microsoft® SQL Server的数据库中。为获得相同的IOPs,传统SAN存储可能需要5倍的费用,而且绝对不可能达到同等的低延迟水平。相对而言,PCIe缓存的方式实现了惊人的性能提升。在数据库运行环境中,延迟意味着等待时间,即用户得到响应时间;延迟越长,每秒完成的交易量就越少。时间就是金钱,基于PCIe闪存的缓存软件是一种快捷而简单的解决方案。
共享式闪存访问
许多企业级数据库需要访问共享存储。一个很好的例子就是Oracle® 单实例数据库和 Oracle Real Application Clusters(RAC)。RAC使用Oracle自动存储管理(ASM)作为数据库的卷管理组件。ASM使用磁盘组来存储数据文件,并提供基于服务器的灵活镜像选项。到目前为止,Oracle ASM使用闪存的唯一途径就是使用部署在SAN阵列内部的闪存。然而,延迟和成本可能使得建立在SAN之上的Oracle数据库变得非常昂贵,特别是随着业务的发展,需要更多IOPs来保持工作负荷余量。
HGST推出的软件定义存储产品,使PCIe闪存可以直接在数据库服务器内部以ASM磁盘组的形式进行管理和访问。ASM可以根据数据存储的需求聚合尽可能多的PCIe闪存以用于存储更多的数据。由于存储直接连在服务器总线上,使用数据库全闪存层可以达到微秒级的延迟(Oracle的Calibrate_IO工具无法测量出此量级的数值)。由于ASM可以应用于所有常见的存储设备,ASM可以将数据迁移到SAN存储上的大容量存储设备中来降低价格并优化性能。闪存访问共享的另一个附加好处是提高了服务器的CPU核心使用率,从而降低Oracle许可证费用或提升现有许可证的有效价值。
集群和服务器整合
对于MySQL这样的数据库来说,传统方法是成对部署主/从服务器。主服务器属于更大集群的一部分,集群中的数据库行在多个主服务器中横向共享,以实现横向扩展。从属服务器用于分担读操作的工作负荷,并作为主服务器崩溃或数据被破坏时的故障切换节点。
PCIe闪存速度快,延迟小,使得单台设备便可以处理主服务器上读写工作量。由于数据库损坏和服务器崩溃的情况十分罕见,许多从属服务器一直空转耗电、占用空间还需要冷却。使用PCIe闪存设备和服务器端闪存集群软件可以很轻松地解决这种“服务器无序扩张”问题。
集群软件允许多个主服务器将其所有的闪存资源聚集为一个资源池,然后为每个主服务器分配池中的一个卷。单节点从属服务器或者安装少量开源软件的多功能服务器将以“监听者”的身份运行。当主服务器出现故障时,多功能服务器挂载相应的卷并继续操作,避免了停机;由于所有的主服务器都将数据同步复制到资源池中,在故障切换时将不会有丢失数据。这一点非常重要,因为原生的本地MySQL复制为异步复制,部分交易记录可能会被丢失。此项针对MySQL实际部署进行的改变简单而巧妙,能够依据集群大小的不同将服务器的数量减少至介乎38%到70%。
凝视未来;接下来是什么
在这些任务关键型企业环境中,延迟意味着等待时间,即用户等待响应时间,延迟越长每秒完成的交易量就越少。时间就是金钱,因此闪存成为一个越来越有吸引力的解决之道。这意味着效率、性能和可扩展性的标准将受到紧密的关注。企业要取得成功,则需要从自己的数据中提取出更大的价值。
硬件和软件解决方案必须帮助CIO们在性能、复杂度和成本之间取得平衡,即专注于以全SSD环境加速峰值应用,通过分层或使用缓存来利用硬盘和闪存相结合的环境从而改善滞后的性能。