正版资源【尚硅谷】大数据技术之Greenplum - 带源码课件
Greenplum 属于那种「文档能查、但自己搭一遍才知道坑在哪」的系统。它是基于 PostgreSQL 的 MPP 架构分析型数据库,SQL 语法几乎和 PG 一致,但数据分布、执行计划、资源队列、事务可见性这些层面完全是另一套逻辑。这套资料把架构讲解、部署操作和源码片段放在一起,适合拿来对着敲、
Greenplum 属于那种「文档能查、但自己搭一遍才知道坑在哪」的系统。它是基于 PostgreSQL 的 MPP 架构分析型数据库,SQL 语法几乎和 PG 一致,但数据分布、执行计划、资源队列、事务可见性这些层面完全是另一套逻辑。这套资料把架构讲解、部署操作和源码片段放在一起,适合拿来对着敲、对着改,而不是当成视频连续剧刷完。
技术栈的定位:先分清它和 PostgreSQL、Hadoop 的边界
学 Greenplum 最容易糊的地方,是分不清哪些行为继承自 PostgreSQL,哪些是 MPP 层自己加上去的。资料从 PostgreSQL 单机与 Greenplum 集群的差异切入,把 Master / Segment 的职责划分、Interconnect 的传输机制、外部表与 gpfdist / gpload 的加载链路讲清楚。这部分决定了你后面调优时的判断方向:一条 SQL 慢,是 Master 上 QD 的规划开销,还是某个 Segment 上的数据倾斜,还是网络传输阶段的 motion 阻塞。
配合源码视角看,会更容易理解执行器怎么把一条查询拆成切片、分发到各 Segment 上并行跑。哪怕只看计划节点里那些 Motion 类型,也足够解释很多「明明加了索引却没快」的现象。
部署与运维部分:真正需要动手对照的内容
Greenplum 的安装不像单机数据库那样复制即用,涉及主机名解析、互信、数据目录规划、Segment 实例分布、gp_segment_configuration 的状态校验。资料里这部分是可以直接照着做的:从初始化集群、启动 gpinitsystem,到新增/替换 Segment、恢复 mirror、检查集群健康状态。
- 集群初始化与 gp_segment_configuration 的字段含义,比背命令有用得多。
- 数据分布策略(hash / randomly / replicated)与分布键选择,直接决定后续查询是否会发生重分布。
- 资源队列与内存参数,影响并发场景下的稳定性,值得单独拉出来做实验。
- 备份恢复与 gprestore,对生产环境迁移有参考价值。
查询与调优:把执行计划当成主要线索
这套资料在查询操作上给了不少可复用的写法:分区表裁剪、外部表并行读取、窗口函数在 MPP 下的代价、聚合下推与聚集重分布。关键不是记住语法,而是养成看 EXPLAIN 的习惯——观察数据是怎么从一个 Segment 挪到另一个 Segment 的。
数据倾斜是分析型数据库里最常见的性能杀手,资料里给了排查思路:先看分布键的取值分布,再看某个 Segment 上的行数是否明显偏离均值。沿着这条线索走,能定位到不少「看起来正常但跑得极慢」的查询。
源码与工程结构:怎么用这些材料自学
源码部分更适合当成对照阅读:挑执行器、Motion 节点、资源管理这几个方向去看,配合笔记里整理的关键函数调用链,比漫无目的地翻大仓库高效。资料包里的代码体量不大,重点在于验证理解,而不是通读实现。
自学的顺序建议是:先在本地或虚拟机上把单节点集群跑起来,验证基本 SQL 和外部表加载;再搭一个多 Segment 的小集群观察执行计划差异;最后带着具体问题去翻源码片段。笔记与代码是配套使用的,遇到概念模糊的地方回去查,比按目录顺序硬啃要顺。
整体来看,这是一份偏工程实践的资料:结构上覆盖了架构、部署、查询、调优与源码几个层次,内容密度不低,需要边看边动手。对已经写过 SQL、做过数据仓库、想补齐 MPP 这块认知的开发者来说,拿来对照自己的集群做实验,比单纯看讲解更划算。
【尚硅谷】大数据技术之Greenplum - 带源码课件
Greenplum深度解析,源码实践
编辑点评
系统讲解Greenplum架构与操作,源码分析提升实战能力。
⭐ 编辑推荐
深入浅出Greenplum,从安装部署到复杂查询,源码解析助你精通。
✨ 课程亮点
课程目录
课程目录35 集
- 说明.zip [484.0 B]
- 33_查询操作-分组查询.mkv [81.3 MB]
- 49_函数-窗口函数-窗口范围的定义-基于值的定义细节.mkv [42.2 MB]
- 39_函数-简介.mkv [40.7 MB]
- 06_安装与部署-环境准备-准备模板机.mkv [58.8 MB]
- 36_查询操作-Join查询-join的多表关联.mkv [53.2 MB]
- 38_查询操作-排序.mkv [59.2 MB]
- 51_函数-窗口函数-缺省情况.mkv [28.4 MB]
- 12_安装与部署-初始化GreenPlum.mkv [55.8 MB]
- 41_函数-单行函数-字符串函数.mkv [74.4 MB]
- 48_函数-窗口函数-窗口范围的定义-基于行的定义细节.mkv [44.1 MB]
- 30_DML操作-导出数据.mkv [17.8 MB]
- 15_数据类型-复杂类型的介绍.mkv [33.1 MB]
- 18_数据类型-复杂类型案例-网络地址类型.mkv [58.0 MB]
- 20_数据类型-复杂类型案例-数组类型.mkv [33.7 MB]
- 03_什么是Greenlum及GreenPlum的架构组成.mkv [58.1 MB]
- 笔记.7z [7.2 MB]
- 47_函数-窗口函数-窗口范围的定义-基于行和基于值得对比.mkv [39.5 MB]
- 34_查询操作-Join查询-join的介绍.mkv [62.9 MB]
- 56_函数-窗口函数-案例实现-需求四.mkv [28.7 MB]
- 代码.7z [77.6 KB]
- 54_函数-窗口函数-案例实现-需求二.mkv [67.1 MB]
- 09_安装与部署-环境准备-针对Linux系统的相关配置.mkv [184.1 MB]
- 29_DML操作-导入数据-其他的导入方式及数据的更新和删除.mkv [93.6 MB]
- 43_函数-单行函数-流程控制函数.mkv [101.2 MB]
- 23_DDL操作-库相关的操作-案例操作.mkv [49.9 MB]
- 46_函数-窗口函数-概念以及定义.mkv [58.1 MB]
- 50_函数-窗口函数-分区的定义.mkv [23.4 MB]
- 14_数据类型-基本数据类型.mkv [52.1 MB]
- 42_函数-单行函数-日期函数.mkv [71.8 MB]
- 40_函数-单行函数-算术运算函数&数学函数.mkv [46.7 MB]
- 26_DDL操作-表相关的操作-内部表和外部表的案例操作.mkv [75.2 MB]
- 22_DDL操作-库相关的操作-建库的语法详解.mkv [34.1 MB]
- 24_DDL操作-表相关的操作-建表的语法详解.mkv [60.1 MB]
- 31_查询操作-准备表和数据.mkv [46.9 MB]
- …(已达 35 条上限,后续省略)
适合人群
- 大数据从业者
- 数据库开发人员
🎯 学习收获
- 掌握Greenplum架构
- 精通查询操作
- 提升源码分析能力
🎉 祝您学习愉快!




