Logo



亚洲最大的rac集群黑客24小时在线接单网站(rac集群命令)

欢迎讨论 Oracle RAC 和 Hadoop的异同点

hadoop是分布式的,数据是分散存储在各个节点,但是设备一般都是廉价的设备,经常出现节点故障,不过对用户来说是透明的。

RAC是ORACLE集群,数据是共享存储,只有一份,每个节点都不存放数据。节点可以宕,但是,数据不会丢失。

hadoop处理方式为 mpp;硬件投资低,硬件数量多;数据仓库与数据分析;数据规模大;支持的节点多,增加节点性能基本为线性增加;

rac为共享磁盘;硬件成本高,硬件数量第;联机事务处理;数据规模小;支持的节点数少,增加节点性能不是线性增加。

简述Oracle数据库RAC真实应用集群的工作原理

Oracle集群

Oracle集群,最早称作OPS(Oracle Parallel Server)出现在Oracle 7版本中,从Oracle 9i开始正式改称为Oracle RAC,RAC即Real Application Clusters的简写,译为“真正应用集群”;RAC 是Oracle新版数据库中采用的一项新技术,也是Oracle数据库支持网格计算环境的核心技术。 10g以前的OPS或者RAC都依赖于第三方集群软件(Vendor Clusterware)方能正常工作,在10g版本中Oracle推出了Oracle Clusterware集群软件以及ASM自动存储管理技术,换而言之10g以后版本的RAC不再依赖于第三方的集群软件(譬如IBM的HACMP,Veritas的VCS等),但必须安装Oracle自己的Clusterware集群软件。 Oracle RAC主要支持Oracle9i、10g、11g版本,可以可以支持24 x 7 有效的数据库应用 系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。 在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。 参考编辑本段Oracle集群参考文档

Oracle RAC一般也可构建于大型SMP主机,IBM的AIX系列服务器往往是其中高端平台,Intel Linux往往作为其低端平台。当AIX UNIX用来运行Oracle RAC作为大型数据库系统平台时,其集群系统构建、实施、运维、高可用设置,有其平台特点。可以参照《Oracle大型数据库系统在AIX/UNIX上的实战详解》,该书以AIX UNIX平台为主线,以其他UNIX系统为参照,描述了数据库系统Oracle 10g、Oracle 11g的RAC的构架方法和过程。在Linux平台,则《大话OracleRAC集群、高可用性、备份与恢复》有着很好的论述。

RAC是什么意思

RAC,全称real application clusters,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。简单的说就是一个数据库,多个实例,数据库是存放在共享存储上,每个实例对应一台服务器。

哪位能介绍下oracle的RAC、集群、双机热备、Dataguard这些东西?

1、RAC就是集群,改变了过去一个实例连接数据库磁阵的处理模式,而是采用多个ORacle实例连接数据库磁阵,各个ORacle实例进行负载均衡,当某个实例down掉,其他实例像备份一样,依然在工作,这样不影响数据库的使用。不像传统采用双机模式,主机宕机,备机接管的模式,这个存在切换时间的问题,而针对集群来说,所有实例都是运行着的,因此不存在切换时间的问题。RAC是oracle的一项收费功能,价格不低哟。如果想用它的话,看看财务有没有这块的预算。

2、双机热备上面已经讲过了“双机模式”,这儿不再讲了。

3、dataguard这个是数据库容灾的一种模式,与前面讲的是不同的概念,是指在正常运行的生产环境之外异地运行的数据库设备(有自己独立的数据库磁阵),如果生产环境发生数据变动,通过dataguard将变动的数据操作从生产环境实时同步过来,保证了生产环境和容灾环境的数据的一致性,如果生产环境数据库瘫痪了,容灾环境就接管过来。 oracle里类似的容灾模块还有高级复制(物化视图)、streams和goldgate,后者是收费的。其他的都是免费提供的。

rac集群中节点信息存放在什么位置

从逻辑上看,RAC集群由存储层、网络层、集群件层、应用层4层组成。

存储层亚洲最大的rac集群:RAC是一个多实例、单数据库亚洲最大的rac集群的系统。数据文件、联机日志、控制文件等文件在集群中只有一份。不管有几个节点,这些节点都平等的使用这些数据文件。

网络层:整个RAC环境中,实际有3个网络存在。一个是由public网卡接入的网络,用于对外提供数据查询等服务;另一个是由private网卡组成的私有网络,用于RAC心跳和cache fusion;第三个是存储设备、光纤交换机、每个节点的HBA卡组成的存储网络。前两个网络上面传输的是IP数据,而后一个网络传输的SCSI数据。

集群件层:在单机环境下,Oracle是运行在OS Kernel之上。OS Kernel负责管理硬件设备,并提供硬件访问接口。Oracle不会直接操作硬件,而是由OS Kernel代替它来完成对硬件的调用请求。到了集群环境下,存储设备是共享的。OS Kernel的设计都是针对单击的,只能控制单击上多个进程间的访问,如果还依赖OS Kernel的服务,就无法保证多个主机之间的协调工作。这时就需要引入额外的控制机制,在RAC中,这个机制就是位于Oracle和OS Kernel之间的Clusterware,它会在OS Kernel之前截获请求,然后和其他节点上Clusterware协商,最终完成上层的请求。

应用层:在介绍这一层时,需要先引入一个名词CRS Resource,整个应用层是由若干 CRS Resource组成的。可以简单的理解,一个Resource通常是一个进程,或者有一组进程组成的完整服务。集群环境之所以能够提供高可用性,是因为集群软件(CRS)对运行于其上的应用进行监视,并在发生异常时进行重启、切换等干预手段。

数据库集群是什么?

集群主要分成三大类 (高可用集群, 负载均衡集群,科学计算集群)

高可用集群( High Availability Cluster)

负载均衡集群(Load Balance Cluster)

科学计算集群(High Performance Computing Cluster)

1、高可用集群(High Availability Cluster)

常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如”双机热备”, “双机互备”, “双机”。高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。

2、负载均衡集群(Load Balance Cluster)

负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

3、科学计算集群(High Performance Computing Cluster)

高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。

高性能计算分类: 

3.1、高吞吐计算(High-throughput Computing)

有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME – Search for Extraterrestrial Intelligence at Home )就是这一类型应用。

这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。

所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。

3.2、分布计算(Distributed Computing)

另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。

下面说说这几种集群的应用场景:

高可用集群这里不多作说明。

想Dubbo是比较偏向于负载均衡集群,用过的猿友应该知道(不知道的可以自行了解一下),Dubbo同一个服务是可以有多个提供者的,当一个消费者过来,它要消费那个提供者,这里是有负载均衡机制在里面的。

搜索引擎Elasticsearch比较偏向于科学计算集群的分布计算。

而到这里,可能不少猿友都知道,集群的一些术语:集群容错、负载均衡。

我们以Dubbo为例:

集群容错()

Dubbo提供了这些容错策略:

集群容错模式:

可以自行扩展集群容错策略,参见:集群扩展

Failover Cluster

失败自动切换,当出现失败,重试其它服务器。(缺省)

通常用于读操作,但重试会带来更长延迟。

可通过retries="2"来设置重试次数(不含第一次)。

Failfast Cluster

快速失败,只发起一次调用,失败立即报错。

通常用于非幂等性的写操作,比如新增记录。

Failsafe Cluster

失败安全,出现异常时,直接忽略。

通常用于写入审计日志等操作。

Failback Cluster

失败自动恢复,后台记录失败请求,定时重发。

通常用于消息通知操作。

Forking Cluster

并行调用多个服务器,只要一个成功即返回。

通常用于实时性要求较高的读操作,但需要浪费更多服务资源。

可通过forks="2"来设置最大并行数。

Broadcast Cluster

广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)

通常用于通知所有提供者更新缓存或日志等本地资源信息。

负载均衡()

Dubbo提供了这些负载均衡策略:

Random LoadBalance

随机,按权重设置随机概率。

在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。

RoundRobin LoadBalance

轮循,按公约后的权重设置轮循比率。

存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

LeastActive LoadBalance

最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。

使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。

ConsistentHash LoadBalance

一致性Hash,相同参数的请求总是发到同一提供者。

当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。

算法参见:。

缺省只对第一个参数Hash,如果要修改,请配置dubbo:parameter key="hash.arguments" value="0,1" /

缺省用160份虚拟节点,如果要修改,请配置dubbo:parameter key="hash.nodes" value="320" /

  亚洲最大的rac集群 


评论


最新评论