MySQL Galera集群和ORACLE RAC的实现原理比较

MySQL Galera(以下简称MG)是通shared nothing结构,整个cluster中每个节点都有一个单独的数据拷贝.而

RAC是shared everything的结构,集群中所有的结点共享一份数据.

对于MG中的一条数据修改,必须要有一定的手段传播到其他的节点上,这个过程通过分发binlog来实现.而RAC是

只有一份数据,所以不需要对修改的数据传播到其他节点的开销.

MG采用了两阶段提交协议,在一个节点上对事务进行提交之前,需要在其他的节点进行相应的提交请交,等

到其他节点上都准备好了以后,再开始提交.而RAC没有这种开销或是开销极少。因此事务响应的时候受网络或

其他节点的影响较大.

对IO的开销,我们知道MG是通过同步复制实现集群的数据一致性,假设一个事务写一次磁盘操作,集群中有三个

节点,而每一次提交一个事务都会在每个节点上产生一次IO操作,整个集群的IO开销是3次,而在RAC中,只需要1次

IO操作就可以了。这也是造成MG的开销很大的基本原因。使MG的集群并不能很好的进行写扩展,同时也使整个MG的

性能受到最差配置的节点的影响.

因此我更愿意把MG看作是一种高可用性的方案,比如某系统对高可用性要求非常高,这时候做两个到三节点的

集群,平常只在一个节点上写入,而其他的节点做成只读查询.前端通过haproxy或是lvs转发,当一个节点挂点后,另一个节点

可以实现无缝使用.而不会有MHA+mysql异步复制带来的可能数据丢失的问题.但是当一个节点写入,同时还要写到其他

的节点上,而其他的节点上还需要进行只读查询,可能影响对来自写节点提交确认的响应,不过我们可以通过使用SSD之类的方案

来减少响应的时间.

Mysql cluster的基本实现原理和MG也很类似,但是只支持ndb,而不像MG一样只支持innodb,考虑到ndb太多的缺

陷,所以很少去讨论了.

mysql rac_MySQL Galera集群和ORACLE RAC的实现原理比较相关推荐

  1. 银河麒麟服务器操作系统V10SP2搭建mysql的galera集群

    传统架构的使用,一直被人们所诟病,因为MySQL的主从模式,天生的不能完全保证数据一致,很多大公司会花很大人力物力去解决这个问题,而效果却一般,可以说,只能是通过牺牲性能,来获得数据一致性,但也只是在 ...

  2. oracle集群crs,oracle rac集群 crs常用命令(转)

    from: 常用的crs命令如下: $ORA_CRS_HOME/bin/crs_stat –t 此命令主要用来检查crs资源状态 例如 [oracle@rac2 css]$ $ORA_CRS_HOME ...

  3. 大话oracle rac 集群,大话ORACLE RAC 集群、ORACLE Clusterware

    什么是集群 集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库.Web服务和文件服务等)的单一客户视图.集群系统一般通过两台 ...

  4. oracle rac 集群配置,ORACLE RAC集群配置管理工具-SRVCTL

    SRVCTL概述 SRVCTL是ORACLE RAC集群配置管理的工具,可以管理Database.Instance.ASM.Service.Listener和Node Application,Node ...

  5. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  6. gelera mysql_基于Galera的MySQL高可用集群

    MySQL的高可用方案 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据 ...

  7. mysql galera 安装_MySQL Galera 集群的安装过程

    MySQL Galera 集群的安装过程 MySQL Galera集群版的mysql是经过codeship打了wsrep补丁的,不是普通的mysql版本.可以从github下载. 环境:redhat ...

  8. mysql galera haproxy_安装配置Haproxy代理MySQL Galera集群

    这篇文章,我讲介绍如何为MariaDB Galera 集群添加负载均衡,大致步骤如下:确认所有Galera节点作为一个单一集群运行(所有节点都是主节点而且相互同步) 安装Haproxy(你可以安装到独 ...

  9. 如何在Ubuntu 16.04上使用MySQL 5.6配置Galera集群

    原作者:梅丽莎安德森  转载翻译:https://www.digitalocean.com/community/tutorials/how-to-configure-a-galera-cluster- ...

最新文章

  1. 黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)
  2. python 之模块引入
  3. JAVA定义一个多边形类_如何在每个数据类别中绘制多个多边形?
  4. 如何给定两个gps坐标 算出航向角_机器人开发如何配置ROS中的TF变换关系?
  5. 不定高宽的元素居中的方法
  6. [转载] 像 IDE 一样使用 vim
  7. 使用EXCEL进行线性回归
  8. 计算机中丢失mplugin.dll,安装MathType时提示缺少Mplugin.dll文件
  9. 2021-4-25科学计算器开高次根号
  10. 技术圈大佬,带你用技术赚到副业的第一桶金!
  11. bzoj 4453: cys就是要拿英魂!(后缀数组+二分)
  12. .NETZ 原理分析 .NETZ - .NET Executables Compressor .NETZ compresses the Microsoft .NET Framework execu
  13. rca接口_常用的音频接口及焊接方法
  14. E.Neko and Flashback
  15. Java DOM4J解析String类型XML,Document对象转String
  16. python opencv-11图像像素归一化
  17. 抓取网易云评论,生成词云图
  18. 字节跳动智力题-分金块问题
  19. MVC模式的正确理解
  20. 兴趣遍地都是,专注和持之以恒才是真正稀缺的

热门文章

  1. 如何改变Myeclipse编辑区背景色(转)
  2. c#通过反射移除所有事件
  3. web服务器IIS详细错误代码以及解释
  4. power of love
  5. 【实用工具】之在VS中使用自定义工具配置nasm/yasm
  6. python数字替换成中文replace_Python3字符串替换replace(),translate(),re.sub()
  7. mysql orderby 指定值_首先在MySQL中指定字段值ORDER BY
  8. Spring-core-SpringFactoriesLoader类
  9. MIT6.830 lab5 B+ Tree Index 实验报告
  10. python __init__(self)_python中的_init_和self是什么的关系?