表数目决策

一般情况下,建议单个物理分表的容量不超过1000万行数据,通常可以预估2到5年的数据增长量,用估算出的总数据量除以总的物理分库数,在除以建议的最大数据量1000万,即可得出每个物理分库上需要创建的分表数

  • (未来3到5年内总共的记录行数) / 单张表建议记录行数

表的数量不宜过多,涉及到聚合查询或者分表键在多个表上的SQL语句,就会并发到更多的表上进行查询
表的数目不宜过少,少的坏处在于一旦容量不够就又要扩容了,而分库分表的库想要扩容是比较麻烦的。一般建议一次分够。
建议表的数目是2的幂次个数,方便未来可能的迁移。

库数目决策

按照存储容量来计算(单机容量3T),使用率80%,3 0.8 = 2.4T
3到5年内的存储容量 / 单个库建议存储容量 (单个库建议存储容量 < 300G)
DBA的操作,一般情况下,会把若干个分库放到一台实例上去。未来一旦容量不够,要发生迁移,通常是对数据库进行迁移。所以库的数目才是最终决定容量大小
最差情况,所有的分库都共享数据库机器。最优情况,每个分库都独占一台数据库机器。*一般建议一个数据库机器上存放8个数据库分库