分享MYSQL中的各种高可用技术(源自姜承尧大牛)

原文:分享MYSQL中的各种高可用技术(源自姜承尧大牛)

分享MYSQL中的各种高可用技术(源自姜承尧大牛)

图片和资料来源于MYSQL大牛姜承尧老师(MYSQL技术内幕作者

姜承尧: 网易杭州研究院 技术经理 主导INNOSQL的开发

mysql高可用各个技术的比较

数据库的可靠指的是数据可靠 

数据库可用指的是数据库服务可用

可靠的是数据:例如工商银行,数据不能丢失

可用的是服务:服务器不能宕机

 

 

 

灵活运用MYSQL的各种高可用技术来达到下面各种级别的高可用要求

要达到99.9%:使用MYSQL复制技术

要达到99.99%:使用MYSQL NDB 集群和虚拟化技术

要达到99.999%:使用shared-nothing架构的GEO-REPLICATION和NDB集群技术

Gluster Geo-replication是什麼?

Gluster Geo-replication(简称geo-replication)是一种异地灾备技术,

它主要应用于把集群中的一个存储,近乎即时地(near real-time)透过公网(wan)备份到远端的机房

 

各种高可用级别允许的宕机时间

DRBD:网络磁盘的RAID1



方案一:MYSQL主从复制(单活)

投票选举机制,较复杂

MySQL本身没有提供replication failover的解决方案,自动切换需要依赖MHA脚本

可以有多台从库,从库可以做报表和备份

 



方案二:双主(单活),failover比单主简单

同样,自动切换需要MMM脚本

缺点是某个主挂掉了,他下面的slave同样挂掉



方案三:双主配SAN存储(单活)

 

这个架构跟方案二是一样的,只不过两个master之间不需要同步数据,因为他们用的是共享磁盘

这个方案是有钱人方案,无论哪个主挂掉都不会引起其他的slave挂掉,但是SAN存储死贵。。

像通信行业中国联通这些公司有用到

某个主挂掉了,下面的slave不会挂掉

注意:failover之后不会预热,数据没有预先加载到内存中,切换之后一段时间内存储会有一定的性能影响

 



方案四:DRBD 双主配DRBD (单活)

结构跟方案三一样,唯一不同的是没有使用SAN网络存储 ,而是使用local disk

由于是实时复制磁盘数据,性能会有影响

人们把DRBD称为“屌丝的SAN”

POOR MAN'S SAN:穷人的SAN

 

 

 



方案五:NDB CLUSTER

 

国内用NDB集群的公司非常少,貌似有些银行有用

NDB集群不需要依赖第三方组件,全部都使用官方组件,能保证数据的一致性

某个数据节点挂掉,其他数据节点依然可以提供服务

管理节点需要做冗余以防挂掉

缺点是:管理和配置都很复杂,而且某些SQL语句例如join语句需要避免

 



方案六:第三方的Tungsten软件

使用java编写,不是MYSQL内置的

同样是MYSQL数据库复制,不过他不是用MYSQL内置的组件来做的

不但支持MYSQL数据库复制也支持异构数据库的复制,而且对异构数据库复制支持较好,例如MYSQL复制到ORACLE



方案七:网易的INNOSQL

类似于SQLSERVER的镜像高安全模式

High Safety 模式 (也就是同步模式)没有 witness服务器

数据库在Principle的事务,需要马上得到mirror的确认,才能完成。这种情况下,Mirror和Principle的数据是同步的。

但是因为所有的事务需要mirror的确认,所以性能可能会有所影响。

区别:innosql的slave可以读,镜像的slave(从库)不可读

保证数据不会丢失,数据的高可靠性

 

mysql5.7开始支持这种模式

 

 



总结

每种方案都有不同的特点,配置和应用场景也各有不同

有些偏向于成本低的,有些偏向于成本高的,有些偏向于数据的可靠性,有些则偏向于数据库的可用性

反正各个方案都各有优缺点,DBA要结合自己公司的业务情况进行选择合适自己业务情况的高可用方案

 

更多参考资料:

读写分离:Amoeba

Ubuntu10下MySQL搭建Amoeba系列(文章索引)

集群技术:数据库集群技术漫谈

Gluster Geo-replication工作原理

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

时间: 2024-10-31 19:39:39

分享MYSQL中的各种高可用技术(源自姜承尧大牛)的相关文章

公开课发布《MySQL体系结构及常见高可用架构》

0.导读 某电信运营商数据库高级主管杭星老师分享<MySQL体系结构及常见高可用架构>. 1.活动总结 上周四晚上,知数堂培训邀请到某南方电信运营商数据库高级主管杭星老师分享<MySQL体系结构及常见高可用架构>主题.让我们对MySQL的基础体系架构以及常见MySQL高可用.MySQL自动化运维有了更进一步认识. 本次分享的音视频.PPT相关资料已经上传到百度云盘,链接: https://pan.baidu.com/s/1pL53JMr ,欢迎转存及转发(扫描下方二维码识别) 知数

阿里移动|《蚂蚁金服移动端高可用技术实践》

摘要:对于移动技术而言,2017年是继往开来之年.一方面是移动技术领域进入深水区,另一方面移动技术边界和内涵被不断重塑.阿里巴巴希望进一步推动移动应用研发事实标准落地,从而赋能整个行业开发者.在2017年杭州云栖大会上,蚂蚁金服高级技术专家竹光为大家分享了蚂蚁金服移动端在高可用技术方面的具体实践. 演讲嘉宾简介:竹光,蚂蚁金服高级技术专家.2015年加入支付宝,主要负责客户端的稳定性和高可用,曾多次参与双11.双12.春节红包等大促的技术保障工作,主要负责保证活动期间支付宝客户端的稳定性以及可用

SLB高性能与高可用技术实践全解析

从支付宝官方公布的数据来看,在除夕当天大约有2亿人参加红包活动.今年的SLB和往年是不一样的,SLB进行了平台重构,为业务提供了跨可用区的方案.以下内容根据直播视频整理而成. 直播回顾:点击进入 pdf下载:点击进入 全集团的流量入口 SLB成了公有云.云产品服务.电商平台.交易平台的流量入口. 负载均衡简介 负载均衡即分担负载.提供服务,具体的说是当访问请求进入到SLB后,SLB会做后端服务器的选择,通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服

MySQL中实现高性能高并发计数器方案

  现在有很多的项目,对计数器的实现甚是随意,比如在实现网站文章点击数的时候,是这么设计数据表的,如:"article_id, article_name, article_content, article_author, article_view--在article_view中记录该文章的浏览量.诈一看似乎没有问题.对于小站,比如本博客,就是这么做的,因为小菜的博客难道会涉及并发问题吗?答案显而易见,一天没多少IP,而且以后不会很大. 言归正传,对文章资讯类为主的项目,在浏览一个页面的时候不但要

CentOS中Redis+Keepalive高可用搭建实例

Master ip: 192.168.240.78 Backup ip: 192.168.240.79 Virtual ip: 192.168.240.89 Slave ip: 192.168.240.80 Slave2 ip: 192.168.240.81 实现的功能: 1.当Master与Slave均运作正常时,Master负责写,Backup负责热备,Slave负责读 2.当Master挂掉,Backup正常时,Backup接管服务,同时关闭主从复制功能 3.Slave关闭写入磁盘,减少I

阿里10年分布式技术沉淀:阿里高可用体系核心缔造者、全链路压测创始人告诉你!

本次活动看点十足,大咖齐聚.纯正干货,下面给大家做下详解介绍,相信看后定会让你动心! 议题详情 双11核武器全链路压测--张军 / 阿里巴巴中间件高级技术专家 阿里巴巴双11备战期间,保障系统稳定性最大的难题在于容量规划,而容量规划最大的难题在于准确评估从用户登录到完成购买的整个链条中,核心页面和交易支付的实际承载能力.全链路压测的诞生改变了这一现状,通过对双11进行模拟,支持线上不影响正常用户访问的集群读写压测,获得最真实的线上承载能力数据.全链路压测开启了大促稳定性保障的新纪元,被誉为备战核

2017QCon分享:从淘宝到云端的高可用架构演进

大家好,我今天分享的题目是<高可用实践:从淘宝到上云的差异>,取这个标题是因为会涉及到两个方面内容,一方面以淘宝为例子,传统的IDC的时候,我们稳定性是怎么做的,另外在云计算背景下,有很多创业公司是基于阿里云这样的公有云基础设施做研发,在公有云的环境下怎么做好我们系统的高可用. 长期做稳定性的人会有一些职业病,记得去年冬天有个周末,我要寄快递,穿着睡衣在门口填快递单,那时候我家里养了一只猫,因为怕猫跑出去,就把门关上了.寄完快递口袋一掏发现自己没带钥匙,冷静了3秒钟,打车到公司刚巧碰到同事,看

优酷土豆资深工程师:MySQL高可用之MaxScale与MHA

讲师介绍 侯野优酷土豆资深数据库工程师  擅长Orale.MySQL故障诊断.性能调优,目前专注于MySQL的高可用技术. 曾任职于大连东软.清华紫光.触控科技等公司,服务过华夏银行.中国华能电力集团,担任OracleDBA.Oracle高级咨询顾问.    本次分享主要包括以下内容: 1.MySQL高可用方案 2.为什么选择MHA 3.读写分离方案的寻找以及为什么选择Maxscale 一.MySQL  Failover的方案 常见的Failover方案 MMM MMM缺点: Monitor节点

MySQL高可用在网易的最佳应用与实践

今天分享主要包括三方面内容:一是常见的MySQL高可用架构;二是分布式数据库高可用实践;三是基于keepalive的MySQL高可用改造.第一部分会介绍业界一些经典的MySQL高可用解决方案,第二部分和第三部分分别介绍网易在分布式数据库和单节点MySQL上的高可用运维实践. 一.常见的MySQL高可用架构 MySQL高可用主要涉及两个方面,一是客户端如何切换,如何自动failover,二是多个MySQL节点之间如何做数据同步.业界MySQL高可用的解决方案有很多,总结起来有几类:从客户端自动切换