加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门站长网 (https://www.0592zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 通讯 > 正文

SmartCache技术有效提升数据库应用性能

发布时间:2016-10-30 14:52:42 所属栏目:通讯 来源:IT68.com
导读:副标题#e# 在企业和政府的数据库应用中,数据库本身容量非常大,动辄几百G乃至上T。随着各种业务的开展,数据库容量还会持续增大。随着数据库容量的增大,其对应的索引速度会相应变慢。在数据库应用中,用户要求延迟应该尽量
副标题[/!--empirenews.page--]

  在企业和政府的数据库应用中,数据库本身容量非常大,动辄几百G乃至上T。随着各种业务的开展,数据库容量还会持续增大。随着数据库容量的增大,其对应的索引速度会相应变慢。在数据库应用中,用户要求延迟应该尽量小。查找索引的速度很大程度上决定了用户感受。此外,在数据库中经常访问的数据只占总容量的一小部分。

  破解危机:SmartCache技术

  随着SSD技术的发展,SSD在存储领域使用的范围越来越广。又由于对于SSD而言,单位GB的成本要比传统机械硬盘高很多,因此目前业界的存储阵列使用SSD主要有两种方式,作为分级存储介质和SSD Cache。

  华为赛门铁克SSD Cache方案叫做SmartCache。把阵列中的一个或多个SSD硬盘组成SmartCache缓存池,通过将阵列中其他传统机械硬盘中的热点数据周期性的拷贝到SmartCache中,使主机在访问热点数据时,直接从SmartCache中读取,利用SSD硬盘的读性能优势,极大的提升阵列系统的整体读性能。

SmartCache技术有效提升数据库应用性能
▲图1 SmartCache实现原理

  智能SmartCache实现原理

  按照块的方式对SSD硬盘进行划分,为每一个块进行编号,块的大小默认为1MB。

  主机从机械硬盘中读取数据时,系统会实时对开启SmartCache功能LUN中的数据块访问频率进行统计。

  每隔半小时系统会对开启SmartCache功能的LUN中的数据块按照访问频率进行排序。

  系统根据该排序结果将访问频率最高的数据拷贝至SmartCache池中,若SmartCache池中没有空闲缓存块,则将SmartCache池中变冷的数据块淘汰以获取缓存块资源。

  主机读IO时,若全命中SmartCache池中的缓存块,则从SmartCache池中读取。

  读IO没有全命中SmartCache中的缓存块时,则从机械硬盘中读取。

  机械硬盘中的数据更新时,SmartCache池中对缓存块同步进行更新。

  SmartCache五大技术优势

  高性能:针对Web Server应用随机读性能提升接近5倍,针对File Server应用随机读性能提升接近2倍。

  高可靠性:所有数据都保存在传统磁盘中,由RAID保证数据的安全可靠,SSD中的数据仅仅是一个副本。

  高可用性:多盘组成SmartCache池时,除非所有成员盘全部失效,否则不影响功能的实现。

  高可扩展性:支持SSD盘片在线添加。

  低功耗:SmartCache池利用SSD和传统磁盘组成混合阵列降低系统整体功耗。

  W80A数据库IO特性

  根据SSD本身的性能特性,SmartCache适用于读多写少有热点的随机小IO场景。因此,在使用SmartCache之前,了解IO特性和负载情况非常重要。对关系数据库而言,索引数据是访问最为频繁的,因此当数据库很大时,索引速度的快慢决定了访问数据库的延迟。

  为了更直观的体现数据库IO特性,在实验环境中,将数据库关系表存放在400G的LUN中,使用测试工具模拟数据库应用,以每G为单位统计主机访问数据库时的访问数据。如下图所示,经常访问的数据量只占到整个数据库空间的一小部分,大部分数据库空间的访问量很小或者几乎没有访问。在客户真实环境中,数据库中只有10%的数据被经常访问。相比在实验室模拟的数据库IO特性,客户真实环境中的数据具备更加明显的热点。

SmartCache技术有效提升数据库应用性能
▲图2 Oracle访问400G LUN的IO分布

  SmartCache技术提升数据库应用性能

  下面以具有OLTP特性的数据库为例进行测试,说明数据库应用SmartCache后获得了明显的性能提升。OLTP(On-Line Transaction Processing)联机事务处理系统,也称为面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算机中心进行处理,并在很短的时间内给出处理结果。这样做的最大优点是可以及时的处理输入的数据,及时地回答。也称为实时系统(Real time System)。典型的OLTP系统应用有电子商务系统,银行,证券等,如ebay的业务数据库。OLTP以小的事务及小的查询为主,评估其系统性能时的几个重要性能指标是实时响应时间(Response Time)、每分钟事物处理数(TPM,Transaction Per Minute)和每秒IO数(IOPS,I/O Per Second)。

  Swingbench是Oracle UK Database Solutions group开发的一款免费的性能测试工具。Swingbench基于TPC-C标准对OTLP业务场景模式进行性能测试,能够方便的调整Swingbench配置文件中OLTP各项业务所在比例,使得模拟的业务场景中读写IO比例大概维持在所需要的比例8:2。

  测试组网

  测试组网如图3所示:

SmartCache技术有效提升数据库应用性能
▲图3 测试组网图

  本文中所使用的环境配置如下表:

SmartCache技术有效提升数据库应用性能
▲表1 SmartCache对数据库性能提升实验环境配置

  测试结果

  在打开SmartCache功能稳定运行14小时后,测试结果如图4、图5、图6所示:以图4的IOPS测试结果为例:图中的虚线为SmartCache功能关闭与开启的分界线。在SmartCache功能未开启时,IOPS值稳定在2000左右;在测试时间的第三个小时开启SmartCache功能,系统经过一段时间的热点统计后,开始逐步将热点数据拷贝至SmartCache池中,此时IOPS值呈上升状态;当全部热点数据均缓存至SmartCache池后,上层应用下发的IO大部分命中SmartCache池中,此时IOPS稳定在8000以上。在开启SmartCache功能后数据库系统性能较原系统有了较明显的提升,IOPS为原系统的5.64倍,TPM为原系统的6.43倍,RT下降为原系统的27%。

SmartCache技术有效提升数据库应用性能
▲图4测试结果——IOPS

SmartCache技术有效提升数据库应用性能
▲图5 测试结果——TPM

SmartCache技术有效提升数据库应用性能
▲图6 测试结果——Response Time

  SmartCache技术,有效解决性能问题

(编辑:厦门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!