APP下载

Oracle RAC数据库缓存优化策略探究

2011-08-15杜立林

湖南工业职业技术学院学报 2011年5期
关键词:线程应用程序集群

杜立林

(湖南工业职业技术学院,湖南 长沙,410208)

Oracle RAC数据库缓存优化策略探究

杜立林

(湖南工业职业技术学院,湖南 长沙,410208)

数据库中存储着重要的系统信息,随着数据量日益繁琐,人们对数据库安全可靠性的相关要求也日益提高。文章基于Oracle RAC数据库,阐述了其基本原理,分析了Oracle RAC数据库缓存优化策略。

Oracle RAC数据库缓存优化

毋庸置疑,数据库以及网络技术的飞速发展,标志着信息时代的到来。通常情况下,大量数据是保存在数据库中的,而应用程序访问数据库是一项很费时的操作。如果先将数据库中的数据缓存到缓存区中,当应用程序需要这些数据时,直接从缓存区中提取,就可以减少系统开销。数据库系统的发展使得计算机产生了全新的变更,当前形势下,绝大多数的数据处理都离不开数据库的发展。随着计算机技术的发展,人们对数据库安全可靠性提出了更高的要求。

一、Oracle RAC数据库基本原理概述

RAC(real application clusters),即实时应用集群,其作为O-racle新版数据库中应用的一项全新的技术,具备高可用性,同时也是Oracle数据库支持网格计算环境的核心技术。从以往RAC发展历程来看,Oracle RAC一般支持支持Oracle9i、10g、11g等不同的版本,同时也能够支持24×7有效的数据库应用系统,它能够将高可用性数据库系统运行在低成本服务器上,部署极为自由,而且不需要进行代码的修改进行nxo由,而且不靠型。Oracle RAC具备良好的性能,Oracle集成为用户提供了集群软件和存储管理等相关的软件,有效节省成本。而且如果数据库规模需要增加时,用户可以选择按需求扩大系统,从而保证系统良好的功能。

在某一数据库环节中,一般情况下,很多服务器都管理和使用一个共同的数据库,旨在将服务器的工作量分散,所以从硬件上来说,至少有两台服务器,需要利用共享存储设备,与此同时,必须要两类软件的支持,其一是集群软件,另外一个便是Oracle数据库中的RAC组件。要求各个服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,如果用户端向其中一台服务的listener服务请求后,此服务器将根据负载均衡水平,把受到的请求发送到本机的RAC组件进行处理,同时也会将这一请求发送到其他服务器,当请求处理完毕之后,RAC利用集群软件对共享存储设备进行访问。简单而言,在RAC的逻辑结构上来看,各个集群的节点都必须具备一个独立的instance,而instance访问相同的一个数据库。对于节点而言,它们之间可以利用集群软件的通讯层进行信息的交换。通常情况下,避免IO消耗过量,必须设置一个全局的缓冲服务,所以,对于每一个数据库的instance来说,都必然保留着一份相同的数据库cachel。

实际上,Oracle RAC是标准网格的核心,其具备共享缓存系统结构的集群数据库,而且其能运行于多个服务器中,这些服务器通过集群进行互联而且公用一个存储器子系统。所以,就用户而言,Oracle RAC数据库表面上看起来是一个独立的标准Oracle Database 10g,同时用于维护独立的Oracle Database 10g的工具和流程同样可以用于整个集群。数据库中全面标准的备份和恢复操作,尤其是使用恢复管理器(Recovery Manager),均能通过RAC进行,清晰可见。对于两种配置,所有SQL操作(包括数据定义语言和完整性约束)都是相同的。然而,RAC最重要的特性是它能够根据业务处理需要管理工作量—根据需要添加或删除节点。

二、Oracle RAC数据库缓存优化策略分析

1、高速缓存

早在Oracle9i之前,RAC有一个另外的名称,OPS(Oracle parallel Server)。当今的RAC和OPS之间,存在着十分明显的区别,即RAC应用了Cache Fusion(高速缓存合并)技术,而OPS没有。OPS其节点间的数据请求,必须要先在磁盘中写入数据,然后在读取数据时,只有发出请求的节点才能读取。而Cache fu-sion技术中,RAC里面的各个节点数据缓冲区能够利用高速、低延迟的内部网络进行数据块的传输。

系统而言,Oracle内存数据库高速缓存是利用应用Oracle数据库子集,缩短应用程序食物的响应时间,同时扩大了数据的传输效率,这些Oracle数据库子集对高速缓存的性能有着关键的影响。为了保证数据之间的一致性,高速缓存和Oracle数据库之间具备数据自动同步功能。把应用数据放置在开局应用程序的存储区中,同时在内存数据里面处理、查询,这样会使得应用程序访问以及更新的速率大大超过从前。

Real Application Cluster具备完善的纠错功能,为大量关键业务提供可靠保障。RAC准许系统中很多节点共享某一固定的数据库,其能够自动地分析负载、修复故障,从而可以支持高可用性应用程序。对于大型数据库以及决策支持系统,其还能有效提升系统的性能。RAC能结合并行查询选件,从而提供了节点间的并行性和节点内的并行性,优化存储性能。

如果在并行的服务器中,某一节点失效,这时,应用程序容错可以将用于自动转移到另一节点上继续运行,同时用户毫无觉察。这一容错功能能够为周期性和非周期性发生故障的系统提供连续可用性的保障。对于进程的失效而言,道理和节点失效一样,通过适当的配置,亦能在其他节点指定所有查询都在客户端进行缓存,可以进程在其他节点上进行重新设置。

2、可管理性

Real Application Clusters能够实现无缝访问,从某种程度上说,其是一个真正的单系统访问数据库,能够从任意的几点到所有磁盘以及远程高速缓存间进行无缝的数据访问。其系统的安装、配置、备份、升级以及监控等操作进行一次就够了,然后自动分布于集群的所有节点上。各种Oracle工具(如Oracle U-niversal Installer、Database Configuration Assistant以及 Recovery Manager)将发现集群数据块中所有不同的节点并以它们为目标分配给想得到的任务。

在系统的管理中,可以定义一个管理操作,在其中选择多个目标节点,而整个管理的任务能分散到各个集群节点中,进行任务分配,这样能够将业务的应用管理提供了良好的可伸缩性功能,既经济又快速。例如,向数据库集群添加一个节点只会增加最小的管理任务。这样,Real Application Clusters支持在线业务应用和决策支持之类的应用,并且为数据访问和管理提供了单一的虚拟高性能服务器。

3、数据库缓存优化方法性能测试

对系统使用传统单实例已有的缓存优化方法进行优化。在本实验中使用的方法是创建索引并使SGA TARGET的值由160M变为180M,分别在单节点与双节点RAC上运行测试程序。在线程数为300的情况下,测试试验结果。从缓存性能指标来看,优化后单节点与RAC缓存命中率有了一些改善;从平均每个线程执行时间来看,优化后性能有了很大提高。优化前双节点RAC平均每个线程执行时间为11620ms,而单节点平均每个线程执行时间为12490ms,因此双节点RAC性能比单节点提高了7.5;优化后双节点RAC平均每个线程执行时间为4216ms,单节点平均每个线程执行时间为4974ms,双节点RAC性能比单节点提高了17.98%。由此可知,通过使用传统单实例数据库缓存优化方法,双节点R.AC与单节点数据库性能都有了很大提高,但是双节点RAC的性能提高程度要高于单节点数据库的。即优化后的RAC性能更优于单节点的性能,更加显示了RAC的性能优势。

由最终的实验结果得知,双节点RAC平均每个线程执行时间的最优情况为3749ms,而单节点平均每个线程执行时间的最优情况为4974ms,计算得最优情况下RAC的性能比单节点的提高了32.7%。但该结果与Oracle官方测试的78.3%仍有很大差距,主要是因为该实验的RAC平台是建立在虚拟机环境下的,而且上述实验的优化只是使用了缓存优化方法,还需要使用其他一些优化方法进行优化,比如在本系统中使用了Sequence,而在R.AC中Sequence是全局维护的,对系统的性能影响非常明显,需要优化使用。

通过实验,我们可以得知在高并发访问环境下,一个优化的RAC数据库系统,其性能远远高于一个优化的单实例数据库系统。由此可见,Oracle R.AC数据库性能调整与优化是极其重要的。

数据库的安全可靠性是人们关注的热点,RAC集群可以实现多机共事数据库,从而保证了应用的高可用性。同时可以自动实现并行处理和负载均衡,还能实现数据库在故障时的容错和无断点恢复,能充分保证数据缓存的安全可靠性。

[1]周卓镛.Oracle R A C数据库缓存优化方法探讨[J].科技创新导报,2010,(5):12-12.

[2]林波.基于Oracle RAC数据库的应用系统的容错处理机制[J].中国传媒科技,2010,(9):50-51.

[3]周芹等.基于Oracle Spatial的空间数据库缓存的关键技术[J].地球信息科学,2007,(3):40-44.

On Strategies for Cache Optimization of Oracle RAC Data Base

DULi-lin
(Hunan Industry Polytechnic,Changsha 410208,Hunan)

Data base stores important system information.With the increase data volume,data base should have the greater safe reliability.This paper expounds the basic principles of Oracle RACdata base and analyses cache optimization strategies of Oracle RACdata base.

oracle RAC;data base;cache;optimization

TM15

A

1671-5004(2011) 05-0022-02

2011-6-20

杜立林(1978-),女,湖南常德人,湖南工业职业技术学院讲师,研究方向:软件工程。

猜你喜欢

线程应用程序集群
基于国产化环境的线程池模型研究与实现
海上小型无人机集群的反制装备需求与应对之策研究
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
浅谈linux多线程协作
勤快又呆萌的集群机器人
么移动中间件线程池并发机制优化改进
三星电子将开设应用程序下载商店