Greenplum Database 管理员指南 6.2.1打磨这个文档,并完 全根据最新的版本特性进行重新整理,希望能对中文爱好者提供一些帮助,在编写过程 中,仍会参考官方文档,但绝不是简单的翻译,甚至有些内容会与官方文档不一致。 编者提醒,升级版本极其重要,4 版本早该淘汰了,5 版本和 6 版本都带来了极大 的性能和稳定性的提升。 声明 本文档的版权归[陈淼]个人所有,未经许可和授权不得抄袭和引用。 本文档中的绝大部 ......................................................................................... - 354 - 生成扩展配置文件 ............................................................................................ 并行数据装载 管理与监控 管理节点:Master Master 作为 GP 的访问入口,主要负责处理客户端连接的访问以及用户提交的 SQL 语句的解析、生成执行计划、优化执行计划等。Master 不存储业务数据,只存储 用于维持系统运行的全局信息,比如,对象定义信息,统计信息等,Master 非常重要, 如果 Master 丢失,即便是原厂专业技术支持,也不能保证恢复所有信息。0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 排序算法Greenplum中文社区 https://cn.greenplum.org 博文 · 资料 · 文档 · 项目 Greenplum内核揭秘之排序算法 5 ● 内排序算法 ● 外排序算法 ● Greenplum TupleSort ● 排序在Greenplum中的应用 Outline 6 ● 冒泡排序 ● 插入排序 ● 快速排序 ● 堆排序 ● 基数排序 内排序算法 问题一:分割阶段只需要顺序扫描一次外存,最简单的策略是读取外存数据,加 载到内存,当内存用满时,执行快速排序等内排序算法,生成一个顺串。之后清 空内存,继续读取外存数据,如此反复,直到所有外存数据处理完毕。该算法生 成的每一个顺串的大小都不会超过内存的大小,而顺串越小,合并阶段的代价 就越高,需要读取外存的次数也越多,有没有办法在分割阶段就生成大于内存 大小的顺串呢? 归并排序的三个问题 23 替换选择算法 24 Knuth 并调整堆,使其有 序。 ● 4. 如果新元组排序键小于lastkey,将该元组放入堆尾,并将堆的大小减1。 ● 5. 重复第2步,直至堆大小变为0。 ● 6. 顺串生成完毕。将堆大小重置为N,并重新建堆。重复第2步,开始生成下一 个顺串。 替换选择算法 25 ● 问题二:合并阶段假设存在N个输入缓冲区,如何高效的比较N个输入缓冲区的 最小值,并输出到输出缓冲区? 归并排序的三个问题0 码力 | 52 页 | 2.05 MB | 1 年前3
Greenplum机器学习⼯具集和案例逻辑回归 计算 KS 分值 模型验证 ⼿手动预测 1 2 3 4 5 6 7 8 原始⼯工作流程 2017.thegiac.com 数据整理理 特征⽣生成 验证 预测 信息价值 ⽅方差膨胀 因⼦子 成对相关性 逻辑回归 Elastic Net 特征选择 模型 1 2 3 4 5 6 LDA ⾃自动分析每个⽂文档,统计⽂文档内的词语,根据统计的信息来断定当 前⽂文档含有哪些主题,以及每个主题所占的⽐比例例各为多少。 主题模型:Latent Dirichlet Allocation (LDA) 2017.thegiac.com 基于LDA特征的聚类 会话 主题分布 K-means 会话聚类 • 把每个会话看成一篇文章 • 百万级别文档 • 词汇量 8000+0 码力 | 58 页 | 1.97 MB | 1 年前3
Greenplum 编译安装和调试master/greenplum_path.sh # step 2. 交换集群中所有机器的ssh密钥, 我们这里只有一台机器 $ gpssh-exkeys -h `hostname` # step 3. 生成三个配置文件: env.sh, hostfile, gpinitsystem_config $ cat env.sh source $HOME/gpdb.master/greenplum_path ---------------+--------- 0 | 501 1 | 499 有关如何安装多节点集群,请参考Greenplum官方安装文档。 2.2 集群初始化问题调试 有时候 gpinitsystem 会失败,但是不清楚失败原因是什么。 下面提供一些思路来 RCA: 2.2.1 使用 gpinitsystem 调试模式 s (cost=0.00..2.03 rows=2 width=12) Optimizer status: legacy query optimizer 使用 explain.pl 可以生成如下的查询计划图:(把上面的explain结果保存到一个名为 a.plainplan 的文件中) $ explain.pl -opt jpg < /tmp/a.plainplan > /tmp/a0 码力 | 15 页 | 2.07 MB | 1 年前3
Greenplum 精粹文集题,Greenplum 采 用 Master-slave 架 构, Master 是否会成为瓶颈?完全不用担心,Greenplum 所有的并行任务 都是在 Segment 数据节点上完成后,Master 只负责生成和优化查询 计划、派发任务、协调数据节点进行并行计算。 按照我们在用户现场观察到的,Master 上的资源消耗很少有超过 20% 情况发生,因为 Segment 才是计算和加载发生的场所(当然, 16-11-22 下午3:38 36 2. 分析方法和处理技巧 1) 遇到临时 schema 的问题,命名为 pg_temp_XXXXX,可以直接删除。 通过 gpcheckcat 检查后,会自动生成对临时 schema 的修复脚本。 由于临时 schema 的问题会干扰检查结果,因此,处理完后,需要 再次用 gpcheckcat 检查。 2) 如遇个别表对象元数据不一致的情况,通常只会影响该对象的 session 级别的 gp_segments_ for_planner 参数的值,不要试图在更高级别修改该参数,那样是极其 危险的。 再者,执行计划为什么会选择不够高效的方法,由于执行计划是基于 统计信息生成的,而统计信息不可能涵盖所有细节。通常,以下几中 情况会导致评估失真: 1) 过多的 WHERE 条件但并没有过滤很多数据。 2) 过多的 JOIN 条件但并没有真正降低匹配数据量。 3)0 码力 | 64 页 | 2.73 MB | 1 年前3
Greenplum 6: 混合负载的理想数据平台SELECT customer, amount FROM orders JOIN customer USING (cust_id) WHERE date=2008; 生成并行查询计划 8 Pivotal Confidential–Internal Use Only 执行并行计划 Standby Master … Master Host Interconnect x/7 ■ PostgreSQL合并:BRIN索引和并行扫描 ■ 锁和事务的优化 ■ 磁盘IO的资源管理 ■ 更多思路? 资源 ■ 中文社区:http://greenplum.cn ■ 文档:https://gpdb.docs.pivotal.io/6-0Beta/main/index.html ■ 代码:https://github.com/greenplum-db/gpdb 由于微信群组规定限制,请首先添加这个入群0 码力 | 52 页 | 4.48 MB | 1 年前3
Pivotal Greenplum 5: 新一代数据平台2010 年底,Greenplum 开始在内部开发一款新型查询优化器,并在 Greenplum 4.3.5 版中首次推出,名为 GPORCA。 GPORCA 能够针对分析数据仓库中常见的一些复杂情况生成更高效的代码,因而非常实用。过去,系统默认使用传统查询 优化器,但自 Greenplum 5 起,GPORCA 将成为默认查询优化器。它能够通过并发的混合工作负载处理多种复杂查询, 并可提高查询性能。2 语句计算大量可能的查询计划。为了生成最快的计划,GPORCA 会计算数千种备选查询 执行计划,并根据成本做出决策。它还能免去不必要的剖析步骤,从而缩短优化时间。与传统查询优化器相比,GPORCA 可以计算更多备选计划,因此能够优化更多查询。3 现代数据分析和商业智能 (BI) 生成的 SQL 查询往往带有相关子查询,内部子查询需要外部查询的相关知识。GPORCA 可 以生成不相关的计划,这种计划只需查 以生成不相关的计划,这种计划只需查询一次。随后,系统将中间结果与主表结合,生成符合用户条件的结果集。借助上 述及其他优化方法,经过 GPORCA 优化的 SQL 查询可实现 10 倍甚至更大幅度的速度提升。但是,也有其他一些查询(尽 管数量不多)尚且无法通过 GPORCA 实现性能提升。随着 GPORCA 的功能逐渐增多,传统查询优化器能够在性能上胜出 的情况将变得极为罕见。4 Greenplum资源组和Workload Manager0 码力 | 9 页 | 690.33 KB | 1 年前3
Greenplum开源MPP数据库介绍通过网络进行数据交换和汇总 Confidential │ ©2022 VMware, Inc. 7 执行架构 Interconnect Client Ø Coordinator: q 管理其它节点 q 生成分布式计划 q 下发计划和汇总结果 q 管理分布式事务 Ø Segments: q 存储数据,share-nothing q 产生计算进程 Ø Libpq:控制信道 Ø Interconnect: executor)负责执行查询 Ø 查询的生命周期: 1) 客户端连接coordinator, coordinator fork出QD 2) QD 拿到纯文本的查询,解析、优化、生成一个树形结构的分布式计划 3) QD 生成slice结构,生成每个slice的一系列进程结构(Gang) 4) QD 连接segment节点,segment节点fork出QE,QE执行分布式计划 5) QD 从QE归集结果,返回给客户端 从QE归集结果,返回给客户端 Confidential │ ©2022 VMware, Inc. 14 分布式执行和事务 Ø MVCC q Xmin, Xmax 是节点本地的 Ø 分布式快照 q QD生成,下发给QE q segment本地事务异步两阶段提交,保持一致性 Ø HTAP 优化 q 全局死锁检测 q 只读事务、只涉及到某个节点的操作、vacuum Ø SIGMOD 2021: Greenplum:0 码力 | 23 页 | 4.55 MB | 1 年前3
Greenplum 6新特性:
在线扩容工具GPexpand剖析配置文件 • 数据重分布 – gpexpand • 清理 – gpexpand -c GPExpand简介与具体用法 • 增加新节点 – gpexpand –i 配置文件(gpexpand生成或手动编辑) sdw:sdw:25438:/data/expand1/primary:9:3:p sdw:sdw:25439:/data/expand1/mirror:10:3:m GPExpand简介与具体用法 – 增加新节点只要在gp_segment_configuration里添加新节点信息即可 – 新节点以Master为模板生成,只包含catalog,没有数据 改进与实现 • 问题 – 生成模板的过程中,如果catalog被修改怎么保证一致性 改进与实现 • 问题 – 生成模板的过程中,如果catalog被修改怎么保证一致性 ▪ 新增catalog锁 ▪ select gp_expand_lock_catalog()0 码力 | 37 页 | 1.12 MB | 1 年前3
Greenplum数据库架构分析及5.x新功能分享Motion Table Scan Hash Hash Join Gather Motion SLICE 3 SLICE 1 SLICE 2 SEGMENT 2 SEGMENT 1 生成并行查询计划 12 Pivotal Confidential–Inter nal Use Only master segment1 segment2 QD process slice 3 Confidential–Inter nal Use Only 优化器 本地存储 主节点Segment 系统表 分布式事务 Interconnect 调度器 执行器 解析器 优化器 处理解析树,生成 查询计划 查询计划描述了如 何执行查询 主节点 Segment 实例 本地事务 执行器 系统表 本地存储 Segment 主机 Segment 实例 Local TM 执行器Executor0 码力 | 44 页 | 8.35 MB | 1 年前3
共 16 条
- 1
- 2













