Greenplum上云与优化
张广舟(明虚) 阿里云高级专家 Greenplum上云与优化 — ApsaraDB for Greenplum介绍 2016Postgres中国用户大会 目 录 content ApsaraDB for GP的定位 ApsaraDB for GP的内核优化 未来的规划 2016Postgres中国用户大会 ApsaraDB for GP的定位 2016Postgres中国用户大会 为什么上云? 2016Postgres中国用户大会 ApsaraDB for GP的定位 ApsaraDB for GP = 简单、高效解决大数据分析需求 MPP + 列存压缩 复杂SQL + 查询优化器 本地高效存储 +高速网络 +预置稳定资源 = = 2016Postgres中国用户大会 GP vs. RDS? Select count(*) from customer group Name Id status city 列存块 ….. 列存块 列存 ≈索引 + index only 2016Postgres中国用户大会 GP vs. Hadoop? Orca优化器 SQL Runtime 本地存储 >5-30倍的性能优势 2016Postgres中国用户大会 ApsaraDB for GP vs. AWS Redshift? “有史以来卖的最好的云服务”0 码力 | 26 页 | 1.13 MB | 1 年前3Greenplum Database 管理员指南 6.2.1
........................................................................................ - 62 - 转移查询的资源组 .............................................................................................. ................ - 177 - 第十章:数据查询 .................................................................................................................. - 179 - 理解 GP 的查询处理 ............................. ................................................................................. - 182 - 关于 ORCA 优化器 .................................................................................................0 码力 | 416 页 | 6.08 MB | 1 年前3Pivotal Greenplum 5: 新一代数据平台
................................................................................6 GPORCA:Pivotal 查询优化器更新 .............................................................................................. .............................................................................................7 架构化查询语言性能提升 ............................................................................................ 有云和私有云)中,也适用不同的本地配置。其大规模并行处理 (MPP) SQL 的设计核心是一个称为 GPORCA 的新一代查 询优化器。GPORCA 专为满足在多结构数据环境中进行高级分析的需求而设计,能够处理多种并发混合工作负载的复杂查 询。与旧式 MPP 数据库中常用的传统 RDBMS 查询优化器相比,GPORCA 大幅度地提高了查询性能。 Pivotal Greenplum 5:新一代数据平台 作为重要的新版本,Pivotal0 码力 | 9 页 | 690.33 KB | 1 年前3Greenplum 精粹文集
个实例且实现并行计算呢?为了这,Interconnnect 大神器出现了。在 那一年多的时间里,大咖们很大一部分精力都在不断的设计、优化、 开发 Interconnect 这个核心软件组件。最终实现了对同一个集群中多 个 Postgresql 实例的高效协同和并行计算,Interconnect 承载了并行 查询计划生产和 Dispatch 分发(QD)、协调节点上 QE 执行器的并 行工作、负责数据分布、Pipeline Madlib、R 的支持也很好。这一点上 MYSQL 就差的很远,很多分 析功能都不支持,而 Greenplum 作为 MPP 数据分析平台,这些功 能都是必不可少的。 2) Mysql 查询优化器对于子查询、复制查询如多表关联、外关联的支 持等较弱,特别是在关联时对于三大 join 技术:hash join、merge join、nestloop join 的支持方面,Mysql 只支持最后一种 nestloop 没有提供的: ·外部表并行数据加载 ·可更新数据压缩表 ·行、列混合存储 ·数据表多级分区 ·Bitmap 索引 ·Hadoop 外部表 ·Gptext 全文检索 ·并行查询计划优化器和 Orca 优化器 ·Primary/Mirror 镜像保护机制 ·资源队列管理 ·WEB/Brower 监控 Big Date2.indd 7 16-11-22 下午3:38 80 码力 | 64 页 | 2.73 MB | 1 年前3Greenplum开源MPP数据库介绍
Ø 分布式优化器: Postgres planner 和 ORCA Ø 分布式事务和执行 Ø Greenplum存储 Ø Greenplum生态 Ø Greenplum 7 Confidential │ ©2022 VMware, Inc. 3 Greenplum简介:什么是Greenplum? 基于PostgreSQL、开源、分布式MPP、ACID完备、为OLAP优化的关系型数据仓库。 (FTS,主备切换) Confidential │ ©2022 VMware, Inc. 9 分布式优化器:OLAP Ø OLTP系统的SQL语句相对简单(CURD) Ø OLAP系统的SQL语句就复杂得多(OLTP则尽量避免) q Join 很复杂(多表, outer join, lateral…) q 子查询、子链接 q 聚集 (grouping sets, 多阶段聚集…) q 窗口函数, (Recursive) (Recursive) CTE q Procedure Languages(Python,R,Perl……) Ø 优化器非常非常重要 Ø 基于规则优化和基于代价优化 Confidential │ ©2022 VMware, Inc. 10 ORCA Ø 历时十年,独立开发 Ø Cascades 架构 Ø OLAP性能很棒 Ø https://db.cs.cmu.edu/events/0 码力 | 23 页 | 4.55 MB | 1 年前3Greenplum 分布式数据库内核揭秘
Confidential │ ©2021 VMware, Inc. Agenda 2 - Greenplum 分布式数据库简介 - Greenplum 集群化概述 - 分布式数据存储与多态存储 - 分布式查询优化器与执行器 - Greenplum 中文社区 3 Confidential │ ©2021 VMware, Inc. Greenplum 分布式数据库简介 Features Confidential Greenplum 是基于 PostgreSQL 所实现的大规模并行处理(MPP)开源数据平台,具有良好的弹性 和线性拓展能力,内置并行存储、并行通信、并行计算和并行优化功能,兼容 SQL 标准。拥有独 特的高效的 ORCA 优化器,具有强大、高效的 PB 级数据存储、处理和实时分析能力,同时支持 OLTP 型业务的混合负载。 Greenplum 分布式数据库简介 5 Confidential 个 Standby Coordinator 节点以及多个 Segment 节点组成 l Coordinator 是整个数据库的入口,客户端只会连接 至 Coordinator 节点,并执行相关的查询操作 l Standby 节点为 Coordinator 提供高可用支持 l Mirror 则为 Segment 提供高可用支持 7 Confidential │ ©2021 VMware, Inc0 码力 | 31 页 | 3.95 MB | 1 年前3Greenplum分布式事务和两阶段提交协议
6 ● 事务实现原理和Write Ahead Logging(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 7 事务的属性:ACID 属性 含义 数据库系统的实现 Atomic 原子性 事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 /Jeffrey D.Ullman/Jennifer Widom《数据库系统实现》 查询编译器/ 优化器 事务管理器 DDL编译器 执行引擎 日志和恢复 并发控制 索引/文件/ 记录管理器 缓冲区管理器 缓冲区 锁表 存储管理器 存储 查询计划 对索引、文件和 记录的请求 页命令 事务命令 查询、更新 用户/ 应用 DDL命令 数据库管理员 数据、元数据、索引 日志页 Log(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 22 分布式事务 ● 分布式事务,分布式环境下的事务, 是一个典型的嵌套式事务,一个事务 由多个工作节点的子事务组成。 ● 必须保证参与分布式事务的各个场地 (节点)的事务,要么全部提交,要么 全部rollback,不能出现部分提交的情 况。0 码力 | 42 页 | 2.12 MB | 1 年前3Greenplum机器学习⼯具集和案例
一次打包,到处运行:裸机、私有云、公有云 • 各种数据源:Hadoop、S3、数据库、文件、Spark、Ka,a • 各种数据格式:结构化、半结构化(JSON/XML/Hstore)、非结构化 • 强大内核: MPP、优化器、多态存储、灵活分区、高速加载、PG内核 • 强大的灵活性、可扩展:PL/X、Extension、PXF、外部表机制 • 完善的标准支持:SQL、JDBC、ODBC • 集成数据平台: 2017.thegiac.com Greenplum Procedure Language PLPython, PLR 2017.thegiac.com PL/Python 例例⼦子 ● CREATE TABLE sales (id int, year int, qtr int, day int, region text) DISTRIBUTED BY (id) ; INSERT $$ language plpythonu; ● SELECT mypytest(2) ; 2017.thegiac.com 2017.thegiac.com PL/R 例例⼦子 ● CREATE OR REPLACE FUNCTION r_norm(n integer, mean float8, std_dev float8) RETURNS float8[ ]0 码力 | 58 页 | 1.97 MB | 1 年前3Pivotal Greenplum 最佳实践分享
节点一般配置4~8个Instance,初始化完成后很 难修改,需要提前规划; • 每个Instance都是一套独立的进程,当客户端 发起一个请求时,每个Instance都将FORK子进 程并行工作; • 对于并发请求高、面向于复杂的灵活查询的系 统,建议每个Segment配置4个或以下Instance, 这样来保证每个Instance所需资源,保证系统 系统运行稳定性,例如,减少OOM发生的概率; • M16 M17 M18 M19 M20 M21 M23 M24 M22 统计信息收集 对于系统表和用户表需要收集统计信息,GPDB的查询计划是cost base的,统计信息的准确性对查询 计划的优劣有很大影响; 对于字段数较多的表,可关闭gp_autostate_mode (on_no_stats=>none),仅对必要列执行Analyze, 只在结果中返回的列无需收集统计信息; 些垃圾空间的回收方 式: 1)Vacuum 2)Vacuum full 3)REORGANIZE • 不进行垃圾空间回收的影响 o 垃圾空间浪费存储空间 o 垃圾空间影响查询性能 注:delete all用truncate代替,truncate无需回收垃圾空间 垃圾空间回收 Vacuum:标记垃圾空间为可再利用 Vacu0 码力 | 41 页 | 1.42 MB | 1 年前3Greenplum数据库架构分析及5.x新功能分享
Greenplum 架构 6 Pivotal Confidential–Inter nal Use Only 平台概况 产品特性 客户端访问和工具 多级容错机制 无共享大规模并行处理 先进的查询优化器 多态存储系统 客户端访问 ODBC, JDBC, OLEDB, etc. 核心MPP 架构 并行数据流引擎 高速软数据交换机制 MPP Scatter/Gather 流处理 在线系统扩展 MPP(大规模并行处理)无共享体系架构 从主节点 … 主节点 SQL • 主节点和从主节点,主节点负责协调整个集群 • 一个数据节点可以配置多个节点实例(Segment Instances) • 节点实例并行处理查询(SQL) • 数据节点有自己的CPU、磁盘和 内存(Share nothing) • 高速Interconnect处理持续 数据流(Pipelining) Interconnect Segment 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 QE process0 码力 | 44 页 | 8.35 MB | 1 年前3
共 25 条
- 1
- 2
- 3