`
y806839048
  • 浏览: 1082400 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

数据库集群方案及Oracle RAC架构分析

阅读更多

 

 

总括:常用数据库集群思路:

 

多活---多主

 

目前mysql ,sqlserver都是主从

 

主从根据binlog日志同步,数据库同步大多用这个原理

 

 

一般都是读连接从,写连接主

用了Mycat,Oracle RAC等就可以通过这个中间件实现切换主从,应用层序连接虚拟vip即可

 

Mycat:

  分库分表,主从切换

Oracle RAC:

    多主切换

示例:

 

外界的应用程序不管中间件的集群切换,集群的切换由集群本身或者专门切换工具切换然后置换出vip,共外界访问

 

 

应对业务量的不断增加场景通常有两个大方向,一种是纵向扩展,也就是增加单台服务器的CPU计算能力、内存容量和磁盘承载能力等;另外一种是横向扩展,也就是通过增加服务器的数量来增加处理能力。前者存在业务中断和扩展上限等诸多的问题,特别是互联网业务的迅猛发展,单台服务器几乎无法满足业务负载要求,因此目前比较流行的方式横向扩展的方式。数据库集群

数据库的横向扩展是通过数据库集群实现的。数据库集群也有两种主要形式,一种是主备(主从)架构,也就是只有一台服务器上的数据库可以访问,另一个(多个)服务器上数据库不能访问或者只能进行读操作。另外一种是多活架构,这种架构中所有服务器都可以对外提供服务(可同时读写)。

当前市面上大部分数据库是主从架构,比如MySQL和SQL Server等。如图1是大名鼎鼎的MySQL数据库的主从复制原理图。主从复制是通过重放binlog实现主库数据的异步复制。由于从binlog获取数据并重放与主库写入数据存在时间延迟,因此从库的数据总是要滞后主库。这个也是主从架构的缺点,也就是无法保证数据的分布式一致性。主库宕机的情况下可能会丢失一部分数据。

图1 MySQL主从复制分区多活集群

多活架构是集群中的节点可以同时对外提供服务。根据集群中节点是否可以共享数据,多活架构又分为两种。一种是非共享数据的多活,该种情况下集群节点不能共享数据,每个节点负责不同的数据。比如将数据库表以主键ID进行划分(比如取模),不同节点负责不同的区域。目前这种多活方案可以通过数据库中间件实现,比如开源的Mycat等。

图2 基于Mycat的多活架构

如图2所示是基于Mycat的多活数据库集群,这里面主要划分为2个区域,每个区域通过主备保证可用性和分摊负载。具体策略可以采用取模的方式,比如主键ID为1,3,5,7...时数据存储在左边主库中;2,4,6,8...时数据存储在右边主库中。

由于数据的隔离性,上述访问存在一个主要问题就是扩容相对困难。当需要增加集群节点数量的时候,就需要重新划分数据的存储位置,从而需要做大量的数据迁移。这样,不仅仅操作复杂,而且增加了出现问题的风险。共享存储多活集群(Oracle RAC)

另外一种多活架构是共享存储集群架构,比较典型的就是Oracle RAC(全称Oracle Real Application Cluster)。在该架构中集群中多个节点运行的是同一个数据库实例,数据完全一致,并且用户层面无论从那个节点访问,获取到的数据都是相同的。如图3是Oracle RAC的示意图,通过3个节点构成一个集群,它们共享数据。

图3 Oracle RAC示意图

为了保证整个集群的可用性,Oracle RAC在部署的时候对硬件有比较多的要求。在网络层面,Oracle RAC总共有3个网络系统,分别是外部访问网络、内部私有网络和存储网络。外部访问网络不用多少,相信大家都理解。内部私有网络则主要用来进行Oracle集群内部使用,包括数据传输、心跳和集群管理等。这部分网络在部署的时候要求双交换机和双物理链路,保证不会因为链路故障导致集群异常。后面是存储网络,存储网络用于RAC集群访问存储资源,这部分也是链路冗余的。

图4 Oracle RAC物理部署图

为了更加深入的理解Oracle RAC我们看一下其内部软件模块的组成。整个数据库层面没有太多差异,这里面主要多出了如下内容:虚拟IP(VIP)、ASM、Clusterware和仲裁磁盘。这些新组件配合起来完成了Oracle的多活集群功能。

虚拟IP是应用访问数据库的入口,该IP并不与任何服务器绑定,而是可以在集群的任意服务器间漂移。由于具有这个特性,当出现服务器宕机等情况时,数据集集群可以保证通过相同的接口对外提供服务。

图5 Oracle RAC软件模块图

ASM与Clusterware实现了集群管理功能,其中ASM实现对磁盘的管理,避免同时访问磁盘导致数据不一致的风险,而Clusterware则用于管理Oracle集群的软件进程及资源调度。

仲裁磁盘用于集群中服务器的异常判断,集群中的节点通过定时更新仲裁磁盘中特定区域的数据标示自身的健康状态。其它节点可以根据该数据判断该节点是否宕机。

分享到:
评论

相关推荐

    深度挖掘ORACLERAC数据库架构分析与实战攻略.part2

    一共分为3个部分,共9章。第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。

    深度挖掘ORACLERAC数据库架构分析与实战攻略.part3

    一共分为3个部分,共9章。第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。

    深度挖掘ORACLERAC数据库架构分析与实战攻略.part1

    一共分为3个部分,共9章。第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。

    基于Linux平台Oracle RAC集群数据库监控系统的设计与实现.pdf

    基于Linux平台Oracle RAC集群数据库监控系统的设计与实现.pdf

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    第1章 认识Oracle RAC 1.1 RAC产生的背景 1.2 RAC体系结构 1.2.1整体结构 1.2.2物理层次结构 1.2.3逻辑层次结构 1.3 RAC的特点 1.3.1双机并行 1.3.2高可用性 1.3.3易伸缩性 1.3.4低成本 1.3.5高吞吐量 ...

    构建最高可用Oracle数据库系统:Oracle 11gR2 RAC管理、维护与性能优化

    Oracle 11gR2 RAC管理、维护与性能优化》从硬件和软件两个维度系统且全面地讲解了Oracle 11g R2 RAC的架构、工作原理、管理及维护的系统理论和方法,以及性能优化的技巧和最佳实践,能为构建最高可用的Oracle数据库...

    深度挖掘 ORACLE RAC 数据库架构分析与实战攻略.part3

    第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。 文档共分三个压缩包

    深度挖掘 ORACLE RAC 数据库架构分析与实战攻略.part2

    第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。 文档共分三个压缩包

    深度挖掘 ORACLE RAC 数据库架构分析与实战攻略.part1

    第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。 文档共分三个压缩包

    oracle rac to rac adg 生产案例,某三甲医院部署场景

    软件架构:Oracle RAC 11g 二、部署规划 1、集群ASM磁盘组规划 2、主备库数据存储路径规划 2、主备库实例规划 集群名称 ASM diskgroup(vote) ASM diskgroup (database managefile) ASM diskgroup (recovery ...

    Oracle11g 集群 中文白皮书

    Oracle 网格基础架构简介 使用 Oracle 网格基础架构简化网格安装 典型安装和高级安装 前提条件检查、Secure ...使用 Oracle Clusterware 管理 Oracle RAC 数据库 使用 Oracle Clusterware 管理任何类型的应用程序.

    Oracle升级迁移实战文章和方案文档汇总-共168篇.xlsx

    Oracle11g单实例迁移到RAC架构方案v1.1 如何利用 RMAN 可传输表空间迁移数据库到不同字节序的平台 (Doc ID 1983639.1) 如何利用 RMAN 可传输表空间迁移数据库到不同字节序的平台 (Doc ID 1983639.1) 跨 OS 平台迁移 ...

    Oracle 10g 网格数据库研讨会33个PPT下载

    Oracle真正应用集群 (RAC) 10g的新特性 Oracle真正应用集群 (RAC) 最佳实践 Oracle真正应用集群的成功:可扩展性、低成本和高可用性 基于Asianux的Oracle:企业基础架构平台 简化工作-自动存储管理 将...

    北京中科信软 oracle培训

    课程内容: 1. Data Guard 1.1 Data Guard概述 1.2 Data Guard构成及操作方式 Primary 数据库 Standby 数据库 Data Guard的操作方式 1.3 Standby 数据库类型 ...2.3 RAC集群架构 2.4 Oracle RAC的优缺点

    浅谈oracle rac和分布式数据库的区别

    .RAC是ORACLE集群,数据是共享存储,只有一份,每个节点都不存放数据。节点可以宕,但是数据不会丢失; 4.分布式数据库支持的节点多,增加节点基本为线性增加;rac支持的节点数少,增加节点性能不是线性增加; 5....

    国产数据库DM8在kylin 10部署共享存储集群(DMASM),对标熟悉的Oracle 19c RAC

    在使用国产数据库DM8的过程中,学习、测试、部署的过程,对于熟悉Oracle 19c RAC的架构的工程师,搭建一套共存的环境,会便利许多。 借鉴Oracle学习Dameng,同环境性能测试,部署测试等比异机更准确有效。

    greenplum-db-5.10.2-rhel6-x86_64

    什么是GREENPLUM? 对于很多IT人来说GREENPLUM是个陌生的名字。简单的说它就是一个与ORACLE, DB2一样面向对象的关系型数据库。我们通过标准的SQL可以对GP中的数据进行...与RAC不同,这种数据库集群采取的是MPP架构。

    构建DB2+DPF大型数据仓库经验谈

    集群数据库,类似于ORACLE的RAC.但在架构上跟ORACLE RAC 存在很大的不同. DB2 DPF 采用非共享体系架构(Share-nothing)每个节点独立处理单一任务的能力,每个子 任务处理一部份数据.分区间数据通过高速网络进行交互....

    Oracle和MySQL的高可用方案对比分析

    通过这样的对比,会对两种数据库架构设计上的细节差异有一个基本的认识。Oracle有一套很成熟的解决方案。用我在OOW上的ppt来看,是MAA的方案,今年是这个方案的16周年了。 而MySQL因为开源的特点,社区里推出了更多...

    数据库容灾系统方案.doc

    作为 Oracle 数据库企业版的一个特性推出的Data Guard能够与其他的Oracle高可用性(HA)解决方案(如真正应用集群(RAC)和恢复管 理器(RMAN))结合使用,以提供业内前所未有的高水平数据保护和数据可用性。...

Global site tag (gtag.js) - Google Analytics