什么是非易失性内存(NVM)
我们在学校学习计算机基础时,教材上会写着一个基础知识:硬盘上的数据在计算机关机后还可以保存,而内存里的数据在断电后就丢失了—这就是易失的含义。近几年,出现了一种新型的内存技术—非易失性内存。
非易失性内存(non-volatilememory,简称NVM)结合了传统的动态随机内存(DRAM)和闪存存储(NAND)的特性。由于这项技术还在起步期,所以命名上有些混乱:如非易失性随机存储器(non-volatile RAM,简称NVRAM),持久性内存(persistentmemory,简称PMEM)或存储级内存(storage class memory,简称SCM)。
但无论非易失性内存被叫做什么,都是指的与DRAM相反,在掉电后不丢失数据,读写性能相近,价格略低的新型存储技术。这种技术有两种不同的使用方式,一种方式是连接PCI-E或SATA作为外存使用,也就是固态磁盘,此时的NVM相当于更快的闪存盘。另一种方式是,与传统DRAM混合,或完全替代DRAM插在内存槽位,作为计算机的内存使用。
非易失性内存有STT-RAM、PCM、RRAM等基于不同原理的技术方向。这些方案在访问延迟、密度等关键性能指标上各有优劣,其中3D XPoint内存技术是目前比较成熟的方案,并且已经实现了产品的商业化。
3D XPoint™ Optane(傲腾)是由英特尔和美光开发的一种非易失性内存。由于具备以下四点优势,3DXpoint被看做是存储产业的一个颠覆者:
英特尔认为,这样的性能可以让用户根据不同的需求来选择新的存储系统组合,如可以组成DRAM / 3DXPoint / NAND的三级存储方案,或者是3DXPoint代替DRAM和NAND,亦或是DRAM / 3D XPoint的两级方案,甚至也可以是3DXPoint / NAND方案。
SAP HANA如何使用NVM
2017年在奥兰多举行的SAP Sapphire NOW大会上,英特尔首次现场展示了其 DIMM 外形的NVM解决方案,并和SAP联合宣布将创新的3D XPoint内存技术整合到SAP HANA中,使得SAP HANA成为业界首批使用这种新式内存的企业级产品。
在去年发布的HANA2 SPS03版本中,HANA已经在软件层面提供了对NVM的支持。SAP HANA使用NVM内存最重要的原因是,它可以像DRAM一样进行字节寻址,并且可以被CPU视为RAM,从而提供快速的读写性能。它的时延特点也非常接近DRAM。具体来看,NVM作为计算机内存的一部分,专用于存放列存储表的主数据段(Main data),通常这部分存储占全表90-95%的数据。同时,表的DELTA数据段(Delta data)会继续存储在DRAM内存中(用于尽可能快的读写相对少量的数据)。而对于行存储表和用于计算的内存,仍然会使用传统的DRAM内存。同时,在HANA架构中依然有数据持久层,数据仍会被写入磁盘(可能是SSD或传统磁盘)上。
使用NVM的HANA架构
NVM特性既可以对整个HANA数据库生效,也可以选择性的对一些数据对象启用,例如可以指定某些表、表分区,或表的特定列启用持久内存,以便满足特定的数据规划需求。
对于一些写操作密集的场景,如高并发、大压力的OLTP应用,之前可能会被认为并不适合HANA。但在现在我们可以尝试配置NVM固态硬盘以提升日志卷的IOPS性能,以避免出现日志卷的写入性能瓶颈。
什么时候可以在HANA上使用NVM
由于HANA一体机的特点,使用最新的NVM内存需要的是整个软硬件业界的共同努力。目前SAP HANA数据库(HANA2 SPS03)已经实现了对NVM的支持,SUSE LinuxEnterprise Server(SLES)的新版本(SLES 12 SP4, SLES 15)也已经在操作系统层面提供了对NVM的支持。
但是,目前英特尔至强处理器只支持将3D XPoint作为磁盘方式使用。而支持3DXPoint内存方式,也就是3D XPoint DIMM的新至强处理器(CascadeLake)的服务器将会在不久之后大量上市。所以我们暂时还没有在HANA服务器中见到使用新一代的内存技术的产品。好消息是,SAP、英特尔及各家HANA的硬件合作伙伴已经开始测试使用这一最新内存技术的产品,NVMDIMM在HANA服务器上的出现并不遥远。
NVM为HANA带来的优势
随着人工智能、5G、自动驾驶和虚拟现实的发展,企业生成的数据越来越多,在HANA中需要承载的数据规模也越来越大。在系统重启后,保存在NVM内存中的主数据段仍在内存中,无需重新从磁盘加载,这极大加快了HANA的启动时间,并且降低计划内与计划外系统停机时间。对于已经拥有大数据量的HANA用户来说,原先重启之后需要等待的漫长数据加载时间,现在可以极大的缩短了。
由于技术的不同,单条NVM内存的容量会比传统DRAM大很多。因此,对于有海量数据存储要求的用户,将数据存储在内存中的可能性也相应变大,也就会有更多的用户能享受到HANA内存计算技术带来的性能提升。并且,同样大小的NVM成本比DRAM有显著的降低,还能够节省用户硬件投资的TCO。
随着非易失性内存相关的软硬件技术的快速演进和成熟,在今后的计算机架构中,磁盘的作用和价值会越来越小,甚至被完全取代。完全基于内存寻址设计、优化的HANA会逐步显示出更强大的活力,发挥全内存计算的优势,成为一种全场景的通用数据平台。
作者:毛铭琪 SAP资深售前架构师
全部0条评论
快来发表一下你的评论吧 !