Greenplum 架构概览Greenplum 架构概览 基本拓扑结构 如上图,我们可以认为 Greenplum(后简称 GP) 就是很多个 PostgreSQL 实例所组成的集群。GP 对外提供统⼀的数据接⼝,并帮助⽤户⾃动完成数据分⽚、并⾏ 查询与聚合等诸多分布式数据库功能 GP 是⼀种典型的 Master-Segment 架构,⼀个 GP 集群通常由⼀个 Master 节点、⼀个 Standby Master Segment 节点上通常会有多个 PostgreSQL 实例 Master-Segment 和 Master- Slave 有何区别? 在 Master-Slave 模型下,Master 和 Slave 拥有相同的数据,并且 Master 是存储和处理数据的唯⼀⼊⼝,Slave 仅复制 Master 的 数据。⽐如 MySQL 的主从模型、Redis 的主从模型 在 Master-Segment Master-Segment 模型下,⾸先 Master 节点不存储数据,其次就是数据将会以分⽚的⽅式存储在多个 Segment 节点中。这⾥可以 类⽐ Redis Cluster,只不过 Redis Cluster 是去中⼼化的。在 Master-Segment 模型中通常也会包含 Master-Slave 模型,也就是增 加数据副本,以实现⾼可⽤ 简单地来说,Master-Slave 主要进⾏数据复制(冗余),⽽0 码力 | 1 页 | 734.79 KB | 1 年前3
Greenplum数据库架构分析及5.x新功能分享Use Only MPP(大规模并行处理)无共享体系架构 从主节点 … 主节点 SQL • 主节点和从主节点,主节点负责协调整个集群 • 一个数据节点可以配置多个节点实例(Segment Instances) • 节点实例并行处理查询(SQL) • 数据节点有自己的CPU、磁盘和 内存(Share nothing) • 高速Interconnect处理持续 数据流(Pipelining) Segment 实例 本地事务 执行器 系统表 本地存储 Segment 主机 Segment 实例 Local TM 执行器Executor Catalog 本地存储Storage Segment 实例 本地事务 执行器 系统表 本地存储 Segment 实例 本地事务 执行器 系统表 本地存储 Segment 主机 Segment 实例 Local TM TM 执行器 Catalog 本地存储 Segment 实例 本地事务 执行器 系统表 本地存储 Segment 实例 本地事务 执行器 系统表 本地存储 Segment 主机 Segment 实例 Local TM 执行器 Catalog 本地存储 Segment 实例 本地事务 执行器 系统表 本地存储 18 Pivotal Confidential–Inter0 码力 | 44 页 | 8.35 MB | 1 年前3
Greenplum 精粹文集ysql等等), 但是 Postgresql 是单实例数据库,怎么能在多个 X86 服务器上运行多 个实例且实现并行计算呢?为了这,Interconnnect 大神器出现了。在 那一年多的时间里,大咖们很大一部分精力都在不断的设计、优化、 开发 Interconnect 这个核心软件组件。最终实现了对同一个集群中多 个 Postgresql 实例的高效协同和并行计算,Interconnect 承载了并行 系统也直接采用 Postgresql。 相比之下,Greenplum 更强悍,把 Postgresql 作为实例(该实例非 Oracle实例概念,这里指的是一个分布式子库架构在Interconnect下), 在 Interconnect 的指挥协调下,数十个甚至数千个 Sub Postgresql 数 据库实例同时开展并行计算。而且,这些 Postgresql 之间采用 share- nothing 无共享 的最小并行单元不是节点层级,而是在 实例层级。安装过 Greenplum 的同学应该都看到每个实例都有自己 的 Postgresql 目录结构,都有各自的一套 Postgresql 数据库守护进 程(甚至可以通过 UT 模式进行单个实例的访问)。正因为如此,甚 至一个运行在单节点上的 GreenplumDB 也是一个小型的并行计算架 构,一般一个节点配置 6~8 个实例,相当于在一个节点上有 6~8 个0 码力 | 64 页 | 2.73 MB | 1 年前3
Pivotal Greenplum 最佳实践分享15 gp_workfile_limit_per_query 256GB 256GB superuser_reserved_connections 50 NA Instance实例数的配置建议 • Instance是GPDB的最小并行单元,每个Segment 节点一般配置4~8个Instance,初始化完成后很 难修改,需要提前规划; • 每个Instance都是一套独立的进程,当客户端 – gprecoverseg –F效率低,数据库实例修复如果增量同步失败,我们一般会建议使用gprecoverseg –F进行全量同 步,全量同步是在两个节点之间全量拷贝文件,超过10 0000个对象,在数据目录下地文件数会可能达到上百万 个档,这些文件的拷贝需要花费很长时间 – 使用gpexpand扩容节点时,对象数多,对应到每个实例下的文件数非常多,将这些目的档重分布到新扩展的节 点时间会很长 Merge join(排序关联) 大多数关联都是Hash关联,关联是小表被Hash到内存中,如果涉及数据表规模较大,内存不足时, GPDB将会生成临时文件,这些档会放在segment的实例目录下pgsql_tmp目录下,GPDB建议保留 30%左右的空间作为临时空间 避免小表Left Join大表 修改为先Inner Join再Left Join的方式,避免大表被Hash0 码力 | 41 页 | 1.42 MB | 1 年前3
Greenplum Database 管理员指南 6.2.1Greenplum 数据库 Master : GP 的控制节点/实例 Standby : GP 的备用控制节点/实例 Host(主机) : GP 的一台独立的机器设备 Instance : GP 的计算实例,很多时候也叫 Segment Primary : GP 的主计算实例 Mirror : GP 的镜像计算实例 MPP : 大规模并行处理 算子 : ........................................................................................ - 12 - 计算实例:Instance ......................................................................................... 于 GP 数据库来说,一个数据库集群是 由多个独立的 PostgreSQL 实例构成的,它们分布在不同的主机上,实例之间协同工 作,用户可以像使用一个普通的单机数据库那样,进行访问和执行 SQL 操作。其中 Master 是整个系统的访问入口,负责处理客户端的连接和 SQL 命令、协调系统中的 其他实例协同工作,计算实例负责管理和处理具体的业务数据,并将处理结果反馈给 Master。0 码力 | 416 页 | 6.08 MB | 1 年前3
并行不悖- OLAP 在互联网公司的实践与思考greenplum体系架构 postgresql体系结构 • pg结构组成 Ø 连接关系系统 Ø 编译执行系统 Ø 存储执行系统 Ø 事务系统 Ø 系统表 • pg逻辑和物理结构 Ø instance实例 - user - tablesapce Ø database - schema - table,view,function - data row Ø 物理文件 - oid - 表空间 - 数据文件命名 公司IDC_02机房Greenplum体系 Ø 公司IDC_03机房Greenplum体系 • 服务器资源 Ø 三大Greenplum集群,共用 422 个postgresql实例 Ø 实例分布成为 28 个Greenplum集群或postgresql单实例 • 服务器资源 Ø 三大Greenplum集群,共使用 51 台服务器资源 Ø 12台虚拟机,39台物理机 17 Greenplum现状说明 三大Greenplum集群定位分类 Greenplum运维体系 环境创建与部署 • 部署流程 Ø 规划部署方案 Ø 准备硬件资源 Ø 修改系统参数 Ø 安装 Greenplum 软件 / postgresql软件 Ø 初始化实例 Ø 修改实例参数文件 Ø 初始化业务所需库表环境、用户环境 Ø 加载数据 Ø 业务程序访问 23 Greenplum运维体系 环境创建与部署 • 部署注意点 Ø 资源要充足(ETL,管理节点,数据节点,数据集市)0 码力 | 43 页 | 9.66 MB | 1 年前3
Greenplum 新一代数据管理和数据分析解决方案数据仓库工作量:数据膨胀 面临的新难题是如何处理大规模数据 过去的10年 现在 HPC 企业 SME 万亿字节 千兆字节 兆字节 千万亿字节 万亿字节 千兆字节 行业商务智能解决方案的实例 政府 电信 金融服务 公民服务 国家安全 电子政务 法规实施和监管 人力资本管理 信息传播 合规性报告 资产组合分析 客户报表 电汇通知 分部记分卡 客户关系管理、收 购和盈利率 曾经用来实现信息搜索功能的技术, 现在被Greenplum用于数据仓库 现在的解决方案 12 Greenplum愿景:企业数据集合 13 • 在企业内创建统一的数据运算平台 • 企业所有者可以直接控制其数据实例 • 通过实体整合提供企业级数据访问功能 • 灵活的扩展和配置降低了投资的平均风险 源文件 源数据 源数据 源文件 数据仓库和分析应 用程序 Greenplum数据架构 商用硬件集群 分析 将SQL的普遍性与MapReduce的灵 活编程模式结合起来 • 针对业务关键分析功能提供企业级集 成、支持和发布 • 为新一代分析处理技术开启了大门– 其中包括文本分析、图形分析、数据 挖掘、机器学习以及更多内容 客户实例:福克斯互动媒体 (Fox Interactive Media) • 业务问题 • 改进定位广告 • 竞争对手 • Teradata, Oracle • 数据规模 • 1万亿行事实数据表,每天增加0 码力 | 45 页 | 2.07 MB | 1 年前3
Greenplum on Kubernetes
容器化MPP数据库Instance query Load Master节点和Standby Master节点 Greenplum 架构 Interconnect高速网络 Segment主机部署多个Segment实例 (Primary Segment和Mirror Segment) Greenplum 部署方案 ● Master节点和Standby Master分机部署 ● Primary Segment节点和Mirror Segment Instance Segment 5 (Mirror) 容器化Greenplum ? + = 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 ● 容器资源分配 ○ CPU ○ 内存 ○ 磁盘 ● 容器间网络互联 ○ 本机网络 ○ 跨机网络 ● 容器化Greenplum部署策略 ○ Master部署策略 ○ Primary 容器化Greenplum运维管理 ○ 故障检测及恢复 ○ 升级扩容 ● 容器化Greenplum存储管理 ○ 容器本地存储易失性 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 ● 容器资源分配 ○ CPU ○ 内存 ○ 磁盘 ● 容器间网络互联 ○ 本机网络 ○ 跨机网络 ● 容器化Greenplum部署策略 ○ Master部署策略 ○ Primary0 码力 | 33 页 | 1.93 MB | 1 年前3
Greenplum上云与优化查看所有连接信息 杀连接 创建和删除插件 2016Postgres中国用户大会 解决OOM问题 实例的OOM有时很频繁,同时OOM很难提前监控 我们的办法 利用外部脚本监控cgroup中的内存统计 发生内存水位较高时,将实例移入公共 cgroup;同时发出cancel query信号给内核 水位下降时移回实例的cgroup 2016Postgres中国用户大会 Linux Box CGroup0 码力 | 26 页 | 1.13 MB | 1 年前3
Greenplum 分布式数据库内核揭秘optimizer (9 rows) Confidential │ ©2021 VMware, Inc. 21 所有的 Segments 将自身数据发送给其他所有 Segments,这样每一个 Segment 实例都有表的一 份完整拷贝。 Broadcast Motion postgres=# explain (costs off) select * from t where t1 not in (select VMware, Inc. 25 Greenplum,或者说 PostgreSQL 是进程模型,而不是类似于 MySQL 的线程模型。 主进程 postmaster 是整个数据库实例的总控进程,负责启动和关闭数据库实例。当客户端和 Coordinator 建立连接时,postmaster 会 fork 出一个子进程来为该连接提供服务。 Coordinator 节点上负责处理用户查询请求的进程称为0 码力 | 31 页 | 3.95 MB | 1 年前3
共 14 条
- 1
- 2













