# 分庫分表
* 分庫分表,通常指定表中的一個字段為分區KEY,按Range或是Hash的方式進行拆分。
* 進行分庫分表是為了讓業務有更好、更快的擴展能力,以適應業務發展需要。同時也方便增刪改字段、數據備份恢復等。如果業務穩定,也可以不用進行太多、太復雜的分表方案。服務器性能足夠,架構、業務設計也合理的話,MySQL處理上億數據量的單表也是綽綽有余。
* 單表數據容量限制規則
* 無CHAR/VARCHAR/TEXT/BLOB的可以考慮千萬到億級左右,否則不建議超過千萬級別。
* 單表空間物理大小限制規則
* 傳統機械磁盤10GB左右, PCIe SSD卡類不超過100GB。
* 分表參考案例
```
例如有個業務表計劃分成100個子表,那么可以分成 10個實例各10個子表; 或者100個實例各1個子表。
```
**備注:**在做分庫分表設計時,要考慮后期擴容怎么處理。是通過移動庫的形式做擴容,或是通過移動表的形式擴容。是倍數擴容,或是基數擴容,都需要提前規劃好。從而設計不同的拆分規則,才能更適用自已的業務。
##分庫分表中間件推薦
...