# 分库分表
* 分库分表,通常指定表中的一个字段为分区KEY,按Range或是Hash的方式进行拆分。
* 进行分库分表是为了让业务有更好、更快的扩展能力,以适应业务发展需要。同时也方便增删改字段、数据备份恢复等。如果业务稳定,也可以不用进行太多、太复杂的分表方案。服务器性能足够,架构、业务设计也合理的话,MySQL处理上亿数据量的单表也是绰绰有余。
* 单表数据容量限制规则
* 无CHAR/VARCHAR/TEXT/BLOB的可以考虑千万到亿级左右,否则不建议超过千万级别。
* 单表空间物理大小限制规则
* 传统机械磁盘10GB左右, PCIe SSD卡类不超过100GB。
* 分表参考案例
```
例如有个业务表计划分成100个子表,那么可以分成 10个实例各10个子表; 或者100个实例各1个子表。
```
**备注:**在做分库分表设计时,要考虑后期扩容怎么处理。是通过移动库的形式做扩容,或是通过移动表的形式扩容。是倍数扩容,或是基数扩容,都需要提前规划好。从而设计不同的拆分规则,才能更适用自已的业务。
##分库分表中间件推荐
...