Greenplum架构

Posted angeling2009

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Greenplum架构相关的知识,希望对你有一定的参考价值。

架构概述

  • 基于PostgreSQL的分布式数据库,采用shared-nothing架构、主机、操作系统、内存、存储都是自我控制的,不存在共享
  • 采用了MPP,每个SMP节点运行自己的操作系统、数据库等,每个节点内的CPU不能访问另一个节点的内存,节点之间的信息交互是通过节点互联网络实现的(数据重分配)
  • master hostsegment hostinterconnect三大部分组成
  • 各个节点均可配置镜像节点,当主节点不可用时,自动切换至镜像节点,当主节点恢复并启动后,将自动同步变更,确保数据不丢失,实现数据库系统的高可用
  • 数据库中所有的表都是分布式的,每个segment会存放相应的数据片段,根据用户指定的hash key对表进行hash数据分布或者随机数据分布,或者复制表分布。当需要进行数据分析时,涉及到的segment同时工作,提升计算效率
  • 进行表关联或者group by时,当关联键与分布键不同时,即关联的相同值的行数据分布在不同的segment实例上,需要涉及到数据表的跨库关联

Greeplum 系列 Greenplum 架构

Greeplum 系列(一) Greenplum 架构

Greenplum 可进行海量并行处理 (Massively Parallel Processing)

一、Greenplum 体系架构

1-1 Greenplum体系架构

Greenplum 由三部分组成:Master Host、Segment、Interconnect。

1.1 Master Host

  1. 访问系统的入口
  2. 数据库侦听进程 (postgres)
  3. 处理所有用户连接
  4. 建立查询计划
  5. 协调工作处理过程
  6. 管理工具
  7. 系统目录表和元数据(数据字典)
  8. 不存放任何用户数据

1.2 Segment

  1. 每段(Segment)存放一部分用户数据
  2. 一个系统可以有多段
  3. 用户不能直接存取访问
  4. 所有对段的访问都经过 Master
  5. 数据库监听进程(postgres)监听来自 Master 的连接

1.3 Interconnect

  1. Greenplum 数据库之间的连接层
  2. 进程间协调和管理
  3. 基于千兆以太网架构
  4. 属于系统内部私网配置
  5. 支持两种协议:TCP or UDP

Greenplum网络配置示例

图1-2 Greenplum网络配置示例

说明:

(1) Master Host 和 StandBy Master 用广域网连接起来,满足用户网络提交的需求(对外)。

(2) 每个 Segment 主机上可以有多个 Segment 实例,每个 Segment 对应一个 CPU/网上,主要是避免资源争夺。本实例中有 4 个网口连接到 4 个虚拟的局域网,每个虚拟的局域网对应一个网段 172.16.0、172.16.1、172.16.2。

(3) ILOM 这个网口主要是控制台的控制,提供给管理员来访问每一台主机的接口。

二、Greenplum 高可用性体系架构

图1-3 Greenplum高可用性体系架构

  1. Master Host 实时同步到 StandBy Master 节点上。

2.1 Master/Standby 镜像保护

图1-4 Master-Standby镜像保护

  • Standby 节点用于当 Master 节点损坏时提供 Master 服务
  • Standby 实时与 Master 节点的 Catalog 和事务日志保持同步

2.2 数据冗余-Segment 镜像保护

图1-5 数据冗余-Segment镜像保护

  • 每个 Segment 的数据冗余存放在另一个 Segment 上,数据实时同步
  • 当 Primary Segment 失败时,Mirror Segment 将自动提供服务
  • Primary Segment 恢复正常后,使用 gprecoverseg –F 同步数据。

Segment 主机硬件配置示例

图1-6 Segment主机硬件配置示例

2.3 网络冗余

图1-7 网络冗余


每天用心记录一点点。内容也许不重要,但习惯很重要!

以上是关于Greenplum架构的主要内容,如果未能解决你的问题,请参考以下文章

Greenplum 数据库架构分析

Greenplum架构

Greenplum 架构详解 & Hash Join 算法介绍

开源大数据引擎:Greenplum 数据库架构分析

Greenplum集群部署和架构优化,我总结了5000字的心得

MPP架构海量数据分析仓库——Greenplum介绍