在Oracle中,RAC、DG和OGG的区别有哪些?
什么是高可用?
高可用(High Availability,HA)也可以称为高可用性或高可用环境。
HA是分布式系统架构设计中必须考虑的因素之一。
HA通常是指通过设计来减少系统不能提供服务的时间。
假设系统一直能够提供服务,那么这时就可以称系统的可用性是100%。
如果系统每运行100个时间单位,会有1个时间单位无法提供服务,那么可以称系统的可用性是99%。
单点是系统高可用的最大的风险和敌人,应该尽量在系统设计的过程中避免单点。
在方法论上
高可用保证的原则是“集群化”,或者叫“冗余”。
只有一个单点,挂了服务会受影响;如果有冗余备份,那么挂了还有其它备份能够继续提供服务。
若要保证系统高可用,则架构设计的核心准则是:冗余。 > 有了冗余之后,还不够,每次出现故障需要人工介入恢复势必会增加系统的不可服务实践。所以,又往往是通过“自动故障转移”来实现系统的高可用。RAC提供了实例级别的冗余
DG提供了数据存储级别的冗余。
Oracle Failsafe、DG(Data Guard)、RAC和OGG均为Oracle公司提供的高可靠性(HA)解决方案,但是这几种方案之间却存在着很大区别,下面分别讲解:
Failsafe和RAC的区别
1、操作系统
Failsafe系统局限于Windows平台,必须配合MSCS(microsoft cluster server)使用,而RAC最早是在UNIX平台推出的,目前已扩展至Linux和Windows平台,通过OSD(operating system dependent)与系统交互。对于高端的RAC应用,UNIX依然是首选的平台。
2、系统结构
Failsafe采用的是Share Nothing结构,即采用若干台服务器组成集群,共同连接到一个共享磁盘系统,在同一时刻,只有一台服务器能够访问共享磁盘,能够对外提供服务。
只要当此服务器失效时,才有另一台接管共享磁盘。
RAC则是采用Share Everything结构,组成集群的每一台服务器都可以访问共享磁盘,都能对外提供服务。
也就是说Failsafe只能利用一台服务器资源,RAC可以并行利用多台服务器资源。
3、运行机理
组成Failsafe集群的每台SERVER有独立的IP,整个集群又有一个IP,另外还为Failsafe Group分配一个单独的IP(后两个IP为虚拟IP,对于客户来说,只需知道集群IP,就可以透明访问数据库)。
工作期间,只有一台服务器(preferred或owner或manager)对外提供服务,其余服务器(operator)成待命状,当前者失效时,另一服务器就会接管前者,包括Failsafe Group IP与Cluster IP,同时Failsafe会启动上面的Database Service,LISTENER和其它服务。客户只要重新连接即可,不需要做任何改动。
对于RAC组成的集群,每台服务器都分别有自已的IP,INSTANCE等,可以单独对外提供服务,只不过它们都是操作位于共享磁盘上的同一个数据库。当某台服务器失效后,用户只要修改网络配置(例如,TNSNAMES.ORA),即可重新连接到仍在正常运行的服务器上,再和TAF结合使用时,甚至网络也可配置成透明的。
4、集群容量
Failsafe通常为两台,RAC在一些平台上能扩展至更多台服务器。
5、分区
Failsafe数据库所在的磁盘必须是NTFS格式的,RAC则相对灵活,裸设备、ASM等都可以。
综上所述,Failsafe比较适合一个可靠性要求很高,应用相对较小,对高性能要求相对不高的系统,而RAC则更适合可靠性、扩展性、性能要求都相对较高的较大型的应用。
RAC和OPS区别
RAC是OPS(Oracle Parallel Server)的后继版本,继承了OPS的概念,但是RAC是全新的,Cache机制和OPS完全不同。RAC解决了OPS中两个节点同时写同一个BLOCK引起的冲突问题。从产品上来说RAC和OPS是完全不同的产品,但是也可以认为是相同产品的不同版本。
RAC、DG和OGG的区别
RAC和DG是高可用体系中的常用的两种工具,每个工具既可以独立应用,也可以相互配合使用。但是它们各自的侧重点不同,适用场景也不同。
RAC是本地的高可用集群
每个节点用来分担不同或相同的应用,以解决运算效率低下、单点故障这样的问题,它是几台硬件相同或不相同的服务器加一个共享存储来构成的。RAC的强项在于解决单点故障和负载均衡,所以,RAC方案常用于7*24的核心系统,但RAC方案中的数据只有一份,尽管可以通过RAID等机制避免存储故障,但是数据本身是没有冗余的,因此需要加强备份。
DG是Oracle的远程复制技术
它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,是一种异地容灾的解决方案。DG通过冗余数据的方式来提供数据保护,通过日志同步机制保证冗余数据和主库之间的同步,这种同步可以是实时、延时、同步或异步等多种形式。DG常用于异地容灾和小企业的高可用性方案,可以在备库上执行只读地查询操作,从而分散主库的性能压力。
OGG软件是一种基于日志的结构化数据复制备份软件
它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。OGG可以实现一对一、广播(一对多)、聚合(多对一)、双向复制、层叠、点对点、级联等多种灵活的拓扑结构,可以实现只复制某几个表的功能。
Oracle高可用性产品比较见下表: