开发者社区> 问答> 正文

如何选择分片数

DRDS 中的水平拆分有两个层次:分库和分表。每个 RDS 实例上默认会创建8个物理分库,每个物理分库上可以创建一个或多个物理分表。分表数通常也被称为分片数。

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

物理分库上的物理分表数 = 向上取整(估算的总数据量 / (RDS 实例数 * 8) / 5,000,000)
因此,当计算出的物理分表数等于1时,分库即可,无需再进一步分表,即每个物理分库上一个物理分表;若计算结果大于1,则建议既分库又分表,即每个物理分库上多个物理分表。

例如,某用户预估一张表在2年后的总数据量大概是1亿行,购买了4个 RDS 实例,那么按照上述公式计算:

物理分库上的物理分表数 = CEILING(100,000,000 / ( 4 * 8 ) / 5,000,000) = CEILING(0.625) = 1
结果为1,那么只分库即可,即每个物理分库上1个物理分表。

若上述例子中仅购买了1个 RDS 实例,那么按照上述公式计算:

物理分库上的物理分表数 = CEILING(100,000,000 / ( 1 * 8 ) / 5,000,000) = CEILING(2.5) = 3
结果为3,那么建议既分库又分表,即每个物理分库上3个物理分表。

展开
收起
猫饭先生 2017-10-30 13:54:48 1695 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载