搜索

pdf文档 Greenplum 6新特性: 在线扩容工具GPexpand剖析

1.12 MB 37 页 0 下载 142 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档详细介绍了Greenplum 6的新特性,特别是在线扩容工具GPexpand的实现与改进。GPexpand是一种用于扩展集群节点的工具,支持在线不停机扩容,通过优化数据重分布和并行处理提升性能。文档还讨论了扩容过程中对查询的影响,包括新节点的加入、数据分布的调整以及对表操作的优化。改进包括使用numsegments参数实现更高效的扩容,并引入了并行更新以解决Greenplum 5中的串行瓶颈问题。
AI总结
本文主要介绍了Greenplum 6中的在线扩容工具GPexpand的功能、改进与实现,以下是总结: 1. **GPExpand简介** - GPExpand是Greenplum的扩容工具,用于增加新节点以支持更大容量和更高计算能力。 - 作为命令行脚本,位于$GPHOME/bin目录下,用Python编写。 2. **GPExpand的功能与用法** - 提供清理功能:`gpexpand -c`会清理gpexpand schema及相关表。 - 支持在线扩容,新增节点只需在`gp_segment_configuration`中添加节点信息,新节点以Master为模板生成,初始无数据。 3. **Greenplum 6中的改进** - **在线扩容**:无需停机即可扩展集群。 - **数据重分布优化**: - 在GP5及之前版本中,扩容时会将所有表改为随机分布,再ALTER为按列分布。 - GP6引入`numsegments`参数,默认与集群大小一致,表示表的分布段数量。扩容后,每个表的`numsegments`值会更新为新集群大小。 - **并行优化**: - GP6支持并行更新`gpexpand.status_detail`表,避免了Greenplum 5中小表扩容时的串行更新瓶颈。 - **锁机制**: - 在`expand`过程中及修改catalog操作时会申请锁,确保与扩容操作互斥。 4. **扩容期间对查询的影响** - 新增节点阶段无法修改catalog。 - 正在重分布的表的读写访问会被阻塞。 - 对于分布状态不一致的哈希分布表,无法进行Join优化。 5. **总结** - Greenplum 6通过GPExpand实现了在线扩容,显著提升了扩容效率和集群扩展能力,同时优化了数据重分布和并行处理性能。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 30 页请下载阅读 -
文档评分
请文明评论,理性发言.