Greenplum 分布式数据库内核揭秘VMware, Inc. Greenplum 分布式数 据库内核揭秘 Greenplum内核开发工程师 2022-03-16 李正龙 Confidential │ ©2021 VMware, Inc. Agenda 2 - Greenplum 分布式数据库简介 - Greenplum 集群化概述 - 分布式数据存储与多态存储 - 分布式查询优化器与执行器 - Greenplum Greenplum 中文社区 3 Confidential │ ©2021 VMware, Inc. Greenplum 分布式数据库简介 Features Confidential │ ©2021 VMware, Inc. 4 Greenplum 是基于 PostgreSQL 所实现的大规模并行处理(MPP)开源数据平台,具有良好的弹性 和线性拓展能力,内置并行存储、并行通信、并行计算和并行优化功能,兼容 容 SQL 标准。拥有独 特的高效的 ORCA 优化器,具有强大、高效的 PB 级数据存储、处理和实时分析能力,同时支持 OLTP 型业务的混合负载。 Greenplum 分布式数据库简介 5 Confidential │ ©2021 VMware, Inc. Greenplum 集群化概述 Coordinator/Segment, Primary/Mirror Confidential0 码力 | 31 页 | 3.95 MB | 1 年前3
Greenplum分布式事务和两阶段提交协议Greenplum中文社区 https://cn.greenplum.org 博文 资料 文档 项目 全新的问答论坛 分布式事务和 两阶段提交协议 6 ● 事务实现原理和Write Ahead Logging(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 7 事务的属性:ACID 事务的属性:ACID 属性 含义 数据库系统的实现 Atomic 原子性 事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 事务的实现原理和Write Ahead Log(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 22 分布式事务 ● 分布式事务,分布式环境下的事务, 是一个典型的嵌套式事务,一个事务 由多个工作节点的子事务组成。 ● 必须保证参与分布式事务的各个场地 (节点)的事务,要么全部提交,要么 全部rollback,不能出现部分提交的情0 码力 | 42 页 | 2.12 MB | 1 年前3
Greenplum Database 管理员指南 6.2.1..................................................................................... - 19 - 第二章:分布式数据库概念 ............................................................................................. ........................................................................................ - 272 - 文件系统要求 ............................................................................................... ........................................................................................ - 385 - 文件系统 .................................................................................................0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 精粹文集SMP(对称多处理)架构难于扩展,并且在 CPU 计算和 IO 吞吐上不 能满足海量数据的计算需求。 分布式存储和分布式计算理论刚刚被提出来,Google 的两篇著名论文 发表后引起业界的关注,一篇是关于 GFS 分布式文件系统,另外一篇 是关于 MapReduce 并行计算框架的理论,分布式计算模式在互联网 行业特别是收索引擎和分词检索等方面获得了巨大成功。 Big Date2.indd 1 16-11-22 下午3:38 2 由此,业界认识到对于海量数据需要一种新的计算模式来支持,这种 模式就是可以支持 Scale-out 横向扩展的分布式并行数据计算技术。 当时,开放的X86服务器技术已经能很好的支持商用,借助高速网络(当 时是千兆以太网)组建的 X86 集群在整体上提供的计算能力已大幅高 于传统 SMP 主机,并且成本很低,横向的扩展性还可带来系统良好 的成长性。 MPP(海量并行处理)计算框架,最终还 是需要软件来实现,Greenplum 正是在这一背景下产生的,借助于分 布式计算思想,Greenplum 实现了基于数据库的分布式数据存储和并 行计算(GoogleMapReduce 实现的是基于文件的分布式数据存储和 计算,我们会在后面比较这两种方法的优劣性)。 话说当年 Greenplum(当时还是一个 Startup 公司,创始人家门口有 一棵青梅 ——0 码力 | 64 页 | 2.73 MB | 1 年前3
完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 平台架构 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字 基础设施的开源操作系统。 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum 云原生调度增强:针对云场景在线和离线业务混合部署场景,创新 CPU 调度算法保障在线业务对 CPU 的实时抢占及抖 动抑制,创新业务优先级 00M 内存回收算法保障在线业务安全可靠运行。 • 新文件系统 EulerFS:面向非易失性内存的新文件系统,采用软更新、目录双视图等技术减少文件元数据同步 时间,提升文件读写性能。 • 内存分级扩展 etMem:新增用户态 swap 功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能 deadlockdetector) 这项技术对性能提升特别是 Update 和 Delete 至关重要。锁是数据库中实现并发控制的重要技术,随之而来的死锁 处理。Greenplum 创新性的采用了分布式死锁检测,更新删除表的锁级别已降低,支持并发更新删除操作,大大提 升了处理性能。 并发控制优化 Greenplum 6 除了全局死锁检测,还引入了多项其他并发控制优化方法,这些优化对0 码力 | 17 页 | 2.04 MB | 1 年前3
Greenplum数据库架构分析及5.x新功能分享Confidential–Inter nal Use Only GPDB:为大数据存储、计算、挖掘而设计 标准 SQL 数据库:ANSI SQL 2008 标准,OLAP,JDBC/ODBC 支持ACID、分布式事务 分布式数据库:线性扩展,支持上百物理节点 企业级数据库:全球大客户超过 1000+ 安装集群 百万行源代码,超过10年的全球研发投入 开源数据库(greenplum.org),良性生态系统 高速数据导入和导出 – 主节点不是瓶颈 – 10+ TB/小时/Rack – 线性扩展 • 低延迟 – 加载后立刻可用 – 不需要中间存储 – 不需要额外数据处理 • 导入/导出 到&从: – 文件系统 – 任意 ETL 产品 – Hadoop 发行版 外部数据源 Interconnect ... ... ... ... 主节点 查询优化和调度 数据节点 存储数据 & 查询处 理 主节点Segment 系统表 优化器 分布式事务 调度器 执行器 解析器执行词法分 析、语法分析并生 成 解析树 客户端 主节点接受客户连接, 处理请求,执行认证 解析器 主节点 17 Pivotal Confidential–Inter nal Use Only 优化器 本地存储 主节点Segment 系统表 分布式事务 Interconnect 调度器 执行器0 码力 | 44 页 | 8.35 MB | 1 年前3
Greenplum on Kubernetes
容器化MPP数据库Vertica Eon Mode ● 容器化数据库+Kubernetes ○ Apache Spark ○ CockroachDB ○ Apache HAWQ 云数据库存储方案 ● 块存储 ○ 文件系统接口 ● 对象存储 ○ 成本低 ○ 扩展性强 ○ 访问延迟高 Greenplum on Kubernetes Network Interconnect Standby Host Master Segment部署策略 ● 容器化Greenplum运维管理 ○ 故障检测及恢复 ○ 升级扩容 ● 容器化Greenplum存储管理 ○ 容器本地存储易失性 ○ 容器外部存储关联性 容器化分布式应用程序公共问题 容器网络管理 容器资源管理 容器镜像管理 容器调度 容器监控及自 定义操作 容器存储管理 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 通过PVC申请PV存储资源 ● StatefulSet ○ Pod网络地址不变 ○ Pod与PV映射关系不变 Kubernetes 网络资源 Service ● Service ○ 定义统一网络地址 ○ 分布式应用程序路由映射 ○ 负载均衡器 Greenplum on Kubernetes Network Interconnect Standby Pod Master Pod Segment Pod0 码力 | 33 页 | 1.93 MB | 1 年前3
Pivotal Greenplum 最佳实践分享 查看实例宕机历史和恢复历史信息 select * from gp_configuration_history order by 1 ; 查看Tablespace对应的文件系统位置 select * from pg_filespace_entry ; Admin常用命令 gpstate:显示Greenplum数据库运行状态,详细配置等信息 常用可选参数 query_start,检查是否有3~6个小时以上的SQL仍在运行 检查空间使用情况 – gpssh -f allhosts =>df –h |grep data1,检查所有文件系统,包括xfs文件系统、tmp的使用情况; 日常巡检事项 检查操作系统日志 – gpssh检查所有节点的/var/log/message,grep过滤是否有硬件错误、系统错误等信息 确定是哪个实例的问题后,检查该节点是否有硬件故障 – 检查网络是否故障 – 检查实例的进程是否存在,ps –ef |grep postgres|grep port – 检查文件系统是否有异常(到相应实例对应的数据目录下,执行ls;echo“test‖ > mytest.txt看看是否有错误) 问题定位方法 现象-某个SQL任务执行时间太长0 码力 | 41 页 | 1.42 MB | 1 年前3
Greenplum开源MPP数据库介绍Greenplum的MPP架构 Ø 分布式优化器: Postgres planner 和 ORCA Ø 分布式事务和执行 Ø Greenplum存储 Ø Greenplum生态 Ø Greenplum 7 Confidential │ ©2022 VMware, Inc. 3 Greenplum简介:什么是Greenplum? 基于PostgreSQL、开源、分布式MPP、ACID完备、为OLAP优化的关系型数据仓库。 Confidential │ ©2022 VMware, Inc. 7 执行架构 Interconnect Client Ø Coordinator: q 管理其它节点 q 生成分布式计划 q 下发计划和汇总结果 q 管理分布式事务 Ø Segments: q 存储数据,share-nothing q 产生计算进程 Ø Libpq:控制信道 Ø Interconnect: 数据交换信道 Confidential 数据存两份,Coordinator有standby Ø 自动同步数据 (WAL replication) Ø 自动灾难恢复 (FTS,主备切换) Confidential │ ©2022 VMware, Inc. 9 分布式优化器:OLAP Ø OLTP系统的SQL语句相对简单(CURD) Ø OLAP系统的SQL语句就复杂得多(OLTP则尽量避免) q Join 很复杂(多表, outer join, lateral…)0 码力 | 23 页 | 4.55 MB | 1 年前3
Greenplum介绍Greenplum介绍 唐成 - 2011.02.17 汇 报 提 纲 Greenplum VS hadoop Greenplum架构 Greenplum的高可用方案 GP分布式数据库功能介绍 理解GP的查询处理 Greenplum VS hadoop 比较项 Greenplum Hadoop+hive 软件性质 商业软件 开源 式数据库中的 所有元数据,如表结构定义、索引等等。但其并不存储 实际的数据,实际的数据是存储在segment 数据库 的。 master服务器接受从用户发来的连接,并做用户验证, 接收用户发来的sql,生成分布式执行计划,再把分布 执行计划分发到segment上执行,接收segment返回的 数据,最后返回给用户。 Greenplum架构: Segment介绍 Segment是数据的实际存储的地方,也是一个经过改造 Master的primary与mirror之间的同步 就是使用PostgreSQL的日志同步方案。master的 mirror可以在建库时建,也可以在建完greenplum后再 添加。 理解greenplum分布式数据库 理解GP分布式数据库 理解GP的数据分布策略 Hash分布:按分布键对数据时行hash分布,这个hash 分布算法没有公布,只有greenplum内部知道数据是如 何hash分布的。0 码力 | 38 页 | 655.38 KB | 1 年前3
共 15 条
- 1
- 2













