MySQL数据库分库分表是为了解决数据库数据量过大导致性能变低的问题。

1. mysql的分片方式

* 垂直分片:提高数据IO性能

 

        特点:1)每个库(表)的结构都不一样

                   2)每个库(表)都至少有一列一样

                   3)每个库(表)的并集是全数据库的量

        优点:结构清晰

        缺点:1)如果单表数据量大,读写压力大

                   2)会受到业务的影响

                   3)部分业务无法关联

* 水平分片:突破单表数据极限
 

        特点:1)每个库(表)的结构都一样

                   2)每个库(表)的数据都不一样

                   3)每个库(表)的并集是全数据库的量

        优点:1)性能提高

                   2)提高了系统的稳定性和负载能力

                   3)拆分的表的结构相同,改造较少

        缺点:1)数据的扩容很有难度,维护量大

                   2)分片事务的一致性问题多

 

2. 分库分表的常用策略

* 取模分片。优点:数据存放均匀。缺点:扩容需要大量数据迁移。
* 范围式分片。优点:扩容不需要大量数据迁移。缺点:数据存放不均匀
* 根据实际需要,灵活制定分片需要。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信