Greenplum架构
Posted angeling2009
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Greenplum架构相关的知识,希望对你有一定的参考价值。
架构概述
- 基于PostgreSQL的分布式数据库,采用shared-nothing架构、主机、操作系统、内存、存储都是自我控制的,不存在共享
- 采用了MPP,每个SMP节点运行自己的操作系统、数据库等,每个节点内的CPU不能访问另一个节点的内存,节点之间的信息交互是通过节点互联网络实现的(数据重分配)
- 由master host、segment host、interconnect三大部分组成
- 各个节点均可配置镜像节点,当主节点不可用时,自动切换至镜像节点,当主节点恢复并启动后,将自动同步变更,确保数据不丢失,实现数据库系统的高可用
- 数据库中所有的表都是分布式的,每个segment会存放相应的数据片段,根据用户指定的hash key对表进行hash数据分布或者随机数据分布,或者复制表分布。当需要进行数据分析时,涉及到的segment同时工作,提升计算效率
- 进行表关联或者group by时,当关联键与分布键不同时,即关联的相同值的行数据分布在不同的segment实例上,需要涉及到数据表的跨库关联
Greeplum 系列 Greenplum 架构
Greeplum 系列(一) Greenplum 架构
Greenplum 可进行海量并行处理 (Massively Parallel Processing)
一、Greenplum 体系架构
Greenplum 由三部分组成:Master Host、Segment、Interconnect。
1.1 Master Host
- 访问系统的入口
- 数据库侦听进程 (postgres)
- 处理所有用户连接
- 建立查询计划
- 协调工作处理过程
- 管理工具
- 系统目录表和元数据(数据字典)
- 不存放任何用户数据
1.2 Segment
- 每段(Segment)存放一部分用户数据
- 一个系统可以有多段
- 用户不能直接存取访问
- 所有对段的访问都经过 Master
- 数据库监听进程(postgres)监听来自 Master 的连接
1.3 Interconnect
- Greenplum 数据库之间的连接层
- 进程间协调和管理
- 基于千兆以太网架构
- 属于系统内部私网配置
- 支持两种协议:TCP or UDP
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 高可用性体系架构
- Master Host 实时同步到 StandBy Master 节点上。
2.1 Master/Standby 镜像保护
- Standby 节点用于当 Master 节点损坏时提供 Master 服务
- Standby 实时与 Master 节点的 Catalog 和事务日志保持同步
2.2 数据冗余-Segment 镜像保护
- 每个 Segment 的数据冗余存放在另一个 Segment 上,数据实时同步
- 当 Primary Segment 失败时,Mirror Segment 将自动提供服务
- Primary Segment 恢复正常后,使用 gprecoverseg –F 同步数据。
Segment 主机硬件配置示例
2.3 网络冗余
每天用心记录一点点。内容也许不重要,但习惯很重要!
以上是关于Greenplum架构的主要内容,如果未能解决你的问题,请参考以下文章
Greenplum 架构详解 & Hash Join 算法介绍