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