测给你看:什么样的存储引擎 让Oracle数据库性能100%增长?

[摘要]数据正进一步凸显其价值,越来越多企业开始意识到数据对业务的强大驱动力,希望收集更多数据并利用新的数据分析技术释放其中的价值
数据正进一步凸显其价值,越来越多企业开始意识到数据对业务的强大驱动力,希望收集更多数据并利用新的数据分析技术释放其中的价值,这需要企业IT提供更好的支撑,但传统基于IOE(即以IBM小机、Oracle数据库和EMC存储为代表的关键业务系统架构)方式构建的企业数据中心已经很难适应数字化时代对IT的要求。

于是,在2011年前后,业界掀起“去IOE”风暴:用开放标准的x86硬件和开源软件去替代传统封闭的IT软硬件。从过去几年的实践来看, Oracle数据库目前仍是企业用户的首选,但承载Oracle等关键业务数据库的基石已经逐渐被x86和基于闪存的新一代存储所替代。

1: 去I、E背后:x86与闪存的力量

经过十几年的发展,x86平台的计算性能和RAS特性(Reliability, Availability and Serviceability,可靠性、可用性与可维护性)都获得极高的成就,已经不弱于甚至超过了以IBM Power为代表的小机。而经过最近几年的实践,x86平台已经逐步取代了传统小机。

E也正在被基于x86+全闪存配置的Server SAN所替代。在SATA/SAS SSD盛行的时代,与高端SAN相比,Server SAN可能性能还有不足之处。但随着NVMe SSD和支持RDMA技术的25GbE技术的普及,Server SAN全面替代传统SAN存储已经成为可能。

NVMe SSD的普及能够给创新型SDS方案提供商带来弯道超车的机会,由于传统SAN的可靠性设计需要双端口存储介质来实现,尽管NVMe SSD也支持双端口配置,但这意味着牺牲性能。而采用分布式架构、利用多副本数据保护机制的Server SAN则无此烦恼,也就是说利用NVMe SSD,Server SAN的性能将有可能超越传统SAN存储。

同时,传统SAN所擅长的纵向扩展(Scale up)方式在NVMe SSD时代几乎很难派上用场(只能提升容量),而其多个控制器之间需要专用物理通路的设计,意味着横向扩展(Scale out)能力有限,这也是为何大多数高端存储控制器通常最大支持8个的原因之一。

“去IOE”中的核心是“O”,但Oracle去I、E的尝试比所谓的“去IOE”更早。Oracle在2008年推出了基于x86服务器的数据库一体机Exadata,并从第二代开始采用服务器内置的PCIe SSD替代SAN存储。在NVMe规范成熟之后,Oracle Exadata率先更新为NVMe SSD。

Oracle Exadata X7-2硬件配置,最小2数据库服务器+3存储服务器配置,存储服务器均支持混合及全闪两种配置,数据库服务器支持最新的25GbE,存储网络依旧使用InfiniBand。

Oracle Exadata使用InfiniBand的主要原因在于其RDMA技术能够带来极低的延迟,有助于发挥NVMe SSD的优势。最新一代的25Gb/s以太网技术也将RDMA(即RoCE或iWARP)作为标配,这将极大地提升Server SAN的性能。并且,在25GbE性能不满足需求的情况下,其也可以很便捷地升级到100Gb/s以太网。

8K尺寸数据块是数据库类应用最常见的块大小,在使用支持RDMA技术的100GbE网络下,相比于10GbE iSCSI,其有20倍的性能提升。

青云QingCloud的分布式块存储NeonSAN正是利用NVMe SSD+25GbE的组合,提供了极高的性能,并有效控制I/O延迟,这在上一篇文章中已经介绍过,在本文中,E企研究院将构建贴近真实的数据库环境,以此评估NeonSAN在关键应用环境中的性能表现。

2:支撑关键应用 性能线性增长

E企研究院根据企业关键应用的特点,使用x86服务器、Intel NVMe SSD和25GbE构建了Oracle RAC数据库环境,用以评估青云NeonSAN在OLTP中的性能表现。

E企研究院评估青云QingStor NeonSAN性能所构建的Oracle RAC架构及组件

在此测试环境中,E企研究院使用2台配备两颗Intel Xeon E5-2698 v4处理器的双路服务器构建2节点的Oracle RAC数据库应用环境,并安装Oracle 12c数据库软件(包括Grid和Database)。

使用三台配备两颗Intel Xeon SP Gold 6140处理器的双路服务器作为NeonSAN存储节点,每节点上使用4片8TB容量的Intel DC P4510 SSD作为数据存储。Intel DC P4510 SSD是Intel最新发布的采用3D NAND技术的SSD和新一代的闪存控制器的SSD家族,其最大容量可到8TB,结合企业数据中心优化的固件,能够给企业关键应用存储带来极高的性能和稳定性。

3:基准性能测试:摸底NeonSAN

在进行正式测试之前,E企研究院先对QingStor NeonSAN的基准性能进行测试,以检验其是否正确安装,获得的测试结果也为后续Oracle RAC数据库性能测试提供参考。

基准性能测试采用4K和8K两种尺寸的数据块进行随机读写测试,4K的随机读写性能是业界用于评估存储性能的事实标准之一,8K则是数据库类应用的常见数据块大小。同时,分布式应用已经成为企业IT的主流架构,E企研究院也考量了NeonSAN在分布式环境下的性能表现,如下图所示:

QingStor NeonSAN在分布式环境下,4K、8K随机读写IOPS与平均响应时间(Latency,ms)对比。

QingStor NeonSAN的4K、8K随机读写性能。从测试结果来看,在单台客户端下发压力情况下,4K与8K随机读写性能都能接近或超过10万IOPS,且平均响应时间在0.5~0.8ms之间,具有不错的性能;而在2台客户端并发压力下,其4K随机读写性能分别达到了18.5万和13.6万IOPS,而8K随机读写性能也分达到了18.6万和11.7万IOPS,相比单一客户端下,性能至少提升了50%,而延迟增长却并不明显,仍保持较低水平。

同时,E企研究院还评估了NeonSAN在多个存储卷下的性能增长情况,结果如下图:

在单个压力客户端(图上)和2个压力客户端(图下)测试环境中,QingStor NeonSAN分别供应多个(1~4个)存储卷下的性能(IOPS)和响应时间(Latency,ms)表现。

随着NeonSAN卷数量的增加,其性能线性增长,而平均响应时间的增长并不明显。在单台客户端性能测试中,在配置4个NeonSAN卷时,4K随机读写和8K随机读性能均在30万IOPS左右,8K随机写性能则能超过25万IOPS,平均响应时间则均控制在1ms以内;在2台客户端并发压力下,4K随机读写性能分别达到了62万和52万IOPS,8K随机读写性能则分别超过了47万和42万IOPS。

4:Oracle RAC测试 直面关键应用

基准性能测试只能反应存储系统的性能表现,上述测试结果表明QingStor NeonSAN已经安装正常,可以接入已经构建好的Oracle RAC数据库应用环境中。但需要注意的是,在进行Oracle RAC数据库测试时,衡量的是包括Oracle数据库服务器、测试环境网络以及NeonSAN存储的综合性能表现,这三者任意子系统出现瓶颈,都会影响测试性能。

所以在正式测试之前,还需确认其中某些子系统的瓶颈,以明确可能影响Oracle RAC数据库性能的因素。E企研究院利用Oracle数据库内嵌的一组命令来检验接入Oracle RAC环境后的QingStor NeonSAN性能。

与之前基准性能测试不同的是,这一项测试是基于RDBMS层的测试,其通过模拟Oracle数据库的数据访问特点来对后端NeonSAN存储进行评估。上图显示在配置4个NeonSAN存储卷后获得最大接近35万IOPS,然后即使再添加NeonSAN存储,其性能几乎不变。而且顺序带宽则在5个NeonSAN卷时获得最高3.3GB/s吞吐量。

通过上述测试表现,在接入2节点的Oracle RAC环境之后,NeonSAN在提供4个存储卷时获得最大随机读取性能。因此,根据这一结果,E企研究院为Oracle RAC数据库环境共分配4个1TB容量的存储卷,分别测试其在1~4个卷下的Oracle数据库性能表现,具体如下图:

在Oracle RAC数据库测试中,在配置3个卷作为Oracle数据库存储时,获得超过165万TPM(TransactionsPer Minute,每分钟事务处理数),但再增加一个NeonSAN存储卷,数据库性能并没有增加,这意味着在3个NeonSAN卷时,Oracle RAC应用的其他子系统已经出现瓶颈,导致尽管存储性能增加,但应用性能并没有增加。结合上一个测试结果,此时瓶颈可能出现在计算方面,即Oracle数据库服务器的计算能力达到瓶颈。

通过监控画面可以看到,Oracle服务器的CPU平均利用率已经超过75%。结合以往E企研究院的测试经验来看,通常情况下,服务器CPU利用率超过70%就意味着已经达到最佳计算性能,即使再增加负载,CPU占用率可能会进一步提升,但就应用来看,其性能并没有增加,反而延迟可能会出现不利影响。因此,从测试结果来看,在配备3个NeonSAN卷做Oracle数据库存储时,整个Oracle RAC环境就已经达到最高性能,而在此环境中,Oracle服务器配备的是Intel Xeon E5-2698 v4处理器,要提升计算性能就只能更换到最新一代XeonSP系列中的顶级处理器,或者使用配备更多CPU的四路及以上服务器。

即使受到Oracle数据库服务器计算性能的影响,在此Oracle RAC数据库环境中,也取得了超过165万TPM的性能,即每分钟能够完成超过165万笔事务处理,这之中包括新增商品的添加、用户的浏览、订单的处理、修改以及订单查询、追踪等等常见操作。平均到每秒的事务处理量为3万笔,且每笔事务处理的响应时间不超过15ms。对于企业核心数据库而言,NeonSAN不仅具有超高的性能,同时还具备极低的延迟,能够为需求苛刻的关键业务应用提供强有力的支撑。

每分钟165万事务处理量意味着什么?E企研究院收集了目前较为热门的相关行业或新秀公司,根据其公开资料/数据整理,以与NeonSAN的Oracle RAC数据库性能对比,具体如下图所示:

虽然上图列出的订单量与数据库性能之间并不能划等号,一笔订单背后可能会有包括用户登录、用户信息修改、产生订单以及查询等多个操作,但仍能提供部分参考建议。比如据国家邮政局的最新统计数据显示,今年(2018年)前4个月全国快递业务量累计完成136.7亿件,平均到每天的快递业务量约为1.14亿件,按8小时计算,相当于每分钟会产生23.75万件快递,相当于23.75万笔订单,每个订单背后按5个数据库操作计算(即1订单需要5数据库性能作为支撑),那么大约需要120万的数据库性能,即120万TPM。

而通过E企研究院搜集的数据简单计算的话,三节点(全NVMe SSD+25GbE)配置的NeonSAN存储集群能支撑Oracle RAC数据库达到165万TPM性能,均能支撑上述应用数据库所需的存储性能,并有富余,可应对更高的业务峰值。

尽管因为具体到应用可能有不同的流程,会对后端存储产生不同程度的性能需求。但E企研究院认为,QingStor NeonSAN完全有能力满足绝大部分企业应用对块存储性能的需求。经E企研究院的测试表明,QingStor NeonSAN不仅是一款优秀的Server SAN产品,符合SDS(Software Define Storage,软件定义存储)的软硬件解耦、高可用、高可靠、弹性以及无厂商锁定等特点,同时借助最新的NVMe SSD+25GbE网络技术,能够提供极高的性能和极低的I/O响应时间,完全有能力满足企业关键应用负载所需的RAS特性和苛刻性能需求,助力企业向混合云迈进,为数字化转型奠定坚实基础。

5 应用案例:某保险企业借助NeonSAN打造核心业务存储引擎

区块链,人工智能,大数据等技术的迅猛发展给互联网保险带来消费场景、产品形态和营销方式三大维度的颠覆,推动互联网保险向新技术密集型经营模式转型。在互联网保险业务中,IT系统已经深入到产品开发、销售、服务等流程的各个环节,成为业务发展的核心驱动力,需要具备高效的业务支撑能力与高投资回报率。

某保险企业自开展互联网业务以来,在线保险业务年均增长100%以上,原有数据库一体机的物理硬件资源趋于饱和,不再支持扩容与升级。为了匹配将来的业务发展,该保险企业决定采用数据库自Oralce一体机向x86平台迁移的方案:将Oralce RAC数据库迁移到物理机,使用NeonSAN集群作为后端存储,提供数据库支持服务,配置三副本的数据保护机制。

客户收益

经过业务场景实测,基于NeonSAN的复杂视图查询响应时间从20分钟以上缩小到2分钟,精算准备金复杂SQL执行效率从分钟级缩小到秒级,实现效率100%的提升,可确保所有类型的数据处理都能够实现卓越的性能。更快的查询速度和更快的报表运行速度,帮助企业推动业务决策的制定、提高准确度并获得高品质成果。

NeonSAN为最高级别的可用性奠定坚实的存储平台,可避免组件故障、网络故障或者人为错误造成的业务中断现象。与Oracle RAC搭配,应用程序和数据可实现最长的正常运行时间,让客户安枕无忧。

NeonSAN分布式架构,使存储扩容时间从几个月提升至几天,提升速度高达10倍,有效满足业务数据量激增的扩容需求,推动业务系统的平滑快速地发展。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。