分库:将表按照某种规则拆分到多个数据库中,来保证系统的稳定和性能
分表:将表中数据按照某种规则拆分到多张表中,提升查询效率
分库分表的原因
- 分库原因:数据量过大,而磁盘空间、内存、CPU 有限
- 分表原因:单表承载能力有限,随着数据规模的增加,表索引效率降低
- 其他原因:分布式或微服务架构,根据业务需求和功能对数据库进行划分
单表超 500 万行,或容量超 2GB 时推荐分库分表——阿里开发手册
分库分表的常见方法
- 垂直分库
将某个库中的表拆分到多个库,一般按照业务维度拆分
优点:降低单数据库服务的压力,增加系统可用性;业务清晰,