RAC和DG是高可用体系中的常用的两种工具,每个工具既可以独立应用,也可以相互配合使用。但是各自的侧重点不同,适用场景也不同。
ORACLE RAC (Real Application Clusters )
是一种本地的高可用集群,每个节点用来分担不同或相同的应用,以解决运算效率低下、单点故障这样的问题,它是几台硬件相同或不相同的服务器加一个共享存储来构成的。通过多个实例访问一个数据库做的集群,当一个实例自动使用另一个实例,前端无影响,并且实例负载均衡。
RAC的强项在于解决单点故障和负载均衡,所以,RAC方案常用于核心系统,但是RAC方案中的数据只有一份,尽管可以通过RAID等机制避免存储故障,但是数据本身是没有冗余的,因此需要加强备份。
ORACLE DG(Data Guard)
是一种数据库容灾,一个主库一个或多个备库,主库传送日志到备库应用,做一个镜像,还有角色转换。
DG是Oracle的远程复制技术,有物理库和逻辑库之分,它需要在异地有一套独立的系统,是一种异地容灾的解决方案。DG通过冗余数据的方式来提供数据保护,通过日志同步机制保证冗余数据和主库之间的同步,这种同步可以是实时、延时、同步或异步等多种形式。DG常用于异地容灾和小企业的高可用性方案,可以在备库上执行只读地查询操作,从而分散主库的性能压力。oracle
GG(GoldenGate)
是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。可以实现一对一、一对多、聚合(多对一)、双向复制、层叠、点对点、级联等多种灵活的拓扑结构。