说明
分片变更前,可根据以下几点对分片变更做一个初步的评估,根据评估结果选择适当的新分片数, DRDS实例规格和DN实例规格, 以及DN节点个数。
- 数据量:可用show db status命令来获得目前现网的数据量。
- DRDS规格:当前DRDS实例的CPU个数、内存大小、DRDS节点数。
- DN规格:当前DN节点的vCPU个数和内存大小以及DN节点数。
- 业务情况:目前业务规模以及对日后增长趋势的预估。
客户案例
某客户当前有DRDS实例共4个节点,规格均为8U16GB,关联了6个数据节点(DN实例),数据量约12TB,1000亿条数据,7.3w张物理分表,业务量较大。
由于分片数变化就一定会引起数据重分布,需要迁移逻辑库的全部数据,而且每一条都需要经过重新路由,计算速度上会明显慢于分片数不变的变更。综合考虑客户业务,建议客户先将DRDS实例规格升为32U64GB(DRDS支持弹性扩缩容, 可以在变更结束后还原为之前的规格),再增加数据节点至12个并升级DRDS引擎内核版本到最新版本。由于分片数没有发生变化,仅需要将一半的物理分片从原DN移动到新的DN节点上,且不涉及路由重计算。除非是单个物理表存放的数据量达到上限, 一般建议使用分片数不变, 增加数据节点的平移变更方式。