到了新公司,公司用的是rac,我比较熟悉mysql第三方的集群方案Galera Cluster这类多主集群,

下面是我参考了他人对rac的介绍,然后和mysql方案进行的臆测级别的分析对比。

rac和mysql Galera Cluster(mgc)的对比,

1、实施和运维,rac是商业方案系统化性当然强点,mgc大多使用各种开源高可用负载均衡器,部署起来对实施人员的要求rac比较低,废话。。。rmb都给了甲骨文了,如果是自行配制弄得不好性能2台还不如一台,其实运维方面来说体量大了都一样;

2、相通性,都是多点事务方案,事务可以在事务节点集群中的任何一个开始,理论上将中间失败也可以自动去另一个节点继续,提交事务是到每台节点上同步,看有没有一个节点上因为锁出现不能提交,那样就事务回滚了,

3、不同性,rac事务节点集群跟数据节点集群分离,数据默认并不冗余,只有事务在运行状态下在事务节点冗余,当然有的时候都在一台机器上,但是至少是不同进程,而包mysql在内的其他主流sqldb的事务、数据似乎都在一起,是真正的多主,冗余量高,而rac应该算事务节点冗余,数据不冗余,如果不从底层数据节点做游离于rac架构之外的底层数据节点冗余,那么rac怎么都不可能比同样节点数量的单机甲骨文实例要性能高,

这样产生的优缺点:

1、rac的数据节点当然首先节省硬盘空间,理论上可以针对库、表、表分区级别进行选择物理不同的数据节点、硬盘进行冗余进行底层冗余,不像mgc要么都冗余,要么都不冗余

2、mysql每个节点 同时是适合写和读的,所以mgc的多主不仅提高了事务的并发能力,更同时增加了不上读锁的数据的读取并发能力,这点远超rac

3、rac本身虽然是高可用方案,故障转移方案,有很高的运维上的可用性要求,层次过多,运维要求很高,当然你可以全交给dba和甲骨文付费服务,自己弄要求非常高,这方面mysql的因为层次少些相对容易运维,当然前提是你的运维人员本来就对mysql集群方案玩的很溜,否则你如果是个产品经理或者项目经理只能觉得mysql不好搞

4、mgc同时抱有对读写、事务的性能提升,并且直接是高可用的,结构简单,单点问题比rac,因为层次少了,所以应该会少,

5、rac得益于甲骨文的天生特效,更适合统计类、bi类,这方面mysql没辙,比不了

6、mgc适合主热数据的读写,不太适合做复杂的关联查询,应该比较适宜业务偏简单的互联网应用

本质上,很多人用甲骨文的原因仅仅是不敢把宝押在开源和名声稍有问题的mysql上。企业应用用甲骨文 实在多少有点冤大头 哈哈哈

互联网就该考虑mysql,如果要兼容并联查询能力 实施pgsql吧

关于Oracle的rac集群和mysql Galera Cluster的想法的更多相关文章

  1. Oracle 12cR1 RAC集群安装(一)--环境准备

    基本环境 操作系统版本 RedHat6.7 数据库版本 12.1.0.2 数据库名称 testdb 数据库实例 testdb1.testdb2 (一)安装服务器硬件要求 配置项目 参数要求 网卡 每台 ...

  2. Oracle 12cR1 RAC集群安装(二)--使用图形界面安装

    Oracle 12cR1 RAC集群安装文档:Oracle 12cR1 RAC集群安装(一)--环境准备Oracle 12cR1 RAC集群安装(二)--使用图形界面安装Oracle 12cR1 RA ...

  3. 转载:【Oracle 集群】RAC知识图文详细教程(七)--Oracle 11G RAC集群安装

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  4. Oracle 11gR2 RAC集群服务启动与关闭总结

    引言:这写篇文章的出处是因为我的一名学生最近在公司搭建RAC集群,但对其启动与关闭的顺序和原理不是特别清晰,我在教学工作中也发现了很多学员对RAC知识了解甚少,因此我在这里就把RAC里面涉及到的最常用 ...

  5. 案例:Oracle 10g RAC 集群无法启动

    环境:RHEL 5.7 + Oracle 10.2.0.5 RAC 很多年前的一套测试环境,今天发现集群无法启动.手工尝试启动crs,集群日志也无任何输出.进一步检查集群配置: [oracle@rac ...

  6. oracle 11g rac集群重启顺序以及常用管理命令简介

    转至:https://www.cnblogs.com/yj411511/p/12459533.html 目录 1.关闭数据库 1.1 查看数据库实例状态 1.2 停止所有节点上实例 1.3 确认数据库 ...

  7. Oracle 10G RAC集群安装

    一,基本环境配置 01,hosts cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.loc ...

  8. oracle 11g rac集群 asm磁盘组增加硬盘

    创建asm磁盘的几种方式 创建asm磁盘方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式 3.2 raw方式(裸设备方式) 4. ...

  9. 【Oracle】RAC集群中的命令

    数据库名称:racdb 节点名称:rac3.rac4 注:以下命令均在grid用户中执行 1.查看集群节点的状态: [grid@rac3 ~]$ crsctl check cluster [grid@ ...

随机推荐

  1. NeHe OpenGL教程 第四十一课:体积雾气

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. python (18)在linux中如何实现定时发送邮件

    最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...

  3. 【jQuery】关于选择器中的 :first 、 :first-child 、 :first-of-type

    [:first] <!DOCTYPE html><html lang="zh-CN"><head>    <title>test&l ...

  4. python第一个hello world注意问题!!

    如果你第一次写python代码,想写一个通常的hello world ,那么你需要注意这个hello world的写法,这和python的版本有直接关系!!! Python 3.x: print('h ...

  5. Python中if __name__ == "__main__": 的作用

    在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编 ...

  6. Python & MapReduce

    使用Python实现Hadoop MapReduce程序 原文请参考: http://blog.csdn.net/zhaoyl03/article/details/8657031/ 下面只是将mapp ...

  7. loadrunner破解

    如果报的violation的错误,就下载hp.lr即deletelicense.exe软件运行即可以清楚注册表,然后再用管理员运行loadrunner再注册就可以了.

  8. 微信JSSDK上传多张图片

    之前是使用for循环实现的,但是安卓手机没有问题,苹果手机只能上传最后一张图片. 好在有高手在前面趟路,实用的循环调用.苹果是没有,安卓不清楚.以下内容转自:http://leo108.com/pid ...

  9. Centos 7配置LAMP

    因为安装zabbix需要LAMP环境,特记录如下. LAMP指的Linux(操作系统).Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或P ...

  10. (medium)LeetCode 238.Product of Array Except Self

    Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...