1. 引言
采用集群技术构建并行数据库系统,支持多个集群节点数据库实例访问一个共享的数据库,节点间共享高速缓存,充分利用多个节点并行处理的工作能力,在应用环境中可提供更快的响应时间与更大的事务吞吐量,并具有高可用性。
近年来,大规模密集数据型的集群数据库系统在了网络安全监控、金融数据分析、电信数据处理、传感器网络等领域的应用越来越广泛,节点间大量数据交换以及海量数据存储对网络通信带宽提出了更高要求,传统的光纤网络存储(FC-SAN)已经很难满足其性能需求。
InfiniBand(IB)是由InfiniBand行业协会(IBTA,InfiniBand Trade Association)定义的一项先进、开放的互连标准,它是一种基于通道的、采用交换结构的I/O体系,具有高带宽、低延时的特点,不仅可用于服务器内部和集群系统的互连,还可用于组建高性能的存储网络。在2010年6月公布的全球HPC TOP 500[4]强排行榜中,在前10 名、前20 名和前100 名中分别有4台、11台和64台计算机采用IB互联技术。由此可见,IB 技术已经成为高性能计算机设计采用的主流技术。
IB 不仅在高性能计算领域取得了成功,而且在存储领域也得到越来越广泛的应用。自从2008年Mellanox 公司开发出基于ConnectX 芯片的IB适配器以来,IB 的点到点数据传输率一跃达到了40Gbps,预计到2011年将突破80Gbps。可以预见,具备RDMA(Remote Direct Memory Access)功能的IB 将会成为未来主流的存储协议。
本文介绍了IB网络存储及IB iSER协议,实现了基于IB-SAN的集群数据库,并对系统的实际应用性能进行了实验与分析。
2. IB 网络存储
随着高性能计算与应用服务的发展,更多的高性能存储区域网络开始利用高速网络与专有协议来构建。这主要包括基于光纤通道与FCP协议的FC-SAN、基于以太网与iSCSI协议的IP-SAN以及基于InfiniBand的IB-SAN。FC-SAN需要专门的光纤通道网络,因此价格昂贵;IP-SAN可以利用目前广泛使用的以太网,成本较低,然而网络协议处理需要占用较多的主机CPU时间,严重影响系统的总体性能;InfiniBand是一种交换结构I/O技术,其设计思路是通过一套中心机构(中心InfiniBand交换机)在远程存贮器、网络以及服务器等设备之间建立一个单一的连接链路,并由中心InfiniBand交换机来指挥流量,它的结构设计得非常紧密,大大提高了系统的性能、可靠性和有效性,能缓解各硬件设备之间的数据流量拥塞,具有高带宽和低延迟的特点,在高性能计算与数据库系统中得到日益广泛的应用。
IB可实现不同形式的存储系统,包括SAN(Storage Area Network)和NAS(Network Attached Storage),本文集群数据库系统中采用的是基于iSER协议的IB-SAN,它由iSER的发起方和目标方两部分组成,其整体结构如图1所示。
3. IB iSER 协议
iSER(iSCSI Extend RDMA)协议是由IETF制定的IB存储协议,iSER协议主要为iSCSI PDU的RDMA操作提供支持,以减少对缓存和CPU资源的占用。iSER位于SCSI中间层和CMA层之间,定义了iSCSI PDU到RCap报文的映射。iSER将上层传来的iSCSI PDU转换成带有iSER头的报文传送给RDMA层。iSER 报头中包含了一个导向标签,用来标识每个SCSI I/O的缓存位置。SCSI 读写可依据导向标签,通过目标器实现传送子系统RDMA 读、写请求的服务。基于iSER协议的IB-SAN网络层次图如图2所示:
4. 实验与分析
4.1 实验环境
为了对基于IB-SAN 的集群数据库的实际应用性能进行了分析及与传统的FC-SAN 对比,建立了基于IB-SAN 和FC-SAN 的ORACLE RAC 实验环境。其实验环境配置如下:
4.2 测试方法
ORACLE RAC 性能测试是采用基于SW 中间件编写的一个测试包,包括加载测试和查询测试两个模块。
加载测试过程中可以设置单次加载记录条数N,分别记录完成一次加载所需的时间(包括与数据库建立连接时间t1 和数据库处理时间t2 两部分),然后连续加载多次得平均加载时间t,最后加载速率V=N/t,得到的加载速率为多次加载的平均速率,这消除了偶然因素对其结果的影响。
查询测试时,首先创建一个一亿规模的数据库表,然后依次进行单关键词精确查询和单关键词模糊查询,最后统计首条记录返回的平均时间即为查询时间。
4.3 性能分析
按照上述测试方法,进行了ORACLE RAC 存储性能测试。单条记录平均长度约为350B,单次加载条数为:2000、5000、8000、11000、14000、17000、20000 时,IB-SAN 的加载速率VIB-SAN 分别为:26.68 万条/s、35.96 万条/s、42.44 万条/s、47.72万条/s、51.10 万条/s、53.08 万条/s、53.6 万条/s,FC-SAN 的加载速率VFC-SAN 分别为:7.32 万条/s、8.72 万条/s、9.32 万条/s、10.01 万条/s、10.52 万条/s、10.88 万条/s、10.96万条/s,如图3 所示。
为了便于对比分析,把图3 中两条曲线进行线性化处理:μ=VIB-SAN/VFC-SAN ,得到两种存储方式的加在性能对比系数曲线如5 所示。从上面两图中可以看出:单次加载条数相同时,IB-SAN 的加载速率明显高于FC-SAN 的;随着单次加载条数增大,两者的加载速率逐渐增大,且对比系数μ也逐渐增大,这是由于每次加载与数据库建立连接的时间t1 基本保持不变,当加载条数增大时t1 对总时间t 的影响变小,使其结果更接近理论值。
按照上述方法,得到ORACLE RAC 的查询性能如表2 所示。
4.4 结论
从上面的实际测试结果可以看出,加载性能显著高于传统的FC-SAN,加载性能对比系数接近5,查询性能也比传统的FC-SAN 略有提高。
5. 结束语
从本文的实际测试可以看出,使用IB-SAN 搭建集群数据库是完全可行的,整体性能比使用传统FC-SAN 的有所提高,尤其加载性能提高显著。随着IB 存储技术的不断发展完善,在对网络带宽和加载性能有极高要求的大规模密集数据处理领域,基于IB-SAN 存储的集群数据库将会成为主流。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文网址:http://www.toberp.com/html/consultation/1083946836.html