全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
分布式关系型数据库 DRDS

如何选择分片数

更新时间:2017-03-08 15:37:25

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

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

  1. 物理分库上的物理分表数 = 向上取整(估算的总数据量 / (RDS 实例数 * 8) / 5,000,000)

因此,当计算出的物理分表数等于1时,分库即可,无需再进一步分表,即每个物理分库上一个物理分表;若计算结果大于1,则建议既分库又分表,即每个物理分库上多个物理分表。

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

  1. 物理分库上的物理分表数 = CEILING(100,000,000 / ( 4 * 8 ) / 5,000,000) = CEILING(0.625) = 1

结果为1,那么只分库即可,即每个物理分库上1个物理分表。

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

  1. 物理分库上的物理分表数 = CEILING(100,000,000 / ( 1 * 8 ) / 5,000,000) = CEILING(2.5) = 3

结果为3,那么建议既分库又分表,即每个物理分库上3个物理分表。

本文导读目录