tdsql 数据表扩容拆分的机制、算法,时间点、建议值 ?
分片表的拆分算法可以这么理解:
扩容的时候,有2种方式: 1, 分片垂直扩容,比如2个分片1C2G,分片个数不变扩成2个分片2C4G;-- 每个分片负责的hash范围不变,新增的2C4G分片从原来的分片上导出做主从直到延迟非常小进行切换;老的1C2G的分片下线 2. 添加分片,比如2个分片添加到4个分片,新增的会从原来的一个分片中导出完整的数据出来做主从,然后延迟非常小的时候,进行路由切换;新增的分片和老的分片,各自删除多余的分区数据;
一般我们建议在一个分布式实例里面,单个分片规格尽量大,分片个数尽量少,来减少分布式开销; 比如优先创建2个2C4G的分片的实例,而不是创建4个1C2G的分片的实例,分片规格达到上限后,再进行添加分片;