Greenplum 分布式数据库内核揭秘VMware, Inc. Greenplum 分布式数 据库内核揭秘 Greenplum内核开发工程师 2022-03-16 李正龙 Confidential │ ©2021 VMware, Inc. Agenda 2 - 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 Confidential │0 码力 | 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中,仍会参考官方文档,但绝不是简单的翻译,甚至有些内容会与官方文档不一致。 编者提醒,升级版本极其重要,4 版本早该淘汰了,5 版本和 6 版本都带来了极大 的性能和稳定性的提升。 声明 本文档的版权归[陈淼]个人所有,未经许可和授权不得抄袭和引用。 本文档中的绝大部分内容都经过编者重新考量和实测验证,有些观点与官方手册有 出入,仅代表编者本人观点,与官方手册无关。本书中可能会提及一些非官方的命令和 ........................................................................................... - 2 - 声明................................................................................................... .................................................................................... - 19 - 第二章:分布式数据库概念 ..............................................................................................0 码力 | 416 页 | 6.08 MB | 1 年前3
PostgreSQL和Greenplum 数据库故障排查local使用本地unix套接字 host使用TCP/IP连接(包括SSL和非SSL) “IPv4地址”使用IPv4方式 hostssl只能使用SSL TCP/IP连接 hostnossl不能使用SSL TCP/IP连接 数据库(database) 声明允许访问的数据库,多个数据库,库名 间以逗号分隔。 all表明该记录匹配所有数据库 用户名(user) 允许的客户端(ADDRESS) 格式为ip-address/mask 采用local连接方式不必填写,该项可以是IPv4地址或IPv6地址,可以定义某 台主机或某个网段。 认证方法(METHOD) METHOD指定如何处理客户端的认证。常用的有ident,md5,password, trust,reject。 ident ident是Linux下Po0 码力 | 84 页 | 12.61 MB | 1 年前3
Greenplum 精粹文集SMP(对称多处理)架构难于扩展,并且在 CPU 计算和 IO 吞吐上不 能满足海量数据的计算需求。 分布式存储和分布式计算理论刚刚被提出来,Google 的两篇著名论文 发表后引起业界的关注,一篇是关于 GFS 分布式文件系统,另外一篇 是关于 MapReduce 并行计算框架的理论,分布式计算模式在互联网 行业特别是收索引擎和分词检索等方面获得了巨大成功。 Big Date2.indd 1 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不仅可以作为全能的分析化平台,也能满足交易型业 务场景,能够处理多种并发混合工作负载,专为满足在多结构数据环境中进行实时分析的需求而设计。 欧拉开源操作系统是一款面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多 样性计算,致力于提供安全、稳定、易用的操作系统。 Greenplum 与欧拉开源社区强强联手,不仅是双方业务用户所期盼的,同时也是 Greenplum 社区与对中国本地开源社 5 白皮书 | 5 欧拉开源操作系统 欧拉开源操作系统(openEuler, 简称“欧拉”)从服务器操作系统正式升级为面向数字基础设施的操作系统,支持服务 器、云计算、边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的操作系统。通过为应用 提供确定性保障能力,支持 OT 领域应用及 OT 与 ICT 的融合。 欧拉开源社区通过开放的社区形式与全球的 openEuler 社区面向场景化的 SIG 不断组建,推动 openEuler 应用边界从最初的服务器场景,逐步拓展到云计算、边 缘计算、嵌入式等更多场景。openEuler 正成为覆盖全场景的操作系统,将发布面向边缘计算的版本 openEuler 21.09 Edge、面向嵌入式的版本 openEuler 21.09 Embedded。 openEuler 希望与广大生态伙伴、用户、开发者一起,0 码力 | 17 页 | 2.04 MB | 1 年前3
Greenplum数据仓库UDW - UCloud中立云计算服务商76 76 79 81 82 90 92 101 102 103 104 106 128 访问 访问UDW数据仓库 数据仓库 1 客⼾端⼯具访问UDW 2 图形界⾯的⽅式访问UDW 数据导⼊ 数据导⼊ insert加载数据 copy加载数据 外部表并⾏加载数据 从hdfs加载数据 从mysql中导⼊数据 从oracle中导⼊数据 从ufile加载数据 Copyright © 2012-2021 UCloud 优刻得 7/206 1. Client:访问 UDW 的客⼾端 ⽀持通过 JDBC、ODBC、PHP、Python、命令⾏ Sql 等⽅式访问 UDW 2. Master Node:访问 UDW 数据仓库的⼊⼝ 接收客⼾端的连接请求 负责权限认证 处理 SQL 命令 调度分发执⾏计划 汇总 Segment 的执⾏结果并将结果返回给客⼾端 击“创建数据仓库”。 快速上⼿ Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 10/206 2.选择计算节点机型、计算节点数量以及付费⽅式。 其中可选的机型配置有: 机型 机型 名称 名称 配置 配置 存储密集型 ds1.large 4核 24G 2000G(SATA) 存储密集型 ds1.6xlarge 24核 144G 12000G(SATA)0 码力 | 206 页 | 5.35 MB | 1 年前3
Greenplum 新一代数据管理和数据分析解决方案传统数据库的要求 今天的数据库供应商 网络运算的发展速度已经超过了主流数据库 • 海量规模 • 高性价比 • 高效率 数据库管理系统(DBMS)的 规模/容量 11 需要采用一种新的方法 •“一切皆可商用”:商业即用型x86 服务器、存储设备、网络 •通过软件很容易将处理能力扩展到 1000s的内核/系统 Greenplum • “黑盒子” • “大铁箱” • 大磁盘 过去Google™ 性价比: 性能可达到传统方案(Oracle、Teradata)的 10到100倍, 而成本只是其一小部分 – 可伸缩性:从较低的万亿字节扩展到千万亿字节 – 开放式系统:在通用系统和开放源软件的基础上创建 前提条件 – 硬件:基于开放式标准硬件 – 软件:Postgres和Greenplum – 体系架构:海量并行处理体系,针对商务智能/数据仓库 进行了优化,解决了所有数据流瓶颈问题 Greenplum数据引擎 区段服务器 (处理和存储) SQL 查询和 MapReduce程序 MPP (海量并行处理) “完全不共享”体系 Greenplum体系:并行数据流 21 • 通用并行数据流引擎可以通过本地方 式执行 SQL和MapReduce • 采用了针对商用硬件优化的MPP“完 全不共享”体系 • 可以在很多100s服务器上扩展到 1000s商用处理内核 • 将所有处理操作尽量移动到数据附近0 码力 | 45 页 | 2.07 MB | 1 年前3
Pivotal Greenplum 5: 新一代数据平台Greenplum 5:新一代数据平台 作为重要的新版本,Pivotal Greenplum 5 带来了多项产品改进和新增功能,在管理数据和对数据库中存储的信息应用数据 科学、分析、报告和数据洞察方法方面,这些功能对大多数客户都很有帮助。Greenplum 解决方案的架构设计目的是管理 非常复杂的查询,以及为符合 ANSI 标准的 SQL 提供强有力的分析改进。通过自动对数据进行分区和并行运行查询,它让 软件数据平台,Greenplum 可根据客户需求在任何位置运行。借助这种“不 受限于基础架构”的方法,可以在本地或多云环境(私有云或公有云)中部署同一类型的分析数据库。 无论在商业化的 Pivotal Greenplum 或是开源的 Greenplum Database 中,这种不受限于基础架构的方法的大部分优势都 具有同样强大的作用。在 Greenplum Database 上部署分析系统时,用户还可获得一些额外的优势: 供应商制约。用户可通过不同供应商获得针对 Greenplum 的服务和支持。 • Greenplum Database 在开发时采用的是以社区 / 客户为焦点的开发模式。客户可通过多种开放可用的方法对总 体产品方向产生影响,而这又会加快产品创新。 客户能够在群集中的一组初始服务器上部署 Pivotal Greenplum,并能在数据存储和用户需求增加时扩充配置中的服务器数 量,且无需卸载再重0 码力 | 9 页 | 690.33 KB | 1 年前3
Pivotal Greenplum 最佳实践分享GPDB采用MVCC机制,UPDATE 或 DELETE并非物理删除,而只是对无效记 录做标记; • Update/delete操作后,数据库不会自动释放这些空间,这些垃圾空间的回收方 式: 1)Vacuum 2)Vacuum full 3)REORGANIZE • 不进行垃圾空间回收的影响 o 垃圾空间浪费存储空间 o 垃圾空间影响查询性能 注:delete GPDB最佳实践所推荐的对象管理要求是:一个数据库内对象不要超过10 0000个 最佳实践是出于对系统性能和稳定性因素建议对pg_class 所维护的对象数进行约束 减少对象数的方法: – 提高分区粒度 – 避免大范围使用列存储 pg_class对象数如果不进行约束,可能会产生以下问题: – gprecoverseg –F效率低,数据库实例修复如果增量同步失 索引使用: • 以数据批处理为主要功能的系统一般不需建索引 • 以并发查询为主要功能,特别OLTP查询(根据KEY,Attribute等作为筛选条件)的系统按照常用字段建索引。 • 建索引的方法:对于区别度高的字段,如账号、手机号码等使用B-Tree索引,对于区别度低的字段(<10000),采用 Bitmap索引; • 表关联时,一般不需要建索引,如果where条件的筛选性很强,建立索引可以让系统性能提升0 码力 | 41 页 | 1.42 MB | 1 年前3
共 24 条
- 1
- 2
- 3













