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

本文详述了单机数据库遇到的瓶颈,包括磁盘空间、服务器性能和单点故障,以及解决这些问题的策略——读写分离和分库分表。重点介绍了Mycat作为数据库中间件的角色,阐述了其作为开源、支持事务、ACID特性的企业级数据库集群的特性,并提供了环境准备和配置的指导,包括Mycat的Schema、DataNode和DataHost配置,以及全局表和取模分片的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单机数据库瓶颈:

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.所以在我们进行分库分表之前我们最好考虑一下,我们的数据量是不是够大,并发量是不是够大。

分库分表之垂直分表:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

renlianggee

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

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

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

打赏作者

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

抵扣说明:

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

余额充值