大数据引擎 Greenplum 那些事

本文介绍了大数据引擎 Greenplum 的架构和部分技术特点。从 GPDB 基本背景开始,在架构的层面上讲解 GPDB 系统内部各个模块的概貌,然后围绕 GPDB 的自身特性、并行执行和运维等技术细节,阐述了为什么选择 Greenplum 作为下一代的查询引擎解决方案。

Greenplum 的 MPP 架构

Greenplum(以下简称 GPDB) 是一款开源数据仓库,基于开源的 PostgreSQL 改造而来,主要用来处理大规模数据分析任务。相比 Hadoop,Greenplum 更适合做大数据的存储、计算和分析引擎。

GPDB 是典型的 Master/Slave 架构,在 Greenplum 集群中,存在一个 Master 节点和多个 Segment 节点,每个节点上可以运行多个数据库。Greenplum 采用 shared nothing 架构(MPP),典型的 Shared Nothing 系统汇集了数据库、内存 Cache 等存储状态的信息,不在节点上保存状态的信息。节点之间的信息交互都是通过节点互联网络实现的。通过将数据分布到多个节点上来实现规模数据的存储,再通过并行查询处理来提高查询性能。每个节点仅查询自己的数据,所得到的结果再经过主节点处理得到最终结果。通过增加节点数目达到系统线性扩展。

图1为 GPD B 的基本架构,客户端通过网络连接到 gpdb,其中 Master Host 是 GP 的主节点(客户端的接入点),Segment Host 是子节点(连接并提交 SQL 语句的接口),主节点不存储用户数据,子节点存储数据并负责 SQL 查询,主节点负责相应客户端请求并将请求的 SQL 语句进行转换,转换之后调度后台的子节点进行查询,并将查询结果返回客户端。

图1  GPDB的基本架构 图1 GPDB 的基本架构
Greenplum Master

Master 只存储系统元数据,业务数据全部分布在 Segments 上。其作为整个数据库系统的入口,负责建立与客户端的连接,SQL 的解析并形成执行计划,分发任务给 Segment 实例,并且收集 Segment 的执行结果。正因为 Master 不负责计算,所以 Master 不会成为系统的瓶颈。

Master 节点的高可用类似 Hadoop 的 NameNode HA,如图2,Standby Master 通过 synchronization process,保持与 Primary Master 的 catalog 和事务日志一致,当 Primary Master 出现故障时,Standby Master 承担 Master 的全部工作。

图2  Master节点的高可用

图2 Master 节点的高可用

Segments

Greenplum 中可以存在多个 Segment,Segment 主要

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值