Mycat数据库中间件(史上最详细)

单机数据库瓶颈:

1.磁盘空间上限

2.服务器性能上限

3.单点故障

数据库性能瓶颈 :

1.单表性能瓶颈

2.单库性能瓶颈

3.读写性能瓶颈

解决方案1:读写分离

1.MySQL读写分离能提高系统性能的原因在于:

2.物理服务器增加,机器处理能力提升。拿硬件换性能。

3.主从只负责各自的读和写,极大程度缓解X锁和S锁争用。

4.slave可以配置myisam引擎,提升查询性能以及节约系统开销。

5.master直接写是并发的,slave通过主库发送来的binlog恢复数据是异步。

6.slave可以单独设置一些参数来提升其读的性能。

7.增加冗余,提高可用性。

解决方案2:分库分表

在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量、连接数、处理能力等都很有限,数据库本身的“有状态性”导致了它并不像Web和应用服务器那么容易扩展。那么在我们的业务中,是否真的有必要进行分库分表,就可以从上面几个条件来考虑。

1.单机储存容量。您的数据量是否在单机储存中碰到瓶颈。

2.连接数、处理能力。在我们的用户量达到一定程度时,特定时间的并发量又成了一个大问题,在一个高并发的网站中秒级数十万的并发量都是很正常的。在普通的单机数据库中秒级千次的操作问题都很大。

3.所以在我们进行分库分表之前我们最好考虑一下,我们的数据量是不是够大,并发量是不是够大。

分库分表之垂直分表:

垂直分表在日常开发和设计中比较常见,通俗的说法叫做“大表拆小表”,拆分是基于关系型数据库中的“列”(字段)进行的。通常情况,某个表中的字段比较多,可以新建立一张“扩展表”,将不经常使用或者长度较大的字段拆分出去放到“扩展表”中,如下图所示:

分库分表之垂直分库:

垂直分库在“微服务”盛行的今天已经非常普及了。基本的思路就是按照业务模块来划分出不同的数据库,而不是像早期一样将所有的数据表都放到同一个数据库中。如下图:

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

renlianggee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值