MYSQL 中的分库分表

本文介绍了数据库的两种切分策略——垂直切分和水平切分。垂直切分按照业务拆分,使系统更易维护,但可能导致跨库操作复杂;水平切分则通过分散数据来缓解高并发和大数据问题,但需面对分布式事务的一致性挑战。这两种方法各有优劣,适用于不同场景。
摘要由CSDN通过智能技术生成

MYSQL 中的分库分表

一、垂直切分
1. 含义

强调的是业务的拆分,一个数据库由多个表构成,每个表对应不同的业务,那我们可以按照业务的不同将表进行分类,并放到不同的数据库上,做到专库专用。

2. 优点

拆分后业务清晰,系统之间整合或者拓展变得容易,数据库维护成本低。

3. 缺点

部分业务表无法关联,只能通过接口方式解决,提高了系统的复杂度,受每种业务的不同限制,存在单库瓶颈,涉及到分布式事务。

二、水平切分
1. 含义

将一个表中的数据分散到多个库中,在每个表中包含一部分数据,所有表加起来就是全部的数据,就是将表中的某些行数据分到一个数据库表中,其他行数据分到其他数据库表中。

2. 举例

全国地区表 按不同的地区拆分成多个库,高峰时100w 次请求 如果是单库就有100w次压力,拆到10个表中就10w 次请求压力,成倍的减少数据库访问次数。

3. 优点

不存在单库大数据,高并发问题,提高系统的稳定性和负载能力。

4. 缺点

分布式事务一致性难以解决,跨库join 性能较差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值