共计 1628 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章将为大家详细讲解有关如何进行 MySQL 高可用各个技术的比较,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
数据库的可靠指的是数据可靠;数据库可用指的是数据库服务可用。可靠的是数据就例如工商银行,数据不能丢失;可用的是服务则指服务器不能宕机。
灵活运用 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 要结合自己公司的业务情况进行选择合适自己业务情况的高可用方案。
关于如何进行 MySQL 高可用各个技术的比较就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。