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 年前3Greenplum分布式事务和两阶段提交协议
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 年前3Greenplum开源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 年前3Greenplum 精粹文集
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 年前3Greenplum数据库架构分析及5.x新功能分享
Confidential–Inter nal Use Only GPDB:为大数据存储、计算、挖掘而设计 标准 SQL 数据库:ANSI SQL 2008 标准,OLAP,JDBC/ODBC 支持ACID、分布式事务 分布式数据库:线性扩展,支持上百物理节点 企业级数据库:全球大客户超过 1000+ 安装集群 百万行源代码,超过10年的全球研发投入 开源数据库(greenplum.org),良性生态系统 主节点Segment 系统表 优化器 分布式事务 调度器 执行器 解析器执行词法分 析、语法分析并生 成 解析树 客户端 主节点接受客户连接, 处理请求,执行认证 解析器 主节点 17 Pivotal Confidential–Inter nal Use Only 优化器 本地存储 主节点Segment 系统表 分布式事务 Interconnect 调度器 执行器 实例 本地事务 执行器 系统表 本地存储 18 Pivotal Confidential–Inter nal Use Only 调度器 本地存储 主节点Segment 系统表 分布式事务 Interconnect 执行器 解析器 发送查询计划给各 个Segments 分配处理查询需要 的集群资源,收集 并返回结果给客户 端 主节点 Segment 实例 本地事务0 码力 | 44 页 | 8.35 MB | 1 年前3Greenplum介绍
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 年前3Greenplum Database 管理员指南 6.2.1
..................................................................................... - 19 - 第二章:分布式数据库概念 ............................................................................................. 编写:陈淼 - 21 - 第二章:分布式数据库概念 GP 是一个分布式数据库集群系统。这就意味着在物理上,数据是存储在多个数据 库上的(称为 Instance)。这些独立的数据库通过网络进行通信(称为内联网络)。分 布式数据库的一个基本特征是,用户和客户端程序在访问时如同访问一个单机数据库 (GP 访问 Master)一样方便,数据库内部的分布式实现不需要用户过多的关心,对于 客户端应用来说,访问 客户端应用来说,访问 GP 数据库与单机数据库没有什么区别。不过,对于开发人员和 DBA 来说,要更好的用好 GP 数据库,还是需要了解和掌握分布式数据库的概念,了解 GP 的架构和工作原理,这样才能更好的发挥 GP 的分布式优势,也就是说,学好这些 知识是极其重要的。和很多 IT 技术一样,入门很容易,精通很难,编者认为,GP 入 门更容易,精通也更难,一般不要指望通过几个月的刻苦学习就能达到很深的造诣,甚0 码力 | 416 页 | 6.08 MB | 1 年前3Greenplum数据仓库UDW - UCloud中立云计算服务商
3800G(SSD) 选择数据仓库类型:Greenplum 是 EMC 开源的数据仓库产品、Udpg 是基于 PostgreSQL 开发的⼤规模并⾏、完全托管的 PB 级数据仓库服务。 选择节点个数:UDW 是分布式架构、所有节点数据都是双机热备,实际可⽤总容量略⼩于节点个数*节点磁盘⼤⼩/2,请根据实际数据⼤⼩选择合适的节点。 3.设置数据仓库信息 必选项有数据仓库名称、DB管理员⽤⼾名、管理员密码。可选项有默认DB 做哈希分布。 为了尽可能的并⾏处理数据,需要选择能够最⼤化地将数据均匀分布到所有计算节点的策略,⽐如选择 primary key;分布式处理中将会存在本地和分布式协作的操作,当不同的表使⽤相 同的分布键的时候,⼤部分的排序、连接关联操作⼯作将会在本地完成,本地操作往往⽐分布式操作快很多,采⽤随机分布的策略⽆法享受到这个优势。 开发指南 Greenplum数据仓库 UDW Copyright © 2012-2021 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 130/206 在绝⼤部分传统数据中,索引都能够极⼤地提⾼数据访问速速。然⽽,在像 UDW 数据仓库这样的分布式数据库系统中,索引的使⽤需要更加谨慎。 索引会增加数据库系统的运⾏开销,它们占⽤存储空间并且在数据更新时,需要额外的维护⼯作。请确保查询集合在使⽤您创建的索引后,性能得到了改善(和全表顺序扫描相⽐)。可以使⽤0 码力 | 206 页 | 5.35 MB | 1 年前3Greenplum 6: 混合负载的理想数据平台
Greenplum 6: 混合负载的理想数据平台 高小明 全球领先的开源MPP大数据平台 可扩展性 ACID事务 VS 分布式 简单易用 VS 结构化 半结构非结构化 VS 事务型 分析型 VS MPP - massively parallel processing - 大规模并行处理 master standby primary Elimination 03 动态分区裁剪 公共表达式的下推 高效处理相关子查询 超过8年的投资,多位博士的长期贡献 基于Cascades / Volcano框架, Goetz Graefe 优化分布式大数据系统中特别复杂的查询 18 Madlib: 迭代并行模型训练 Master model = init(…) WHILE model not converged model = 支持更改删除、删除 ■ 支持更改分布键、主键(将数据从一个节点移到另一个节点) 30 Pivotal Confidential–Internal Use Only Greenplum 6:并发改删和分布式死锁检测 全局死 锁检测 gpconfig -c ‘gp_enable_global_deadlock_detector’ -v on 31 Pivotal Confidential–Internal0 码力 | 52 页 | 4.48 MB | 1 年前3完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum
操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 平台架构 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字 基础设施的开源操作系统。 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum deadlockdetector) 这项技术对性能提升特别是 Update 和 Delete 至关重要。锁是数据库中实现并发控制的重要技术,随之而来的死锁 处理。Greenplum 创新性的采用了分布式死锁检测,更新删除表的锁级别已降低,支持并发更新删除操作,大大提 升了处理性能。 并发控制优化 Greenplum 6 除了全局死锁检测,还引入了多项其他并发控制优化方法,这些优化对 实现了不停库在线增加新节点, 期间不会中断正在运行的所有查询;另外采用了 Jump Consistent Hash 的一致性哈希算法, 在数据重分布期间,每个旧节点仅移动出需要移动的数据到新节点上, 得益于创新的分布式死锁检测, 对于大量小表做并行重分布性能提升非常明显。 Greenplum VACUUM 提升 将在 Greenplum 7 中实现此功能,能够做到: 1 https://arxiv0 码力 | 17 页 | 2.04 MB | 1 年前3
共 14 条
- 1
- 2