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个物理分表。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。