Greenplum Database 管理员指南 6.2.1第二章:分布式数据库概念 GP 是一个分布式数据库集群系统。这就意味着在物理上,数据是存储在多个数据 库上的(称为 Instance)。这些独立的数据库通过网络进行通信(称为内联网络)。分 布式数据库的一个基本特征是,用户和客户端程序在访问时如同访问一个单机数据库 (GP 访问 Master)一样方便,数据库内部的分布式实现不需要用户过多的关心,对于 客户端应用来说,访问 GP 数据库 Order、Customer、Vender 和 Product,针对某一张表来说,每个 Instance 上都存储有一部分数据,所有 Instance 上的这张表的数据的集合组成了这张表的全部数据,这类似分库分表的 Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 - 22 - Sharding 概念,这样理解起来可能会容易一些。 DISTRIBUTED 子 句用以定义表的分布策略(Distribution Policy)。分布策略决定了表中的数据记 录如何被分散到不同的 Instance 上。GP 提供了 3 种分布策略:HASH 分布、随机分 布、复制分布。 HASH 分布 使用 HASH 分布时,一个或数个(强烈建议避免选多个)Table Column 可以被用 作 Distribution Key(简称 DK)。通过0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 排序算法之前;所有比基 准元素大的元素排放到基准元素之后。分割完成后,我们完成了对基准元素的 排序,即基准元素在数组中的位置不再改变 ● 递归排序子序列:递归地将小于基准元素的子序列和大于基准元素的子序列分 别进行排序 快速排序 8 ● 快速排序算法每次选取一个基准元素,将比基准元素小的排到基准元素左边, 比基准元素大的排到基准元素的右边,从而将待排序数组分成两个子集。 快速排序 6 8 3 2 9 8 7 7 9 6 3 2 1 分治法 9 快速排序 ● 快速排序算法: 10 堆排序是最常用的排序算法,由J.Williams在1964年发明。 ● 堆是一种近似完全二叉树的结构,最大值堆要求每个子节点的键值总是小于父 节点。最小值堆要求每个子节点的键值总是大于父节点。 堆排序算法 ● 步骤1:建立最大值堆,最大元素在堆顶 ● 步骤2:重复将堆顶元组移除并插入到排序数组,更新堆使其保持堆的性质 输 出 缓 冲 区 输 入 缓 冲 区 27 败者树算法(GP目前使用堆): ● 1. 输入每个顺串的第一个记录作为败者树的叶子节点。建立初始化败者树。 ● 2. 两两相比较,父亲节点存储了两个节点比较的败者(节点较大的值);胜利者 (较小者)可以参与更高层的比赛。这样树的顶端就是当次比较的冠军(最小 者)。 ● 3. 调整败者树,当我们把最小者输入到输出文件以后,需要从相应的顺串取出0 码力 | 52 页 | 2.05 MB | 1 年前3
Greenplum数据库架构分析及5.x新功能分享流处理 在线系统扩展 任务管理 服务 加载 & 数据联邦 高速数据加载 近实时数据加载 任意系统数据访问 存储 & 数据访问 混合存储引擎(行存&列存) 多种压缩,多级分区表 索引(B树,位图,GiST) 安全性 语言支持 标准SQL支持,SQL 2003 OLAP扩展 支持 MapReduce 扩展编程语言 (Python,R, Java, Perl, C/C++) 第三方工具 调度器 执行器 解析器执行词法分 析、语法分析并生 成 解析树 客户端 主节点接受客户连接, 处理请求,执行认证 解析器 主节点 17 Pivotal Confidential–Inter nal Use Only 优化器 本地存储 主节点Segment 系统表 分布式事务 Interconnect 调度器 执行器 解析器 优化器 处理解析树,生成 查询计划 查询计划描述了如0 码力 | 44 页 | 8.35 MB | 1 年前3
Greenplum 分布式数据库内核揭秘在集群的 不同节点间移动。 Confidential │ ©2021 VMware, Inc. 12 除了支持数据在不同的 segment 节点上水平分布以外,还支持在单个节点按照不同的标准进行分 区,将单个节点上一个逻辑上的大表分割成物理上的几块,且支持多级分区。 Greenplum 目前支持的分区方法有: l 范围分区:根据某个列的时间范围或者数值范围对数据进行分区。譬如以下 SQL 将创建一个按天分区的 分布式查询优化器 l 对于普通查询,只需要将 Segment 上的数据汇总即可,如果有 filter, 则在 segment 上执行条件过滤 l 对于 JOIN,我们需要考虑两张表的分布键以及分 布策略。若分布键和分布策略不同,就需要对数据 进行节点间移动 Confidential │ ©2021 VMware, Inc. 17 由于数据是根据某种分布策略分散的存储在集群中的各个节点,那么进行查询时,就必然存在数据 Segment 节点进行执行,并将最终结果返回给客户端。 Segment 节点上负责执行 QD 分发来的查询任务的进程称为 QE (Query Executor) 进程,递归 遍历 QD 发来的计划树,对每一个节点按照拉模型 (火山模型) 进行执行。 QD && QE Confidential │ ©2021 VMware, Inc. 26 QD && QE Confidential │ ©20210 码力 | 31 页 | 3.95 MB | 1 年前3
完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum白皮书 4 白皮书 | 4 关于本白皮书 近日,Greenplum 社区和欧拉开源社区深化合作,在欧拉开源操作系统(openEuler, 简称“欧拉”)编译测试了高级分 析数据平台 Greenplum,用实践证明了 Greenplum 与支持多样性计算的欧拉开源操作系统完全兼容,是 Greenplum 与中国本地 IT 厂商的深入合作的典型模板,大大丰富了中国本 , 将自动把备用节点进行替换,把这一流程自动化,减少人工的干预,这一功能不但将解决现有用户的使用痛点,同时 也大大增加了系统高可用性,避免手工操作,极大方便了系统运维,而这对于运行关键业务应用十分重要。 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum 12 白皮书 | 12 图 4:Greenplum 管理节点 Master 自动 Failover Greenplum 在 OLAP 方面继续保持领先与创新,打造统一分析全平台,综合多种技术给用户提供了分析便利,可以 选择自己擅长的工具及利用遗留的知识和技能,特别适合拥有多种技能的团队。 利用容器实现安全分析 PL/Container 扩展是一个接口,允许0 码力 | 17 页 | 2.04 MB | 1 年前3
Pivotal Greenplum 5: 新一代数据平台非常复杂的查询,以及为符合 ANSI 标准的 SQL 提供强有力的分析改进。通过自动对数据进行分区和并行运行查询,它让 服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚至数百倍。其多种分 析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够管理各种规模的数据卷,数 据量从数 GB 到数 PB 不等。 pivotal.io/cn 白皮书 是一个功能齐全、动态的、创新型分析数据平台,其产品路线图规划健全且充满活力,无论是短期内还 是未来长期时间里,都能满足客户的需求。 支持多种云不受限于基础架构的数据平台 Pivotal Greenplum 5 是首个内核百分百基于 Greenplum Database 开源项目及其相关源代码的版本。这意味着,可以通 过 greenplum.org 网站下载和编译的版本以及通过 Pivotal Network 分发的打包版本将具有相同的内核(只有个别微小差 S 程序包是 PostgreSQL 的空间数据库扩展,可让地理信息 系统 (GIS) 对象存储在数据库中。Pivotal Greenplum PostGIS 扩展包括支持使用基于 GiST 的 R 树空间索引和函数分析和处 理 GIS 对象。 图 3:Pivotal Greenplum 5:集成的分析。 地理空间 图分析库 聚类分析 传统BI分析 分类分析 回归分析 全文检索 pivotal0 码力 | 9 页 | 690.33 KB | 1 年前3
Greenplum数据仓库UDW - UCloud中立云计算服务商提⾼。对于压缩的数据,使⽤索引访问⽅法时,只有需要的数据才会被解压缩。 3. 避免在经常改变的列上创建索引:在经常更新的列上创建索引会导致每次更新数据时写操作⼤量增加。 4. 创建选择率⾼的 B-树索引,对于选择率较低的列,使⽤ Bitmap 索引。 5. 对参与连接操作的列创建索引:对经常⽤于连接的列(例如:外键列)创建索引,可以让查询优化器使⽤更多的连接算法,进⽽提⾼连接效率。 6. 对经常出现在0 码力 | 206 页 | 5.35 MB | 1 年前3
Greenplum 新一代数据管理和数据分析解决方案通过Greenplum超级数据处 理引擎增强竞争优势 Greenplum数据引擎:内容和方式 价值主张 – 性价比: 性能可达到传统方案(Oracle、Teradata)的 10到100倍, 而成本只是其一小部分 – 可伸缩性:从较低的万亿字节扩展到千万亿字节 – 开放式系统:在通用系统和开放源软件的基础上创建 前提条件 – 硬件:基于开放式标准硬件 – 软件:Postgres和Greenplum Reliance 的副总裁和主管(决策支持系统)Raj Joshi 25 响应时间 (分) 以前的数据库 客户实例: PLDT • 业务问题 CDR分析 • 竞争对手 Oracle • 数据规模 2200万用户 / 7亿次交易 • 优势 数据装载时间减少8倍,查询速度 从2小时提高到15分钟 “我们业务所面临的一个关键挑战就是要处理很大的数据量。 Greenplum技术可以帮助我们更好地了 rows)进行全表扫描,历时少于1.5 分钟。 – 客户投产环境:针对表C的一个子表(记录数约为C表的1/10) 进行全表扫 描,历时超过20分钟。 结论:如果采用DWA替代现有环境,获得超过120倍的性能提升。 • 真实应用测试 – DWA测试结果:完成应用的全过程仅耗时48分钟。 – 客户投产环境:客户11月份月度处理时,完成本项任务需要65小时。 结论:如果采用DWA替代现有环境,获得超过80倍的性能提升。0 码力 | 45 页 | 2.07 MB | 1 年前3
Greenplum 精粹文集现 自 动 的 并 行 计 算, 无 论 是 后 来 的 MapReduce 计算框架还是 MPP(海量并行处理)计算框架,最终还 是需要软件来实现,Greenplum 正是在这一背景下产生的,借助于分 布式计算思想,Greenplum 实现了基于数据库的分布式数据存储和并 行计算(GoogleMapReduce 实现的是基于文件的分布式数据存储和 计算,我们会在后面比较这两种方法的优劣性)。 话说当年 ), 但是 Postgresql 是单实例数据库,怎么能在多个 X86 服务器上运行多 个实例且实现并行计算呢?为了这,Interconnnect 大神器出现了。在 那一年多的时间里,大咖们很大一部分精力都在不断的设计、优化、 开发 Interconnect 这个核心软件组件。最终实现了对同一个集群中多 个 Postgresql 实例的高效协同和并行计算,Interconnect 承载了并行 查询计划生产和 成本很高,导致交互分 析和迭代算法开销很大,MPP 数据库采用 Pipline 方式在内存数据流 中处理数据,效率比文件方式高很多。 总结以上几点,MPP 数据库在计算并行度、计算算法上比 Hadoop 更加 SMART,效率更高;在客户现场的测试对比中,Mapreduce 对 于单表的计算尚可,但对于复杂查询,如多表关联等,性能很差,性 能甚至只有 MPP 数据库的几十分之一甚至几百分之一,下图是基于0 码力 | 64 页 | 2.73 MB | 1 年前3
Greenplum 架构概览Greenplum 架构概览 基本拓扑结构 如上图,我们可以认为 Greenplum(后简称 GP) 就是很多个 PostgreSQL 实例所组成的集群。GP 对外提供统⼀的数据接⼝,并帮助⽤户⾃动完成数据分⽚、并⾏ 查询与聚合等诸多分布式数据库功能 GP 是⼀种典型的 Master-Segment 架构,⼀个 GP 集群通常由⼀个 Master 节点、⼀个 Standby Master 节点以及多个 是存储和处理数据的唯⼀⼊⼝,Slave 仅复制 Master 的 数据。⽐如 MySQL 的主从模型、Redis 的主从模型 在 Master-Segment 模型下,⾸先 Master 节点不存储数据,其次就是数据将会以分⽚的⽅式存储在多个 Segment 节点中。这⾥可以 类⽐ Redis Cluster,只不过 Redis Cluster 是去中⼼化的。在 Master-Segment 模型中通常也会包含 Master-Slave 则会同时进⾏数据分区(⽔平扩展)和复制(冗余) 分区与分⽚ 在项⽬初期,我们使⽤⼀张表 T 存储数据。随着业务的增多,单表出现性能瓶颈,因⽽将 T ⽔平拆分成多个表进⾏存储,这个过程通常称为分区。紧接着,单⼀ 的数据库实例出现瓶颈,因此需要使⽤多个节点创建多个数据库实例,再按照某种规则将数据尽可能均匀地分布到各个节点上 ,这个过程通常称之为分⽚ GP 同时⽀持数据的分⽚和分区,具体的分⽚和分区规则将会 在后⾯的总结中详述0 码力 | 1 页 | 734.79 KB | 1 年前3
共 17 条
- 1
- 2













