Greenplum 扩容一
扩容过程简述
数据库在使用的过程中会随着数据量的增加而需要扩容,一般需要扩容的原因如下:
历史数据量增加,磁盘空间不足
计算的数据量增加,计算性能跟不上(CPU或磁盘IO吞吐限制)
网络传输量增加,网卡限制
整体流程
整体流程图
扩容过程
扩容完成
扩容注意事项
在扩容过程中,不允许运行gpconfig和gppkg。目的是防止一些配置或者文件只应用到原有节点而没有应用到新节点,造成节点间文件或者配置的不一致。
在重分布期间,gpcheckcat和gpaddpkg不允许运行。因为gpcheckcat的目的是在集群范围内检测可能的catalog问题,并提示修复。在扩容期间,并没有必要执行这样的操作。可以在扩容全部完成后执行。
数据重分布期间,不要修改表名,不要更改表的分布策略,不要修改表的schema。如下图所示,在进行重分布中,将表名进行更改,发现,控制扩容进程的元数据表并没有同步将表名更新,将出现修改表名后的表无法自动完成重分布的问题。
扩容存在的问题
需要停机,集群无法在扩容期间提供服务。
数据重分布过程集群性能差。扩容后,所有业务表的分布键均变成随机分布,而随机分布表因为不能确定数据分布规律,无法对查询做优化。
对大量小表做并行重分布的时候会因为状态表更新的串行化产生瓶颈。虽然表的重分布可以并行进行,但是扩容过程中因为额外记录了每个表的更新状态,在对表做完重分布后要更新状态表。Greenplum 6版本之前表的更新操作只能串行。
来源 https://www.modb.pro/db/51345
相关文章