基于英特尔® 傲腾™ 持久内存100系列的Oracle低延时交易方案实践

摘要

  英特尔® 傲腾™ 持久内存是Intel在2019年发布的一款革命性的产品,英特尔® 傲腾™ 持久内存是一种全新的内存类型,其架构设计旨在从数据中心中汲取更多价值,重构数据中心内存/存储层次结构。不同于传统的DRAM,英特尔® 傲腾™ 持久内存集大容量、经济性和持久性于一身,能够支持数据中心多个应用场景。浪潮基于英特尔® 傲腾™ 持久内存做了大量的应用场景解决方案,覆盖大数据分析、数据库、云与虚拟化、分布式存储等应用场景。为了帮助用户通过更加灵活的架构来实现创新型的应用,助力企业实现性能突破,浪潮发布了基于英特尔® 傲腾™ 持久内存技术的Oracle低延时交易应用方案。

背景介绍

  Oracle数据库系统是美国Oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前世界上使用较为广泛的数据库管理系统。Oracle数据库支持OLTP(on-line transaction processing)和OLAP(On-Line Analytical Processing)两大数据处理。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。Oracle自Oracle12C版本开始支持云计算技术,提供In-Memory,多租户等功能特性。

  众所周知,Oralce Online Redo Log是数据库为了保证已提交的事务不会丢失而建立的一种机制,Redo主要记录重构、重做数据库变更的重要信息,这些变更包括INSERT、UPDATE、DELETE、CREATE、ALTER或者DROP等。Redo的主要功能主要通过三个组件来实现:Redo Log Buffer、LGWR后台进程、Redo Log file。Redo Log Buffer位于SGA之中,是一块循环使用的内存区域,其保存数据库变更的相关信息,由于Redo Log Buffer是循环使用的,Oracle通过一个后台进程LGWR不断把Redo Log Buffer的内容写出到Redo Log File中。Oracle数据库事务在提交时并不强制写入到数据文件中,但是会首先保证写入到Redo log中,所以Oracle数据库Redo log所在存储位置磁盘性能(Throughout和Latency)会对Oralce数据库性能有较大影响。

  挑战:存储性能限制了Oracle低延时交易性能

  在OLTP的场景中,交易延时(Latency)是衡量交易系统性能的重要指标,尤其是在金融、证券、期货等行业的交易系统中,体现的尤其明显。以证券交易系统为例,证券交易系统具有交易时间相对集中、交易指令和数据密集的特点,对交易系统处理速度具有很高的要求。近年来,全球各大交易所都在不断对交易系统升级改造,其中“低延时”成为各大交易所竞争的核心,交易系统延时竞争已经进入微秒量级。目前,国内交易所交易系统延时性能与国外顶级交易系统还存在一定的差距,需要进一步加大投入进行研发、建设。在建设“低延时”交易系统过程中,也就必然少不了对交易系统“低延时”性能的测试。

解决方案介绍

  利用英特尔® 傲腾™ 技术提升Oracle低延时交易能力

  影响Oracle数据库交易延时(Latency)的主要因素是Oralce Online Redo Log,Redo Log是数据库为了保证已提交的事务不会丢失而建立的一种机制,而Redo Log的读写性能又受限于底层存储设备的性能。而上一代的NAND SSD无法满足低延时交易系统微秒级的响应需求,3D XPoint是英特尔和镁光联合发布的一款革命性存储类型,具有极低的延时、极高的性能和耐用性。

  英特尔® 傲腾™ 持久内存是使用3D XPoint的一种全新内存类型,其架构设计旨在从数据中心中汲取更多价值,重构数据中心内存/存储层次结构。不同于传统的DRAM,英特尔傲腾数据中心级持久内存集大容量、经济性和持久性于一身,能够支持数据中心多个应用场景,包括数据分析、数据库和内存数据库、人工智能、高容量虚拟机、容器,以及内容分发网络等,使之在性能、可用性上有大幅度提升。英特尔® 傲腾™ 持久内存技术从根本上改变了数据中心的弹性,将内存数据库重启时间从以前的几天、几小时缩短到现在的几分钟甚至几秒钟,并提供经济实惠的内存空间,将系统内存容量扩展到前所未有的水平。

  1

  图1

  在现有存储架构中,内存和存储介质之间存在容量、性能和时延的差距,英特尔® 傲腾™ 持久内存位于内存和存储介质之间,能填补两者间的性能和时延差距,对存储层次模型进行重新划分和定义。英特尔® 傲腾™ 持久内存读写带宽比NVME设备高数倍,并大幅降低延时问题。另外,由于写入方式不同,英特尔® 傲腾™ 持久内存也比Flash NAND更耐用,并能支持比传统DRAM更大容量的系统内存配置。与传统DRAM不同,英特尔® 傲腾™ 持久内存将提供前所未有的高容量,经济性和持久性组合。通过扩展经济实惠的系统内存容量(每个CPU Socket大于3 TB),最终客户可以使用支持这种新型内存的系统,通过在处理器附近移动和维护更大量的数据来更好地优化其工作负载,并很大限度地降低延迟从系统存储中获取数据。英特尔® 傲腾™ 持久内存将以每个模块高达512GB的容量提供。同时,英特尔® 傲腾™ 持久内存具有的非易失性这一大优势能够保证数据在掉电后或系统维护中不会丢失。

  图2

  图2

  英特尔® 傲腾™ 持久内存通过两种特殊的运行模式——App Direct模式和内存模式,展现其独特的能力。具体来看,采用App Direct模式,经过专门调试的应用程序可以从产品固有的持久性中充分获取价值,同时获得更大的容量;在内存模式下,在受支持的操作系统或虚拟环境中运行的应用程序可将该产品用于易失性存储,在无需重写软件的情况下,有效利用高达512GB的内存模块带来的附加系统容量,在大型内存池中获得新的洞察。

  在数据时代,新一代数据中心对于加快数据的流动,提高数据的存储和处理能力提出了更高的要求。在这种情况下,英特尔下一代至强可扩展CascadeLake处理器与英特尔® 傲腾™ 持久内存成了新的强强组合。这一组合将改变云、数据库、高性能计算、内存分析和内容分发网络等关键数据工作负载,成为新的动力之源。

  方案验证:英特尔® 傲腾™ 持久内存性能优势显著

  基于Oracle应用OLTP场景下,使用Intel® Optane DC Persistent Memory (AppDirect Mode)作为Oracle Redo Log存放介质(Storage over AD),利用DCPMM 低latency和高Throughout特性,能够提升Oracle在OLTP场景下事务的响应时间及性能。

  硬件配置:

  ad

  8* 960GB Intel® SSD DC S4610 (RAID5)作为数据盘,DCPMM配置中使用DCPMM(over AD)作为Oracle18C Redo Log存放盘,常规方案中使用SAS SSD作为Oracle18C Redo Log存放盘。使用磁盘测试工具测试DCPMM与SAS SSD 磁盘的Latency,使用HammerDB数据库压力工具进行TPC-C压力测试。

性能指标评测方法

  Oracle数据库性能评测使用通用测试工具HammerDB进行测试,HammerDB提供TPC-C测试模型来评估OLTP应用场景性能。磁盘Latency性能测试工具使用磁盘性能评估工具进行测试。

  Latency性能对比

  测试3

  DCPMM在Random Overwrite,Random Read,Sequential OverWrite,Sequential Read Latency均优于SAS SSD。

  TPC-C性能对比

  HHammerDB 单用户和多用户Oracle数据库性能TPM性能值比率大致如下:

  ad1

  多用户并发情况下Hammerdb TPM与系统CPU利用率监控如下:

  ad2

  在1Vuser时,使用英特尔® 傲腾™ 持久内存存放Redo Log,TPC-C性能相对于SAS SSD存放Redo Log性能提升约50%;

  在64 vuser最大性能时,使用英特尔® 傲腾™ 持久内存存放Redo Log,TPC-C性能相对于SAS SSD存放Redo Log性能提升约5%左右;

  通过TPM值监控及CPU监控,可发现使用英特尔® 傲腾™ 持久内存存放Redo Log相对于SAS SSD存放Redo Log时TPM值相对较为稳定,CPU利率用也较为稳定。

  响应时间对比

  统计DCPMM和SAS SSD作为Redo Log存放介质时,TPC-C测试模型中NewOrder事务响应时间。

  ad3

  使用DCPMM,事务响应时间明显优于使用SAS SSD。

客户收益

  效果:大幅改善 Oracle在低延时交易中的性能表现

  英特尔® 傲腾™ 持久内存作为存储使用,各项延迟指标均低于SAS SSD,英特尔® 傲腾™ 持久内存作为存储(storage over AD)存放oracle 18c redo log,Oralce数据库性能能够得到提升,减小交易响应时间,满足Oracle在低延时交易场景中苛刻的需求(延时更低、性能更高、企业级存储),支撑核心交易系统,大大降低交易延时,提高了可靠性和可用性,保证了业务持续可靠的运行。


线




×
联系我们
ERP、企业软件购买热线
400-018-7700
云服务产品销售热线
400-607-6657
集团客户投诉热线
400-691-8711
智能终端产品客服热线
400-658-6111