SAPHANA是第一个针对Intel®Optane™Persistent Memory(PMEM)进行优化的数据库平台,充分利用了Intel PMEM持久性特点和高性价比优势,在大大增加计算内存的同时降低了客户的总成本。
SAP HANA从2.00.035版本之后开始支持Intel持久内存,它所使用的是Intel PMEM的App Direct模式,同时它在内存架构做了优化调整,将低延迟、频繁访问或“热”的信息(行存储数据,列存储数据的增量部分以及所谓的“工作区”)保留在DRAM中,Main主存区的列存储数据则存放在持久内存上。当可用的永久内存用完或达到分配限制时,数据将自动移至DRAM,并且不会发生错误。换句话说,SAP HANA会自动检测持久内存硬件,并通过自动将这些数据结构放置在持久内存上进行自我调整,而其他所有数据结构则保留在DRAM中。此外,在系统重启时保留在持久内存上的数据库无需重新加载。在持久层方面无变化,DRAM和PMEM上的数据与之前版本一样都会通过savepoint机制刷新写入到持久存储层中。
SAP HANA PMEM AD模式架构
在大多数SAP HANA数据库中,Main内存通常包含90%以上的数据资源,在增量合并期间也很少重建它,仅在达到数据库表更改的特定阈值后才触发,对于大多数表,增量合并每天最多不会发生一次。delta增量写优化和Main存储读优化的分离,与DRAM和PMEM各自优势进行了完美匹配,这种对Intel PMEM的使用设计非常适合SAP HANA的体系结构。
针对SAP HANA这一新架构特性,基于全新一代英特尔®至强®可扩展处理器设计了一款2U4路机架服务器NF8260M5服务器对其进行了适配和优化,经过Intel解决方案专家团队验证,共同推出了基于浪潮NF8260M5服务器的SAPHANAIntel Select精选解决方案。
那么搭配Intel PMEM的浪潮SAPHANANF8260M5服务器性能如何呢?
为了验证该方案性能,我们分别测试基于PMEM/ DRAM 内存两种配置下的性能对比, 测试方法为采用TPC-H模型对比查询性能,同时采用JoinSelect这种复杂查询进行延迟对比测试。
TPC-H是事务处理性能委员会(Transaction Processing Performance Council)制定的基准程序之一,TPC-H主要目的是评价特定查询的决策支持能力,该基准模拟了决策支持系统中的数据库操作,测试数据库系统复杂查询的响应时间,以每小时执行的查询数(TPC-H QphH@Size)作为度量指标。TPC-H 是根据真实的生产运行环境来建模的,因此我们选用它来评估同容量下的DRAM配置与PMEM配置性能。
SAP HANA 测试配置
DRAM与PMEM配置性能对比测试结果
从上图中的DRAM配置和PMEM配置结果上看,采用PMEM配置的硬件性能可以达到DRAM配置的87.08%左右,而查询延迟仅增加8.8%。对于大部分客户来说,这个性能足够满足业务需求了。同时,由于傲腾内存的单位容量价格要远低于DRAM 内存,基于Intel PMEM的浪潮服务器可以大大降低了CTO。
浪潮NF8260M5服务器搭配Intel PMEM后可以将SAP HANA内存扩展到18TB,相比SAPHANAAppliance的4路单节点最大6TB内存,内存容量增加2倍,为SAP HANA应用提供了更高容量的Main内存区域,如果采用浪潮TS860M5服务器,可以将内存扩展到24TB。
SAP HANA大部分数据存放在持久内存上,在SAP HANA启动过程中,持久内存数据无需加载进而大大的加快了数据库启动速度,也增强了业务的连续性。因此,我们对NF8260M5服务器进行了数据库重启测试,其结果是6 TB内存大小的SAP HANA系统重启时间快了惊人的12.5倍,这意味着在实施维护或安全更新时可大大缩减停机时间,更少的停机时间和更短的启动时间增强了业务的连续性。
那么,根据基于Intel PMEM的SAP HANA平台特点和浪潮SAPHANAPMEM配置性能,总结有以下推荐适用场景方案。
场景方案一:基于PMEM的SCALE UP分析节点替代横向扩展集群
充分利用Intel PMEM为SAP HANA带来的内存扩展能力,将Scale out横向扩展集群简化为Scale up单节点模式,这种架构的调整也带来以下优点:
1) 节点数量的减少使整个SAP HANA系统管理起来更简单,同时降低了总成本
2) 多节点集群转化为单节点后,CPU资源利用率更高;
3) 减少了scale out集群节点之间的数据传输,使整体查询性能得到提升;
基于PMEM的SCALE UP分析节点替代横向扩展集群场景方案
场景方案二:PMEM节点作为多个SAPHANA业务系统灾备节点
通常情况下,不同的SAP HANA业务系统会使用不同的硬件设备,为数据安全考虑,会为每个业务系统部署一套灾备硬件系统,这种方式无疑增加了总成本。PMEM相比DRAM具有更高的内存容量和更低的成本,如果采用基于Intel PMEM的硬件配置有以下优点:
1) 承载多套SAP HANA业务灾备系统;
2) 大大减少了灾备节点数量;
3) 更简单的管理和更低的TCO;
PMEM节点作为多个SAP HANA业务系统灾备节点场景方案
场景方案三:PMEM节点作为SCALE OUT集群的Extension Node
随着业务规模的扩大,系统中往往存在大量访问不频繁的历史数据,导致内存总容量不足。针对种情况,SAP HANA的数据分层功能提供了一个“warm”数据选项,也即是将访问不频繁、价值低的数据存放在Extension节点上。在该场景下使用PMEM节点作为Extension节点,有以下优点:
1) 无中断地添加一个Extension节点到现有SCALE OUT集群中;
2) 充分利用PMEM大容量特点,可以存放更多的历史数据;
3) 相比使用DRAM配置作为扩展节点,每TB的数据库成本更低;
PMEM节点作为SCALE OUT集群的Extension Node场景方案
总结:在数据是以列存储为主的情况下,PMEM配置的服务器价值更为突出,可在简化基础设施的同时大大降低成本;针对大内存需求,浪潮4路NF8260M5和8路TS860M5 SAP HANA服务器将会是你最佳的选择。