今天和大家聊一聊分库分表的逻辑和评估方法,俗话说授人以鱼不如授人以渔,干货是总结,是技巧。底层逻辑是认知和思维。今天通过分析底层逻辑的方式,通过多个视角和大家分享下如何评估MySQL是否要分库分表。
一、分库分表的逻辑和原因
分库分表的基本逻辑是就将一个数据库拆分成多个数据库,一个数据表拆分成多个数据表,将数据分布到不同的服务器上面,从而降低了单表的数据量和数据容量。
那么为什么要降低单表的数据量和容量大小呢,其根本原因是因为有些时候单表无法满足业务性能要求,同时单个数据库太大可能会受到单台服务器磁盘容量限制,另外大表的运维变更可能存在风险。
总结一下需要降低单表容量的原因有三个:
单表过大可能会增大运维变更风险
单表过大可能会带来查询性能问题
单表过大可能造成磁盘容量成为瓶颈
二、如何评估分库分表
我们知道了考虑分库分表的逻辑和原因,那么问题来了,数据表容量大真的就需要去做分库分表吗,当然不是的,下面就通过上面的三个原因,和大家梳理一下如何去判断是否需要做分库分表。