SAP HANA如何使用非易失性内存

描述

什么是非易失性内存(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被看做是存储产业的一个颠覆者:

 

  •   比NAND闪存快1000倍;
  •   成本只有DRAM内存的一半;
  •   使用寿命是NAND的1000倍;
  •   密度是传统存储的10倍;

 

英特尔认为,这样的性能可以让用户根据不同的需求来选择新的存储系统组合,如可以组成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资深售前架构师

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分