大多数企业的系统采用一个多层的结构,这个结构包含了很多组件,这个系统结构组成部分的复杂程度经常是根据企业的需求而确定,例如:性能、成本和可用性。
数据库提供一个持久固定的信息库,并且形成许多企业的应用程序配置的核心,Oracle9iTM 真正的应用集群系统(RAC)提供的机械装置系统用于访问这个信息库和从事与高可用性、可量测性、性能和易治理等有关的要害业务。
在这篇文章中的一个简单案例的研究为Oracle9i RAC举例说明了要害的系统结构问题,并且为实际配置策略提供了洞察力,企业配置还能够包含Oracle9i RAC配置,以推动存储区网络(SAN)技术。
多层的配置
图1说明了一个传统的多层基础架构配置,随后讨论描述各种组件。
点击查看大图图1、多层基础架构的配置
使用浏览器的用户: 这些用户普遍使用的浏览器是Microsoft®IE浏览器和 Netscape® Navigator® 浏览器,这些浏览器使用标准的超文本传输协议(HTTP)传输数据,使用不同的通用资源定位器(URLs)导航Web。
路由器和防火墙:这些网络访问点在不同的网络段中控制信息的流量,防火墙过滤信息流量以加强安全和商业策略,防火墙还能够提供复杂的报告和带宽供给能力。
高速缓存服务器: 这些高速缓存服务器为了从Web和应用服务器中重新得到网页内容提供了复杂的高速缓存技术,高速缓存服务器能够从高速缓存中完成客户的请求,因此减少了网络的信息流量,并且加快了对客户的响应时间。
负载平衡服务器: 在服务器经营系统中,负载平衡能够使信息流量智能地分布。
Web 服务器: 这些服务器运行Web服务器软件,例如:微软的因特网信息服务(IIS)或者Apache,服务器使用这些软件处理和分派所得到的HTTP请求,返回超文本文件(Html)或者可扩展标志语言(xml)网页内容,使用简单的配置,请求通常被服务器附带的脚本技术所处理,例如:公共网关界面(CGI)、servlets 、Jave服务器页(jsp)、活动服务器页(asp),这些脚本技术能够支持后端软件组件和应用程序接口(APIs)访问数据库和其它的企业应用程序。
应用程序服务器:应用程序服务器为发展中的服务器附带的商业运行提供了一个更先进的结构,应用服务器软件典型地实现了标准的组件结构,例如:java2企业版本(J2EETM)规范,因为Java2服务器治理数据库连接、处理和安全,开发商能够集中核心的商业逻辑问题,J2EE服务器把用于通话的复杂技术和目标软件生命周期治理相结合,这样能够使可升级的体系结构得到更好的发展。
应用服务器还为处理和分派所得到的HTTP请求提供运行时间环境(例如:一个用于servlets和JSPs的servlet引擎)。
应用服务器产品的例子包括:Oracle9i 应用服务器、BEATM WebLogic® , 和IBM® WebSphere® .
数据库服务器: 这些服务器寄主了数据库软件,在一个Oracle9i RAC集群系统环境里,每个节点使用Oracle®RAC 软件运行Oracle9i 数据库。
存储器: 存储器子系统包含数据,在一个集群系统的Oracle9i RAC数据库环境里,集群系统里的每个服务器都能够访问共享存储区,答应节点故障切换到一个存活的节点上。
Oracle9i RAC添加功能到数据库层
这部分重点放在前面描述过的基础架构的数据库层和汇集Oracle9i RAC的要害特性
改进节点间的通讯
用于每个同步序列、节点间的信息流量和信息等待时间的信息数严重地影响了集群系统的可量测性,一个同步序列是一个数据块传递和协调活动,这是在Oracle9i RAC中的Cache Fusion系统结构里所固有的。
信息数: Oracle9i RAC在一个块请求中包括三个逻辑节点:请求节点、当前在高速缓存中拥有资源的节点和控制资源的节点,服务于一个请求的节点数和信息数不随着集群系统中的节点数而增加,答应一个Oracle9i RAC集群系统扩充到很多节点。
节点间的信息流量: Oracle9i RAC根据数据访问模式动态地移植资源到使用大量资源的节点,以便使节点间的信息流量减到最小,资源本地化减少了相互连接传送信息的负担。
信息等待时间: 相互连接速度是一个重要的性能问题,可用的商业技术提供了更大的带宽和加快了网速,例如:千兆以太网。显现技术答应减轻瓶颈甚至更多,例如:InfiniBandTM。
客户连接的故障切换
在Oracle SQL*NET® 中的负载平衡和应用程序故障切换选项能够确保客户连接从出现故障的节点或者现场进行故障切换,客户连接负载平衡分布客户连接到集群系统的所有节点,这样减轻了一个单独节点故障的影响,并且能够分布工作量,在集群系统中,当连接使用的节点出现故障的时候,明显的应用程序故障切换(TAF)选项让客户应用程序故障切换到另一个节点。
目前,Oracle9i RAC支持对话期间的故障切换和SELECT操作故障切换,在进行中的SELECT请求在故障切换现场继续被处理,一个正在进行的业务处理在故障期间必须被返回,提供一个回叫信号功能-Oracle呼叫接口(OCI)用于应用执行插入、升级和删除指令,以便使应用程序能够继续执行。
通过负载平衡改进性能
假如负载超过了一个节点的承受能力,那么处理反应时间就会增加,为了维持反应时间,一个数据库治理人员(DBA)必须用手动方式移植一组客户通话到一个承受较少负载的节点上,在Oracle9i RAC中,明显的网络底层(TNS)接收器为共享服务器和专用服务器配置上的节点提供自动的负载平行,新的动态服务注册特性帮助完成这个负载平行。
最优化查询考虑处理器数、类似的查询程度和集群系统中分配给每个节点上CPU工作量,以及最佳利用硬件资源,因为它利用了几个计算机的资源和附加的I/O带宽,所以这个特性大大地增加了系统的性能。
节省在线配置时间
当数据库在线的时候,网络治理人员能够使用数据库配置助手(DBCA)从一个已存在的Oracle9i RAC集群系统中添加一个新的节点或者删除一个节点,基于图形用户界面(GUI)的实用程序使在线添加和删除一个节点的复杂操作变得简单化。
增强治理
Oracle企业治理器(OEM)包括很多用于Oracle9i RAC集群系统数据库的改进,OEM和智能的代理使用SRVCTL实用程序产生的配置信息以发觉和监视集群节点,OEM和性能包提供了增强的监控能力,并且使网络治理人员能够为Cache Fusion、相互连接块传送信息和全部的数据库或者单独的节点收集统计表。
Oracle9i RAC 配置
在不同的应用环境里能够有效地使用Oracle9i RAC,这里列举一个简单的案例研究,Oracle9i RAC技术能够合并服务器,还能够处理可用性和可量测性请求。
所面临的I/O性能挑战和 Oracle9i RAC
具有代表性地,在线业务处理(OLTP)应用程序反复地访问一个非常小的数据,其它的应用程序,如报告和决策支持系统(DSS)应用程序访问大量数据和请求更多的资源以满足这些请求,
由于性能和可用性的原因,公司传统上保留了这些应用(OLTP 和 DSS)作为分离的实体,结果导致IT治理人员经常要在一个分离的数据库实体里复制数据库内容以便及时地满足需要的要害报告信息,由于争用线路导致昂贵的磁盘ping,支持Oracle Parallel Server (OPS)的企业还要求一些计划编制和设计以便建立一个功能系统。
Oracle9i RAC 和Cache Fusion系统结构的出现减轻了磁盘的输入/输出(I/O)问题,这样就大大地减少了分离节点访问同一数据的危险性,Oracle9i RAC还能够从事要害性能、恢复、连接负载平衡、故障切换和I/O问题,这样改进了解决方案的可量测性和可用性,现在公司可以合并服务器(这些服务器正运行着单独的实体或者Oracle Fail Safe (OFS)集群系统)到一个Oracle9i RAC数据库集群系统,这样就能够增加解决方案的可用性和易治理性。
案例研究:用Oracle9i RAC使治理简单化
图2中的案例研究显示了一个已存在的应用配置,所有的这些应用是基于Web的应用,也就是通过一个中间层访问数据库,数据库在三个不同的两节点OFS集群系统上运行,所有的这些数据库有大约30%到60%的公共数据,且数据库的大小范围从30GB到60GB。数据库有规律的从一个数据库向另一个数据库供给数据,以使数据同步,每个数据库有确定的惟一的数据,这些数据只有在每个数据库应用环境里才能被更新,在这个案例中,大量的数据被有规律的复制,结果使应用查看更多的当前信息产生了时间延迟。
图2、现有的应用结构
通过移植这些应用到一个四节点数据库集群系统和在数据库里划分应用数据作为不同的模式(见图3),使Oracle9i RAC技术得到充分的利用,当今的硬件技术使系统治理人员和数据库治理人员能够很轻易地在小的I/O共用信道里设置数据库,以便能够从不同的应用系统访问数据,建立正确的权限、同义名和映像应用编码转变,这样能够最小化数据冗余、消除在数据库之间的供给数据和使应用系统达到更大的可用性。
图3、运行数据库的四节点Oracle9i RAC解决方案用于应用系统
现在在数据库上保持数据正确性同样变得简单了,
所有的应用系统访问同样的资源数据,用户能够通过一个单一的节点和有效的四节点集群系统为非凡报告、负载平衡或者故障切换访问他们各自的应用系统,这一优势就是使数据库治理人员能够为负载平衡智能地使用四节点集群系统,以便调节周期性的应用系统的工作量信号,例如:在Oracle9i RAC中的负载