| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .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 页请下载阅读 -
文档评分














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