开源MPP Greenplum参考架构
组件场景
开源Greenplum是典型的MPP架构的OLAP联机分析处理系统,基于开源PostgreSQL开发。
OLAP的基本特点是:
- 本身不产生数据,其基础数据来源于生产系统
- 基于查询的分析系统
- 复杂查询经常使用多表联结、全表扫描等
- 响应时间与具体查询有很大关系
- 用户数量相对较小
- 分布式集群,高扩展
架构原理
图1 组件典型架构

- Master节点:是整个系统的控制中心和对外的服务接入点,它负责接收用户SQL请求,将SQL生成查询计划并进行并行处理优化,然后将查询计划分配(dispatch)到所有的Segment节点进行并行处理,协调组织各个Segment节点按照查询计划逐步地进行并行处理,最后获取到Segment的计算结果,再返回给客户端;从用户的角度看Greenplum集群,看到的只是Master节点,无需关心集群内部的机制,所有的并行处理都是在Master控制下自动完成的。Master节点一般只有一个或两个(互为备份)。
- Segment DB节点:是Greenplum执行并行任务的并行运算节点,它接收Master的指令进行MPP并行计算,因此所有Segment节点的计算性能总和就是整个集群的性能,通过增加Segment节点,可以线性化地增加集群的处理性能和存储容量,Segment节点可以是1~10000个节点。
- Interconnect:是Master节点与Segment节点、Segment节点与Segment节点之间的数据传输组件,它基于千兆交换机或万兆交换机实现数据在节点间的高速传输。
外部数据加载到Greenplum时,采用并行数据流进行加载,直接加载到Segment节点,这项独特的技术是Greenplum的专有技术,以此保证外部数据在最短时间内加载到数据库中。
- Master节点,standby节点存放不同的服务器提升高可用。
- Segment DB节点之间通过两副本冗余,每台服务器建议4个以上Segment DB节点提升CPU的使用率。
父主题: 方案架构