mysql 架构ms_MySQL数据库架构方案

MySQL的同步相当简单,但是怎么用好同步,根据业务需求为应用层提供高性能、高可用是一个值得探讨的问题。下面讨论一下几个常见MySQL数据库架构的优缺点。

一、(多)单库结构

这个恐怕是最最简单的一种方案了,完全没有数据一致性问题。最大的缺点是无法容灾,并且只能承受较小的压力,不管压力来自读或者写。不过在分布式数据层解决方案目不暇接的今天,单库结构可以拓展成多单库结构来平分压力。数据库可以从业务上先进行垂直拆分,将关联性较强的表放在一个库中,将数据变化较小的表也放在一个库中;其次是将读写频繁的表进行水平拆分,以某字段值为基础,根据业务需求来选取适当的表路由算法。

858e45ce23a70338eb21b7d9ad40b474.png

(多)单库结构是除了环状结构之外所有复杂结构的基础,只有在此基础上合理分布数据,才能为高性能打好基础。其它数据库结构,只是更好地拓展了(多)单库结构而已。

二、MS结构

MS江湖人称主备结构。优点有两个,读写分离和实时备份。缺点也有两个,数据一致性难以保障和切换麻烦。MS结构非常适合读多写少的应用场景(比如说论坛、博客)。

b7b1a07f10eee50a794553a3345b798c.png

从容灾的角度讲,主库和备库的一致性一定要保证。数据一致性不用多说,硬件配置和MySQL版本、各种参数配置最好都要一样,这样才能保证出问题时应用程序能够平滑地从主库切换到备库上。但是从性能角度来看,主备不一致某些时候是可以容忍的。比如说,主备库上相同的表有不同的索引。此时将查询条件不同的select语句路由到相应的库上去执行,应用得到结果集的时间将会大大缩短。

三、MM结构

MS的切换是个弱点,而且切换所带来的麻烦会随着备库的增多而逐步上升。不过好在很多应用都不需要多个备库的数据库结构。如果备库只是用来实时备份数据和承担小部分读压力,那么MM结构将会是取代MS结构的不二之选。

MM就是传说中的主主结构。MM结构中的某一个库加了read-only参数,用来确保一个时间点只存在一个可写的数据库。优点是切换迅速,在应用程序足够强壮的前提下,甚至可以做到数据库宕机时应用不停止服务。缺点也很明显,拓展性不如MS结构强。

acaa79b1685115cdd997bfd567288a04.png

四、复合结构

在(多)单库结构的时候我已经提到,目前流行的复杂结构数据库全部是以(多)单库结构为基础,将单点替换为MS或MM结构而形成的。

d68872f15f57e96b2acea00051e95ce3.png

将(多)单库结构进行一定程度的替换,我们就可以获得目前流行的大部分MySQL架构了。

3e8f4691927cffa174b2f54839ed3428.png

在资金投入有限的情况下,DBA需要在高性能、高稳定、可拓展这三个要素中玩跷跷板。

如何定位这个平衡点,还是要根据企业的现状和业务要求进行具体分析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值