四.数据库集群解决方案
1.方案概述
浪潮高可用数据库集群系统是在浪潮与Oracle紧密合作下完成的,它是基于Oracle 的高性能数据库集群系统。它主要面向重负载和要求极高可用性的高端数据库应用环境,定位于大型数据库应用领域,包括数据仓库应用、联机事务处理、联机事务分析等,为具有高性能、高可用性需求的用户提供解决方案。
我们提供的方案基于集群计算的思想,由多个处理节点、集群互连和共享存储设备组成,服务器节点采用SMP技术,相互协作如同一个系统。计算节点采用高性能的浪潮NF800服务器,存储节点采用基于SAN架构的光纤通道磁盘阵列,数据库采用Oracle 数据库,并选择Oracle 并行数据库构筑一个高可靠、高性能的集群系统。集群采用共享高速缓存的体系结构,它结合了共享磁盘集群和非共享集群两者的优点,代表目前最先进的集群技术方向。
利用该方案,我们可以用便宜的IA服务器替代小型机系统构筑性能更高、可用性更高、容易使用和管理成本更多的数据中心。
浪潮数据库集群系统与上述三种传统的方式不同,它通过与ORACLE的密切合作,解决了传统数据库集群无法解决的既能提供高度的容错性能与灵活性,又能提供极高的接近线性的可伸缩性。共享高速缓存集群数据库系统
浪潮基于Oracle的Cache Fusion体系结构是解决这一难题的关键技术。Cache Fusion体系结构是Oracle公司独创的全新的共享高速缓存体系结构,它为大规模的数据集中应用带来了共享磁盘和无共享数据库的好处,同时又避免了二者体系结构的弊端。这是通过使用快速出现的磁盘存储和互连技术而实现的。
备注:Cache Fusion为高速缓存的相干性使用了可伸缩的共享高速缓存,消除了磁盘I/O。
采用浪潮高性能服务器和Cache Fusion体系结构的集群,实现了低成本的高性能运算,提供了以下的好处:
。可伸缩性
用户通过虚拟数据库服务名连接到数据库上。集群系统将在各个计算节点之间自动平衡用户负载,客户端不用关心具体节点服务器的物理地址。服务器负载均衡功能的实现,提升了数据库的性能,主要是通过两种途径:第一、将大用户量的并发访问分担到多台节点机上并行处理,缩短用户等待响应的时间,并且能够接受更多用户的并发访问;第二、将单个用户重负载的运算分担到多个节点机上并行处理,系统处理能力得到大幅度提高。另外,在硬件集群体系结构中采用了高速的数据通道和磁盘节点,大大减少了数据传输的延迟,释放了系统的处理资源。
RAC数据库集群能够自动适应快速变化的业务需求及随之而来的工作负荷的改变。通过动态地重新分配数据库资源,从而可以在节点之间用最小化的磁盘I/O和低的延迟通信来优化利用集群系统资源。随着业务的增长,系统也可以从容的增加处理能力。在系统建设初期,先使用2节点集群进行数据处理,随着业务的发展,可以对系统进行升级,或动态增加节点数,即可获得处理性能的提高,这体现了集群系统很好的可扩展性和可伸缩性。
。高可用性
基于浪潮服务器的高可用数据库集群提供了真正的高可用性解决方案,是满足24*7可用性的最佳平台。关键突破是在大多数数据库恢复期间能提供完整的数据块访问。由于内存结构的重建很快,磁盘IO*作较慢,所以本系统很快将失败节点排除在集群映像之外,使失败屏蔽开用户,实现了透明的应用切换,并提供了N-1节点失败的容错能力。
。可管理性
基于浪潮服务器的数据库集群实现了真正意义上的单系统访问数据库,它提供了从任何节点到所有磁盘设备和远程高速缓存进行无缝数据访问的能力。此单系统映像延伸到所有数据库管理*作。安装、配置、备份、升级以及监控等*作只需进行一次,然后会自动发布到集群中所有的节点上去。通过各种Oracle工具可以帮助管理和配置集群系统。
。灵活的并行机制
数据库表的并行*作,支持智能化计算默认值。在多用户多并行计算环境中,支持自适应多用户特征。相对于基于静态分区的方法,集群在负载分布的功能传递和节点间数据传输方面,将得到更优的性能。
。灵活的实施
对于税务征管等业务应用,相对于传统的小型机的方案,基于浪潮服务器的数据库集群非常容易实施,并提供最大的灵活性。在主机或小型机系统中,常常需要对系统分区,或者将应用或应用模块在不同数据库之间分段。系统分区和应用分段是一项艰难的任务,它很难适应系统需求和工作负载的变化趋势。而这个问题在我们提供的方案中得到解决,应用程序可以动态地移动数据库资源,来适应变化的业务需求和工作负载。
2.系统结构分析:
从网络结构上分析,浪潮数据库集群系统由内部互联网、外部互联网、存储区域网三网连接高性能的浪潮服务器和光纤盘阵构成。通过外部互联网,将数据库后台系统和前端的应用服务器、WEB服务器、客户端连接在一起,保证充足的带宽完成用户的各种应用请求;内部互联网将多台数据库服务器相互连接,保证集群系统的健康侦测、缓存数据的同步和负荷的分配,在集群的某个节点出现故障时,通过内部互联系统,其它的主机及时接管故障节点的工作,保证用户请求的顺利完成;存储区域网(SAN)通过光纤通道的交换机和主机适配卡(HBA)将多台数据库服务器和光纤存储设备连接在一起,提供共享的数据存取空间,满足多台数据库服务器共同工作的要求。
浪潮数据库集群系统可以根据应用的需要选择WIN2K SERVER 或LINUX*作系统,在*作系统之上的数据库集群系统选择ORACLE 9I RAC,它是整个系统协同工作的关键。在实际部署中,可以根据应用的规模选择服务器的数量和存储设备的容量,在小型的应用里,如果我们选择两台数据库服务器,那么我们可以将内部互连网的交换机简化为直连线,存储区域网也可将光线通道交换机简化为服务器与光纤盘阵直连,在缩小投资的同时也牺牲了系统的扩展性。
浪潮数据库集群系统结构图如下:
浪潮数据库集群系统结构图(三网)
简化的浪潮数据库集群系统结构如下图所示:
浪潮数据库集群系统结构图(简化)
附录:数据库基准评测数据
一. 基于小型机构建的数据库集群系统的基准测试
测试系统采用多台小型机和光纤通道磁盘阵列柜搭建了一个三层结构的应用环境,中间层用4台小型机组成,数据库层用2台小型机组成,存储采用光纤通道的盘阵。测试软件采用标准的数据库基准测试软件包LOADRUNNER,测试系统能够承载的并发用户数和连接反应速度。
测试系统结构图:
服务器和软件的配置表:
中间件服务器 数据库服务器 光纤盘阵
CPU: 8 x PA-8600 at 550MHzMemory: 32GBDisks: 2 x 18 GBUNIX千兆交换机互连 CPU: 4 x PA-8600 RISC at 550MHzMemory:16 GBDisks: 2 x 36GBUNIX千兆交换机内部连接光纤通道交换机连接盘阵 双控制器5.36TB disk 两台数据库共享
Oracle Application Server,Forms ServersCMConnection Managers Database Server
测试结果:
并发用户数 平均反应时间 90%用户反应时间
2296个 1.16s 2.16s
注:90%用户反应时间为90%的用户登录后系统的反应时间
二. 基于IA架构服务器构建的数据库集群系统基准测试
测试系统采用多台PC服务器和光纤通道磁盘阵列柜搭建了一个三层结构的应用环境,中间层用10台PC服务器组成,数据库层用2台PC服务器组成,存储采用光纤通道的盘阵。测试软件采用标准的数据库基准测试软件包LOADRUNNER,测试系统能够承载的并发用户数和连接反应速度。
测试系统结构图:
服务器和软件配置表:
中间件服务器 数据库服务器 光纤盘阵
CPU: 4 x Pentium III XEON at 500MHz ,2MB L2-cacheMemory: 4GBDisks: 3 x 9.1GBWINNT 4.0千兆交换机互连 CPU: 4 x Pentium III XEON at 500MHz ,2MB L2-cacheMemory:4GBDisks: 3 x 9.1GBWINNT 4.0千兆交换机内部连接光纤通道交换机连接盘阵 双控制器10*9.1G disk 两台数据库服务器共享
Oracle Application Server,Forms ServersCMConnection Managers Database Server
测试结果:
并发用户数 平均反应时间 90%用户反应时间
3248个 2.23s 3.81s
注:90%用户反应时间为90%的用户登录后系统的反应时间
三. 测试分析
小型机和PC服务器构建的数据库集群系统整体性能相当。由于PC服务器系统中间层采用40个XEON 500M 的CPU(10*4=40),而小型机系统的中间层采用32个550M CPU(4*8=32),所以PC服务器系统比小型机系统有更多的接入能力。数据库层两个系统的配置相当,由于PC服务器系统的用户数更多,系统的反应时间比小型机系统慢,我们可以通过选择更高主频CPU(如700M,900M)提高系统的反应速度。