Oracle rac与HA的区别
相同点:HA和RAC都是 为了提升数据库持续服务能力。 都使用共享存储来存储数据。 都是通过多台具有相同硬件结构的机器构成一个群集。 各个机器和存储之间都使用光纤进行通信,每台机器都需要2个或者2个以上的网卡分别用于提供public和private连接。 在IO上都要受到共享存储IO的限制。 在软件上所有机器都要装相同的操作系统,相同版本的oracle软件和补丁等等。 不同点: RAC中每个节点都有自己实例,undo表空间,redo文件,SGA,共享控制文件和其他数据文件;HA每个节点都有自己的实例,共享redo文件,undo表空间和控制文件和其他数据文件。 在同一时刻,RAC 的所有节点都能分别对外提供服务。HA只能有一个节点对外提供服务。 rac环境中,只要存在一个节点未宕机,则整体仍能持续对外提供服务,不会出现服务中断的情况;而HA原则上虽然只要存在一个节点未宕机,群集仍能将其切换为主服务节点,但是切换服务的过程由于群集软件的切换操作和节点的接管操作会造成短时间的服务中断。 在同一时刻,HA对外所能提供的最大IO为共享存储的IO,最大的内存和cpu资源均为当前主服务节点的资源;而在同一时刻rac对外所能提供的最大IO为共享存储的IO,最大内存和cpu资源为当前活着的节点的总和,在数据处理并发服务方面比HA有了硬件上的绝对优势
在一个节点故障时,rac能持续对外提供服务,而HA可能会出现短暂的服务中断,RAC在持续服务方面要优于HA; 由于在同一时刻rac能通过所以节点对外提供服务而HA只能由主服务节点提供对外服务,RAC在并发服务和硬件资源上优于HA; 由于rac还需要rac软件的license,一般rac的节点会比HA多,在成本投入方面RAC要比HA高; 由于rac需要在多个节点之间进行数据同步和通信,原理和构成比HA更复杂,在维护性方面RAC要比HA更复杂 |