导读
一个个大型SAP HANA系统的建设,在为企业带来实实在在价值的同时,也为华为收获了丰富的SAP HANA系统建设和运维经验,使得华为成为SAP系统基础设施解决方案的最佳实践者和企业数字化转型的首选合作伙伴。
SAP公司的创始人之一Hasso Plattner是个热心追求技术进步的人。他在1998年个人出资建立了Hasso Plattner Institute(简称HPI),致力于推动软件系统工程学术研究和工业应用的进步。近20年来,HPI最大的成就即是内存数据库SAP HANA的开发和成功应用。
2009年,Hasso以HPI的名义在SIGMOD会议上发表了名为“A Common Database Approach for OLTP and OLAP Using an In-Memory Column Database”的论文,其核心内容是内存数据库、列式存储和支持OLTP/OLAP混合型应用,即SAP HANA内存数据库的理论基础。随后,Hasso博士带领HPI和SAP公司实现了上述思想,成功地在2011年逐步推出了HANA内存数据库产品,并在很短的时间内得到了市场的积极响应和认可,目前SAP公司全系列应用都支持SAP HANA。
SAP HANA优势何在?
SAP HANA的主要技术特点是:
让数据尽量靠近计算资源,数据库数据完全驻留在内存,避免频繁地从硬盘或者其他存储设备搬运数据到内存。除了持久化操作之外,CPU尽量不与存储系统交互;
列式存储,提升以即席查询、实时报表为主要内容的OLAP业务场景性能,也有利于提高压缩效率;
在内存的Delta区域使用了行式和列式混合格式存储,保证OLTP性能。
那么,SAP HANA是如何在服务器Scale-up First规则下,让数据尽量靠近计算资源,支持更高性能的数据计算处理的?
从技术上而言,计算机的冯·诺依曼结构造成了层次化的存储结构(Memory Hierarchy),基于内存的数据处理性能明显优于基于硬盘(或其他外置存储设备),这一点无人质疑。但是支持OLAP/OLTP混合应用并且确保性能,这个承诺一直受到较多的质疑。Hasso解释,在分析SAP客户的真实应用场景后发现,OLTP和OLAP两种Workload的数据读写行为差异并不大——在OLTP应用中同样是数据读取占优势,而在OLAP应用中也有相当数量的写数据操作。基于这个统计规律,Hasso认为内存数据库产品理应支持高性能的OLTP/OLAP混合应用。
▲SAP统计的OLTP和OLAP的Workload特性
SAP HANA作为内存数据库产品问世以来,由于其性能、特别是在OLAP场景下表现优异,在实际的客户应用中获得了非常好的口碑,市场占有率一直在快速增长。以华为HANA数据库一体机在某企业上线后的客户收益实测数据为例,以HANA替代原有数据库后,系统平均响应时间从800ms以上降低到370ms以下,各种典型业务的响应时间显著改善,例如该客户汇款通知短信查询操作,性能提升近100倍。诸如此类的实际案例很多,客户满意度普遍较高。
客观上讲,基于内存(Memory)的数据库相比基于存储(服务器内置硬盘或者外置存储)的数据库,性能有绝对的优势,技术上也不是同一代产品。目前Intel处理器(以Xeon E7 v4)的本地访存时延是110ns(纳秒),而从本地硬盘(SAS SSD盘)读取4KB数据的延迟是130µs(微秒)左右,内存访问的低延时性能优势非常明显。
HANA作为第一款成功的内存数据库产品,客观上也得益于近年来半导体集成电路、计算机硬件等技术和产业的进步。例如,DRAM密度的增加、内存条容量增大,以及CPU内存通道数增加,Intel在Brickland平台(Broadwell处理器)就可以实现单CPU内存容量超过1TB(SAP认证规则为Broadwell E7-8890支持每CPU 最大1TB内存)。
更好匹配SAP HANA软件特点
华为认证了全系列SAP HANA一体机方案,其中KunLun SAP HANA一体机是华为开放架构小型机,为企业数据库、决策支持和业务处理等关键工作负载设计。华为KunLun开放架构小型机支持4路、8路、16路、32路Intel CPU,能支持最大32TB超大内存,针对大型内存计算的大规模数据也能从容应对。华为KunLun开放架构小型机采用领先的架构设计,较目前的8路x86服务器性能上有大幅提升,使客户可以在单台机器中支持更大容量的内存数据库,从而极大地提升了企业的IT资源利用率,并降低了管理开销。
目前,CPU性能的提升已从单纯依赖主频提升发展到借助于多核、众核的并行技术,例如,Intel的Broadwell处理器最高支持24核48线程,华为的KunLun机型提供最高768核1536线程的计算能力。根据SAP HANA一体机让数据尽量靠近计算资源的设计初衷,KunLun开放架构小型机能较好地匹配SAP HANA软件特点,可以满足客户对于数据库性能的极致追求。
在一体机解决方案选择策略上,SAP的一贯承诺是一体机必须给客户提供最优性能。基于这一原则,SAP给客户的建议是Scale-up First,即在内存容量可以满足的情况下,优先推荐单机配置,而不是集群配置。该原则内在的含义是:集群配置无法提供最优的性能。在实际销售场景中,如果客户所需的内存无法以单机的配置方案实现(例如某客户需要100TB的内存容量,目前没有x86服务器单机可以满足这样的需求),必须部署在集群系统上,就需要借助于数据库和企业应用专家的个人经验,在集群节点上手工完成分库/分表的工作,或者采用数据库内置算法分布数据。
对SAP HANA而言,单机与集群的最大区别是单纯的内存访问变成了跨节点(跨OS)的I/O操作或者RDMA操作(目前SAP HANA还不支持基于InfiniBand或者基于RoCE的RMDA技术,但已有路标),两者的性能差异非常大。以Intel E7 v4处理器为例,本地访存时延如前所述是读取64字节需要110ns,而使用支持RDMA的InfiniBand接口技术从另一个节点的内存读取64字节的典型值是1.5µs(根据测试数据,InfiniBand QDR线速率为40Gb/s),两者的差异是15倍。如果使用10GE(线速率是10Gb/s,有效带宽大约是1GB/s以上)接口,两者的差异保守估计至少在60倍以上。
▲HANA单节点Big NUMA Server
相比Scale-out数据访问图解
所以需要尽量避免这类跨节点的数据读取,这就必须很好地完成分库/分表的工作。但是,在企业的实际应用中,跨节点的数据本质上往往存在关联性,跨节点的数据读取是不可避免的,单机和集群的巨大性能差异是普遍存在的。
目前,基于KunLun开放架构小型机的华为HANA解决方案提供最高到32路32TB的单机解决方案,提供从4路到32路的扩容能力,一次采购,平滑扩容,终生受用。对客户而言,意味着可以根据自己业务发展的实际需求,逐步扩展已部署的华为HANA一体机的内存容量和计算能力,同时始终保持单机方案的优异性能。KunLun的单机32TB内存容量已经能满足绝大部分客户诉求。对于内存容量需求超过32TB的超大型企业应用,华为目前可以提供集群解决方案,同时将尽快提供下一代更大规模、更高性能的KunLun开放架构小型机和HANA一体机解决方案。
最佳实践助力企业数字化转型
华为SAP HANA一体机解决方案已经赢得了全球众多客户的认可和信赖,在中国、欧洲、中东、美洲和非洲等区域都得到了规模应用。目前已服务于全球40多个国家、1000多个客户,例如中国石油、西班牙石油、英国Hillary、新西兰恒天然以及中国比亚迪汽车等客户。其中,西班牙石油采用了华为SAP HANA一体机支撑其企业ERP核心生产系统,华为SAP HANA一体机的高性能和高可靠性获得了客户认可,已从一期的13TB扩容到二期的30TB。
一个个大型SAP HANA系统的建设,在为企业带来实实在在价值的同时,也为华为收获了丰富的SAP HANA系统建设和运维经验,使得华为成为SAP系统基础设施解决方案的最佳实践者和企业数字化转型的首选合作伙伴。
点击了解华为服务器
领取专属 10元无门槛券
私享最新 技术干货