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个物理分表。
学习一个分库分表的解决方案,其他的都长不多。
参考:http://www.zyiz.net/search.html?keyword=mycat
https://help.aliyun.com/document_detail/51307.html?spm=a2c4g.11186623.2.10.902f50c8hZ48dK
作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
为之网-热爱软件编程 http://www.weizhi.cc/