内存计算与后端存储

责任编辑:editor007

2017-11-03 20:19:03

摘自:TechTarget中国

摘要:内存计算技术可以规避存储系统在操作硬盘和SSD读写时产生的延迟,但同时也需要考虑对后端存储系统带来的影响。

内存计算技术可以规避存储系统在操作硬盘和SSD读写时产生的延迟,但同时也需要考虑对后端存储系统带来的影响。

内存数据库的性能远远超过使用前端缓存和基于磁盘的数据库。内存数据库免除了大多数不必要的I/O操作,包括缓存读写和仅用于更新数据库条目的其它进程。利用内存可以实现极快速的写后读校验操作。

使用内存存储还可以消除有关获取磁盘数据位置和解析目录树的全部存储层工作。内存计算技术可以使数据库提速高达100倍,从而缩短业务响应时间,减少数据库集群所需的服务器数量。

NVDIMM备援

然而,内存数据库引出了一个新问题:虽然在动态RAM(DRAM)中进行的所有操作会获得极佳的性能,但是如果服务器出现故障,DRAM将立即变为空白而且数据会全部丢失。确保部分或者全部数据库数据条目保留在持久性存储内,这是内存数据库技术的有效扩展选项,但同时也带来了对后端存储需求的变化。

早期的建议是将全部数据都保存到NVMe SSD或专用闪存卡。这些措施是将数据从DRAM移动到持久存储的最快方式。

今天,组织还应该将NVDIMM视为DRAM池的持久存储保障。NVDIMM是安装在DIMM插槽上的数TB闪存或类似的存储器。

因为安装在高速总线上并采用和内存相同的I/O方式,NVDIMM的速度极快,大约比最快的SSD还快四倍。NVDIMM与DRAM结合使用后,内存数据库可以获得连续和更大容量的内存空间,并避免分片问题。更重要的是,IT人员可以维护内存中数据的映像,或针对写入事务创建日志文件并且不影响业务运作。

然而,和通常的SSD相比,NVDIMM的容量扩展受到一定限制。这种限制对于大数据业务尤其明显,此类业务中的数据集是大量连续流或大量单纯的数据,而其中大部分数据几乎从来不被访问。在这种情况下有两种选择:IT管 理员可以使用NVMe驱动器组成网络存储,也可以使用大量较慢的SSD驱动器。后一种方式提供的性能可能只有NVMe驱动器的10%,但是便宜得多,而且并行处理程度也很高。如何选择要根据使用场景来确定。

高带宽的接口可以为内存计算提供有力的支持。管理员可以使用以太网远程直接内存访问(RDMA)来在不同的系统内存之间共享数据,并且可以将数据互通扩展到任何基于驱动器的存储设施。

基础设施的下一个形态会怎样?

内存计算基础设施正在迅速发展。最有趣的潜在变化来自NVDIMM和CPU架构。

例如,Intel产品路线图中的Optane技术具有字节级的可寻址性。这将使程序能够操作CPU寄存器到内存的指令、将单个字节写入Optane存储器。与当前的NVDIMM所使用的4KB最小I/O单位的访问方法相比,单字节方式要快得多。当前的方式是,在应用程序中创建一个数据块,然后通过存储堆栈软件,最后在单次CPU操作中最少传输4KB数据。整个过程只需要一到两个机器时钟周期。

实现字节级别的可寻址性需要修改系统中的每一段代码。但是,比起将其应用于传统的大型应用程序,将这个思路应用于数据库引擎要容易很多,预计数据库领域将会首先见到成效。理论上,该概念可以扩展到集群,使用RDMA技术来互联NVMe Optane驱动器。

在大数据环境中,网络带宽和本地存储可能成为系统能力发挥的关键瓶颈。解决办法是对数据进行压缩。压缩比取决于数据内容,典型情况下会有5倍的数据缩减。在CPU方面,服务器内的扁平化布局拓扑结构非常引人注目,其中内存,GPU,CPU和驱动器都共享相同的超快速架构,而且可以耦合到群集架构。

另一个新的CPU研发方向是,让CPU和内存更近距离耦合,从而提升DRAM容量和性能。有多家初创公司都选择了混合内存立方体的思路。

这些公司的目标是实现每秒千兆字节的内存速度、降低内存能耗,以及使用融合DRAM、闪存和CPU模块的架构,所有这些措施都可以显著加速内存计算性能。 这些先进的创新公司们在不断发展的过程中可能会选择不同的技术路线,但都致力于实现性能的巨大提升,从而在内存计算系统和相关的新一代存储领域开辟更大空间。

链接已复制,快去分享吧

企业网版权所有©2010-2025 京ICP备09108050号-6京公网安备 11010502049343号