DRDS分库分表学习-如何选择分片数、RDS 的分库数、每个分库里的分表数是否有限制
单个 RDS 实例的默认分库数目是 8 个,不可更改。
每个分库里的分表数目理论上是没有限制的,受限于 DRDS 机器本身的硬件资源。分表数目的选择需要依据对业务数据量的评估,具体请参考 DRDS 佳实践 如何选择分片数。
如何选择分片数
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个物理分表。
分库分表解决方案那么多,为啥要死磕DRDS?其实各种方案实现方案都差不多,只要精通一个,其他的方案也差不多会了。
原文链接:https://mp.weixin.qq.com/s/XvYD1jo04nBhzGjRuqv-yA
相关文章