位置: 编程技术 - 正文

Oracle和MySQL的高可用方案对比分析(oracle与mysql的优缺点对比)

编辑:rootadmin

推荐整理分享Oracle和MySQL的高可用方案对比分析(oracle与mysql的优缺点对比),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:oracle和mysql性能对比,oracle和mysql比较,oracle 和 mysql,mysql和oracle哪个性能更好,mysql和oracle哪个性能更好,oracle和mysql性能对比,oracle 和 mysql,oracle 和 mysql,内容如对您有帮助,希望把文章链接给更多的朋友!

关于Oracle和MySQL的高可用方案,其实一直想要总结了,就会分为几个系列来简单说说。通过这样的对比,会对两种数据库架构设计上的细节差异有一个基本的认识。Oracle有一套很成熟的解决方案。用我在OOW上的ppt来看,是MAA的方案,今年是这个方案的周年了。

而MySQL因为开源的特点,社区里推出了更多的解决方案,个人的见解,InnoDB Cluster会是MySQL以后的高可用方案标配。

而目前来看,MGR固然不错,MySQL Cluster方案也有,PXC,Galera等方案,个人还是更倾向于MHA.

所以本文会分为几个部分来解读,先拿RAC和MHA来做一个基本的对比。

Oracle的解决方案在阿里快速发展时期支撑起了核心业务的需求。大概是这样的架构体系,看起来很庞大。里面的RAC算是一个贵族,用昂贵的商业存储,网络带宽要求极高,前端大量的小机业务还有不菲的licence费用。非常典型的IOE的经典架构。

如果要考虑异地容灾,那么资源配置要double,预算翻番。

MySQL的架构方案相对来说更加平民化,普通的pc就可以,但是数量级要高,做业务拆分,水平拆分就能够横向扩展出非常多的节点,很多大互联网公司的MySQL集群规模都是几百几百的规模,上千都不稀奇。如此之多的服务资源,发生故障的概率还是有的,保证业务服务的可持续性访问,是技术方案的关键。如果按照MHA的架构,基本上就是MHA Manager节点来负责整个集群的状态,好比一个居委会大妈,对住户的大大小小的事情都了如指掌包打听。

当然上面的说法过于笼统,我们从一些细节入手。比如先来说说网络的事情。

Oracle对于网络的要求还是很严格的,一般都是要2块物理网卡,每台服务器需要至少3个IP, Public IP,private IP,VIP,除了共享存储,至少需要2个计算节点。

private IP是节点间互信的,Public IP和VIP在一个网段,简单来说,VIP是对外的,是public IP所在网络的漂移IP,在g里面都是通过VIP来做负载均衡的,g开始有了scan-IP,原来的VIP还是保留,所以Oracle里面的网络配置要求还是很高的。抛开共享存储,搭建的核心就是网络配置了,网络通则通。

scan-IP还可以继续扩展,最多支持3个scan-ip,如下图所示

当然网络层面不只是这些,这方面的亮点Oracle就很专业了。我们有必要了解下TAF,在我的书中《Oracle DBA工作笔记》中,我这样写道:

TAF(Transparent Application Failover)是Oracle中对应用透明的故障转移,在RAC环境中使用尤其广泛。在RAC中Load Balance这块确实做了很大的改进,从g版本开始的多个VIP地址的Load Balance,到g版本中的SCAN,做了很大的简化。

而在Failover的实现中,还是有一定的使用限定,比如g中默认的SCAN-IP的实现其实默认没有Failover的选项,如果两个节点中的其中一个节点挂了,那么原有的连接中继续查询就会提示session已经断开,需要重新连接。客户端TAF主要会讨论Failover Method和Failover Type的一些简单内容。

Oracle和MySQL的高可用方案对比分析(oracle与mysql的优缺点对比)

(1)Failover Method

Failover Method的主要思路就是换取故障转移时间,或者换取资源来实现。

可以这样来理解,假设我们存在两个节点,如果某个session连接到了节点2,然而节点2突然挂了,为了更快处理Failover这种情况,Failover Method有preconnect和basic两种。

— preconnect这种预连接方式还是会占用较多的资源使用,在各个节点上会预先占用一部分额外的资源,在切换时会相对更加平滑,速度更快。

— basic这种方式,则在发生Failover时,再去切换对应的资源,中间会有一些卡顿,但是对于资源的消耗相对来说要小很多。

简单来说,basic方式会在故障发生时才去判断,而preconnect则是未雨绸缪;从实际的应用来说,basic这种方式更加通用,也是默认的故障转移方式。

(2)Failover Type

Failover Type实现更加丰富而且灵活,非常强大。这个时候控制粒度可以针对用户SQL的执行情况进行控制,有select和session两种;通过一个小例子说明一下。

比如,我们有个很大的查询在节点2上进行,结果节点2突然挂了,对于正在执行的查询,比如说有 条数据,结果刚好故障发生的时候查出了8 条,那么剩下的2 该怎么处理。

第一种方式就是使用select;即会完成故障切换,继续把剩下的2 条记录返回,当然中间会有一些上下文环境的切换,对于用户是透明的。

第二种方式是session;即直接断开连接,要求重新查询。

在g版本中借助于VIP的配置达到Load Balance+Failover的配置如下:

从这个角度来看Oracle的方案真是精细。再来看看MySQL的方案。

分布式的方案,让MySQL看起来像一把瑞士牛刀,对于网络层面的要求,几乎可以说MySQL没有什么要求,申请一主一从,那么就只需要4个IP即可(主,从,VIP,MHA_Manager(考虑一个manager节点)),一主两从是5个。

这一点上MySQL原生并不支持所谓的负载均衡,可以通过前端的业务来分流,比如使用中间件proxy,或者持续的拆分,达到一定的粒度后,通过架构设计的方式来满足需求。因为基于逻辑的复制,很容易扩展,一主多从都是很常见的,代价也不高,延迟不能说没有,只是很低,能够适应绝大部分的互联网业务需求。

而说到触发MHA切换的条件,从网络层面来看,如下的红点都是潜在的隐患,有的是网络的中断,有的是网络的延迟,发生故障的时候,保数据还是保性能稳定,都可以基于自己的需求来定制。从这一点上来说,丢失数据的概率是有的。绝对不是强一致性的无损复制。

整体来看两种方案,RAC是集中共享,除了存储层面的共享外,网络层面的组播其实也会提高节点间通信的成本,所以RAC对于网络的需求很大,如果存在延迟是很危险的,发生了脑裂就很尴尬了。MySQL MHA的方案是分布式的。支持大批量的环境,节点间通信的成本相对来说要低很多。但是从数据架构的角度来说,因为是复制的数据分布方式,所以对于存储尽管不是共享存储,但是对于存储的成本还是高于RAC(不是说存储的价格,是存储的数据量大小).

如何使用mysql完成excel中的数据生成 Excel是数据分析中最常用的工具,本篇文章通过mysql与excel的功能对比介绍如何使用mysql完成excel中的数据生成,数据清洗,预处理,以及最常见的数据分

MySQL中报错:Can’t find file: ‘./mysql/plugin.frm’的解决方法 发现问题最近在工作中发现了一个问题,这个问题就是MySQL的磁盘满了,将数据库目录data移动到/data3目录,/etc/my.cnf里面也修改了相应的datadir目录,权

Mac OS系统下mysql 5.7.安装教程图文详解 MacOSX下TAR.GZ方式安装MySQL5.7与MySQL5.6相比,5.7版本在安装时有两处不同:1:初始化方式改变,从scripts/mysql_install_db--user=mysql初始化方式变成了bin/mysqld--initializ

标签: oracle与mysql的优缺点对比

本文链接地址:https://www.jiuchutong.com/biancheng/312067.html 转载请保留说明!

上一篇:MySQL数据库设计之利用Python操作Schema方法详解(MYSQL数据库设计与应用第二版)

下一篇:如何使用mysql完成excel中的数据生成(mysql使用指南)

  • 税务清算都交什么费用
  • 企业清算过程中发生的费用
  • 稿酬所得个人所得税税率表
  • 盖了骑缝章的合同怎么写
  • 设备计提的折旧为什么要交所得税
  • 个人所得税10月突然增加了
  • 航空公司开具的个人抬头的发票可以税前扣除吗
  • 差额征税扣除额是什么意思
  • 减免水利基金政策
  • 计提当月社保会计分录
  • 企业破产时下列受偿等级最高的是
  • 开具成品油专用发票时,应遵守哪些规则
  • 税收滞纳金可以免除吗
  • 交以前年度所得税怎么算
  • 高新技术产品收入增长率公式
  • 现金存款凭证
  • 增值税留抵的原因
  • 利息股息红利个税如何计算
  • 电子发票是专用发票吗
  • 货币资金闲置对企业偿债能力的影响
  • 冲减增值税销项税额
  • 购进农产品怎么做账
  • 没有销项税进项要交税吗
  • 个税申报密码是什么意思
  • 网络发票开具
  • mac上锁
  • windows4月更新
  • 工地购买的零星材料计入什么科目
  • 广告业财政拨款包括哪些
  • 工业园租金大概是多少
  • php输出mysql查询结果
  • 民办学校的财务制度
  • 金融商品转让属于什么服务
  • wordpress site
  • php转换字符编码
  • 债券投资账务处理例题
  • vue父组件如何调用子组件的方法组合式api
  • 增值税减免怎么填写
  • HTTP Tunneling (HTTP Proxy Socket Client)
  • 发票违法行为的认定
  • 其他应收款包括应收利息吗
  • 进口形式发票能证明商品是进口的吗
  • 财政补贴收入账务处理
  • 进项税额转出月底需要结转吗
  • 织梦安装数据库一直连接失败
  • 什么是承兑汇票套现
  • 公司优秀党员奖章
  • 直接转销法还允许使用吗
  • 专项应付款和政府补助的区别
  • 电影剧本稿费多少
  • 购进商品用于销售
  • 购入的固定资产,其入账价值包括的内容有
  • 资产减值准备怎么提
  • 未发货未收款先开具发票怎么账务处理
  • 销项发票能不能退税
  • 企业整个月没有缴纳社保
  • 数电怎么增加开票员
  • centos6.5中文
  • win8系统计算器快捷键
  • ubuntu设置共享文件夹命令mount
  • windows更新88
  • win8如何设置
  • pdv是什么格式文件
  • win10系统怎么设置最好
  • win8.1卸载系统自带应用工具
  • UNITY 4.6.2 IOS 64-BIT SUPPORT
  • extjs DataReader、JsonReader、XmlReader的构造方法
  • javascript中math.ceil
  • js的getattribute
  • shell的实现
  • 如何删除命令
  • 用javascript
  • jquery回车触发事件
  • node的理解
  • Android studio DrawerLayout
  • 用python做
  • Javascript & DHTML 实例编程(教程)(四)初级实例篇2—动画
  • python 管理系统
  • 企业租赁房屋需要预缴增值税吗
  • 12366国税网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设