加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

数据库集群方案及Oracle RAC架构说明

发布时间:2019-08-03 15:02:39 所属栏目:编程 来源:SunnyZhang
导读:应对营业量的不绝增进场景凡是有两个大偏向,一种是纵向扩展,也就是增进单台处事器的CPU计较手段、内存容量和磁盘承载手段等;其它一种是横向扩展,也就是通过增进处事器的数目来增进处理赏罚手段。前者存在营业间断和扩展上限等诸多的题目,出格是互联网营业

应对营业量的不绝增进场景凡是有两个大偏向,一种是纵向扩展,也就是增进单台处事器的CPU计较手段、内存容量和磁盘承载手段等;其它一种是横向扩展,也就是通过增进处事器的数目来增进处理赏罚手段。前者存在营业间断和扩展上限等诸多的题目,出格是互联网营业的迅猛成长,单台处事器险些无法满意营业负载要求,因此今朝较量风行的方法横向扩展的方法。

1. 数据库集群

数据库的横向扩展是通过数据库集群实现的。数据库集群也有两种首要情势,一种是主备(主从)架构,也就是只有一台处事器上的数据库可以会见,另一个(多个)处事器上数据库不能会见可能只能举办读操纵。其它一种是多活架构,这种架构中全部处事器都可以对外提供处事(可同时读写)。

当前市面上大部门数据库是主从架构,好比MySQL和SQL Server等。如图1是台甫鼎鼎的MySQL数据库的主从复制道理图。主从复制是通过重放binlog实现主库数据的异步复制。因为从binlog获取数据并重放与主库写入数据存在时刻耽误,因此从库的数据老是要滞后主库。这个也是主从架构的弱点,也就是无法担保数据的漫衍式同等性。主库宕机的环境下也许会丢失一部门数据。

数据库集群方案及Oracle RAC架构说明

图1 MySQL主从复制

2. 分区多活集群

多活架构是集群中的节点可以同时对外提供处事。按照集群中节点是否可以共享数据,多活架构又分为两种。一种长短共享数据的多活,该种环境下集群节点不能共享数据,每个节点认真差异的数据。好比将数据库表以主键ID举办分别(好比取模),差异节点认真差异的地区。今朝这种多活方案可以通过数据库中间件实现,好比开源的Mycat等。

数据库集群方案及Oracle RAC架构说明

图2 基于Mycat的多活架构

如图2所示是基于Mycat的多活数据库集群,这内里首要分别为2个地区,每个地区通过主备担保可用性和分摊负载。详细计策可以回收取模的方法,好比主键ID为1,3,5,7...时数据存储在左边主库中;2,4,6,8...时数据存储在右边主库中。

因为数据的断绝性,上述会见存在一个首要题目就是扩容相对坚苦。当必要增进集群节点数目的时辰,就必要从头分别数据的存储位置,从而必要做大量的数据迁徙。这样,不只仅操纵伟大,并且增进了呈现题目的风险。

3. 共享存储多活集群(Oracle RAC)

其它一种多活架构是共享存储集群架构,较量典范的就是Oracle RAC(全称Oracle Real Application Cluster)。在该架构中集群中多个节点运行的是统一个数据库实例,数据完全同等,而且用户层面无论从谁人节点会见,获取到的数据都是沟通的。如图3是Oracle RAC的表示图,通过3个节点组成一个集群,它们共享数据。

数据库集群方案及Oracle RAC架构说明

图3 Oracle RAC表示图

为了担保整个集群的可用性,Oracle RAC在陈设的时辰对硬件有较量多的要求。在收集层面,Oracle RAC总共有3个收集体系,别离是外部会见收集、内部私有收集和存储收集。外部会见收集不消几多,信托各人都领略。内部私有收集则首要用来举办Oracle集群内部行使,包罗数据传输、心跳和集群打点等。这部门收集在陈设的时辰要求双互换机和双物理链路,担保不会由于链路妨碍导致集群非常。后头是存储收集,存储收集用于RAC集群会见存储资源,这部门也是链路冗余的。

Oracle RAC物理陈设图

图4 Oracle RAC物理陈设图

为了越发深入的领略Oracle RAC我们看一下其内部软件模块的构成。整个数据库层面没有太多差别,这内里首要多出了如下内容:假造IP(VIP)、ASM、Clusterware和仲裁磁盘。这些新组件共同起来完成了Oracle的多活集群成果。

假造IP是应用会见数据库的进口,该IP并不与任那里事器绑定,而是可以在集群的恣意处事器间漂移。因为具有这个特征,当呈现处事器宕机等环境时,数据集集群可以担保通过沟通的接口对外提供处事。

Oracle RAC软件模块图

图5 Oracle RAC软件模块图

ASM与Clusterware实现了集群打点成果,个中ASM实现对磁盘的打点,停止同时会见磁盘导致数据纷歧致的风险,而Clusterware则用于打点Oracle集群的软件历程及资源调治。

仲裁磁盘用于集群中处事器的非常判定,集群中的节点通过按时更新仲裁磁盘中特定地区的数据标示自身的康健状态。其余节点可以按照该数据判定该节点是否宕机。

【编辑保举】

  1. MariaDB:真正的及时同步数据库,MySQL要警惕了
  2. 怎样选择高机能NoSQL数据库
  3. 挑衅 Oracle 的环球首个 AI 原生数据库 GaussDB,华为将开源
  4. Linux下怎样实现MySQL数据库天天按时自动备份
  5. 一文学会MySQL数据库机能优化:建设表、计划表、SQL优化
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读