Greenplum 分布式数据库内核揭秘Confidential │ ©2021 VMware, Inc. Greenplum 分布式数 据库内核揭秘 Greenplum内核开发工程师 2022-03-16 李正龙 Confidential │ ©2021 VMware, Inc. Agenda 2 - Greenplum 分布式数据库简介 - Greenplum 集群化概述 - 分布式数据存储与多态存储 - 分布式查询优化器与执行器 在合理的避免数据倾斜的分布键时,即可采用随机分布的方式。 随机分布与复制分布 复制分布则表示整张表在每个节点上都有一份完整的拷贝,假设我们有 100 个节点,复制表则会将 数据保存 100 份。复制表可避免生成分布式查询计划,而是生成本地计划,从而避免数据在集群的 不同节点间移动。 Confidential │ ©2021 VMware, Inc. 12 除了支持数据在不同的 segment 节0 码力 | 31 页 | 3.95 MB | 1 年前3
完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum............................................................................................ 6 引领内核创新 ................................................................................................ 。在此也为所有为Greenplum on openEuler 成功测试运行所做努力贡献的人员表示感谢! 摘要 Greenplum 不受限于基础架构,这意味着它是一种可完全移植的分析数据库软件解决方案,可部署在不同操作系统、 不同芯片的环境,适合本地部署、多云环境(公有云和私有云)中。Greenplum 6 及未来发布的 Greenplum 7 丰富的 HTAP 特性,具备良好性能、可靠性和稳定性,使得 过联合创新、社区共建,不断增强场景化能力,最终实现统一 操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 平台架构 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字 基础设施的开源操作系统。0 码力 | 17 页 | 2.04 MB | 1 年前3
Pivotal Greenplum 最佳实践分享Greenplum日常检查和故障处理 Greenplum项目经验分享 内核参数 通常情况下,内核参数按照GPDB安装手册配置,如需要增加连接数支持,以下参数需要增大 kernel.shmmax = 1000000000 kernel.sem = 250 512000 100 2048 Redhat 6.2以后,内核增加了hugepage大页内存管理,关闭hugepage可以提高混合负载管理性能 询计划是cost base的,统计信息的准确性对查询 计划的优劣有很大影响; 对于字段数较多的表,可关闭gp_autostate_mode (on_no_stats=>none),仅对必要列执行Analyze, 只在结果中返回的列无需收集统计信息; 对于频繁创建表删表的系统,可关闭gp_autostate_mode(on_no_stats=> on_change) ,数据变化量达 到一定阀值才收集统计信息; on_change – gp_autostats_on_change_threshold = 5000000(资料依据项目而定) Truncate操作不会丢失字段级统计信息,在适当条件下可仅针对系统字段执行Analyze 垃圾空间回收 • GPDB采用MVCC机制,UPDATE 或 DELETE并非物理删除,而只是对无效记 录做标记; • Update/delete操0 码力 | 41 页 | 1.42 MB | 1 年前3
Pivotal Greenplum 5: 新一代数据平台Greenplum 5。本白皮书着眼介绍 Greenplum 5 的核心特征,及多年来围绕该平台发展出的生态系统。 摘要 Pivotal Greenplum 不受限于基础架构,这意味着它是一种可完全移植的分析数据库软件解决方案,可部署在多云环境(公 有云和私有云)中,也适用不同的本地配置。其大规模并行处理 (MPP) SQL 的设计核心是一个称为 GPORCA 的新一代查 询优化器。GPORCA 专为满足在多 支持多种云不受限于基础架构的数据平台 Pivotal Greenplum 5 是首个内核百分百基于 Greenplum Database 开源项目及其相关源代码的版本。这意味着,可以通 过 greenplum.org 网站下载和编译的版本以及通过 Pivotal Network 分发的打包版本将具有相同的内核(只有个别微小差 别)。这是两年来致力于与 PostgreSQL 8.3.23 集成的成果,目的在于扩展和融入以 (MPP) PB 级数据 加载 查询 优化器 (GPORCA) Workload Manager 多态存储 Command Center SQL 兼容性 (Hyper-Q) PostgreSQL 内核 JSON、Apache AVRO、Apache Parquet 和 XML 结构化数据 pivotal.io/cn 白皮书 5 © Copyright 2017 Pivotal Software0 码力 | 9 页 | 690.33 KB | 1 年前3
Greenplum 介绍展能力,并内置 并行存储、并行通讯、并行计算和优化技术。同时,Greenplum 还兼容 SQL 标准,具备强大、 高效、安全的 PB 级结构化、半结构化和非结构化数据存储、处理和实时分析能力,可部署于企 业裸机、容器、私有云和公有云中。值得一提的是,作为 OLAP 型的大数据平台, Greenplum 同 时还能够支持涵盖 OLTP 型业务的混合负载,从而帮助客户真正打通业务-数据-洞见-业务的闭环。 结构化(XML、JSON、KV)还是非结构化, 譬如文本数据、GIS 数据、图数据等。 ● 具有强大内核的平台:Greenplum 具有强大的内核技术,包括数据水平分布、并行查询执 行、专业优化器、线性扩展能力、多态存储、资源管理、高可用、高速数据加载等。 ● 具备强大灵活性和可扩展性的平台: 支持扩展(Extension)、自定义类型和函数、PXF 和外部表技术。可以使用多种语言实现用户自定义函数和聚集,包括 50 多种数据分析和机器学习算法。MADlib 提供 SQL 接口进行数据分析,大大降低了数据分 析的门槛;MADlib 内建于数据库内,使用 MPP 的优势,提高了分析的效率;MADlib 可 以在全量数据而不是抽样数据上进行分析,提高了精度。 ● 开放源代码且持续大力投入的平台: 2017 年 Pivotal 在 github 的开源贡献列表中全球排 名第四左右。 采用开源方案,0 码力 | 3 页 | 220.42 KB | 1 年前3
Greenplum机器学习⼯具集和案例各种数据源:Hadoop、S3、数据库、文件、Spark、Ka,a • 各种数据格式:结构化、半结构化(JSON/XML/Hstore)、非结构化 • 强大内核: MPP、优化器、多态存储、灵活分区、高速加载、PG内核 • 强大的灵活性、可扩展:PL/X、Extension、PXF、外部表机制 • 完善的标准支持:SQL、JDBC、ODBC • 集成数据平台:BI/DW、文本、GIS、图、图像、机器学习 2017.thegiac.com MADlib 2017.thegiac.com 强⼤大的分析能⼒力力 ● 机器器学习 ● 图形分析 ● 统计分析 MPP系统上的可扩展应⽤用 Apache上的开源项⽬目 ● 发布了了 6 个版本 ● Apache 顶级项⽬目 Pivotal Greenplum Neighbors • k-Nearest Neighbors 成熟的数据科学学习库 2017.thegiac.com • 更好的并行度 • 算法充分利用 MPP 架构实现并行 • 更好的可扩展性 • 算法随着数据扩充而线性扩展 • 更高的预测精准度 • 适用更多数据,而不是抽样 • 顶级 ASF 开源项目 • 社区驱动开发模式 MADlib 特性 20170 码力 | 58 页 | 1.97 MB | 1 年前3
PostgreSQL和Greenplum 数据库故障排查dl记录所有数据定 义命令,比如CREATE,ALTER,和DROP 语句。mod记录所有ddl 语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的 语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。 log_duration = off 记录每条SQL语句执行完成消耗的时间,将此配置设置为on, 用于统计哪些SQL语句耗时较长。 记录校验点的信息 log_checkpoints 3)使用更严格的内存提交策略overcommit_memory: 内核参数overcommit_memory ,指定内存分配策略 可选值:0、1、2。 0, 表示内核将检查是否有足够的可用内存供应用进程使用; 如果有足够的可用内存,内存申请允许;否则,内存申请 失败,并把错误返回给应用进程。 1, 表示内核允许分配所有的物理内存,而不管当前的内存 状态如何。 2, 表示内核允许分配超过所有物理内存和交换空间总和的 内存0 码力 | 84 页 | 12.61 MB | 1 年前3
Greenplum 新一代数据管理和数据分析解决方案• 高效率 数据库管理系统(DBMS)的 规模/容量 11 需要采用一种新的方法 •“一切皆可商用”:商业即用型x86 服务器、存储设备、网络 •通过软件很容易将处理能力扩展到 1000s的内核/系统 Greenplum • “黑盒子” • “大铁箱” • 大磁盘 过去Google™ 曾经用来实现信息搜索功能的技术, 现在被Greenplum用于数据仓库 现在的解决方案 12 通过Greenplum超级数据处 理引擎增强竞争优势 Greenplum数据引擎:内容和方式 价值主张 – 性价比: 性能可达到传统方案(Oracle、Teradata)的 10到100倍, 而成本只是其一小部分 – 可伸缩性:从较低的万亿字节扩展到千万亿字节 – 开放式系统:在通用系统和开放源软件的基础上创建 前提条件 – 硬件:基于开放式标准硬件 – 软件:Postgres和Greenplum – 体 通用并行数据流引擎可以通过本地方 式执行 SQL和MapReduce • 采用了针对商用硬件优化的MPP“完 全不共享”体系 • 可以在很多100s服务器上扩展到 1000s商用处理内核 • 将所有处理操作尽量移动到数据附近 计算内核 Greenplu m并行数 据流引擎 对本地磁盘进行直 接的高性能访问 gNet 互连 • 第一个支持互联网级分析技术(由Google普及)的产品 • 采用新的编程模型,在商用硬件上并行处理和执行0 码力 | 45 页 | 2.07 MB | 1 年前3
Greenplum 6: 混合负载的理想数据平台Greenplum 6: 混合负载的理想数据平台 高小明 全球领先的开源MPP大数据平台 可扩展性 ACID事务 VS 分布式 简单易用 VS 结构化 半结构非结构化 VS 事务型 分析型 VS MPP - massively parallel processing - 大规模并行处理 master standby primary Greenplum POSTGIS 函数 st_distance_sphere() and st_makepoint() 计算给定经纬 度方圆2KM的范围 GPText.search() 函数可 以知道是否一个人在 Pivotal工作 Greenplum MADlib BFS 算法可以 知道两个之间是否有直接联系 Greenplum模糊字符串匹 配函数Soundex() 可以 知道姓名是否发音是 30 CPU平台 Intel Haswell 存储类型 SSD persistent disk 存储大小(GB) 512 Linux发行版 Ubuntu Linux 18.04 Linux内核版本 4.15.0 GCC版本 7.3.0 33 Pivotal Confidential–Internal Use Only TPC-B基准测试:SELECT 表‘SALES’ 表‘SALES’0 码力 | 52 页 | 4.48 MB | 1 年前3
Greenplum 精粹文集计算的功能也无能为力,就其因估计还是受到 mysql 在这方面限制。 3) 扩展性方面,Postgresql 比 mysql 也要出色许多,Postgres 天生就 是 为 扩 展 而 生 的, 你 可 以 在 PG 中 用 Python、C、Perl、TCL、 PLSQL 等等语言来扩展功能,在后续章节中,我将展现这种扩展 是如何的方便,另外,开发新的功能模块、新的数据类型、新的索 引类型等等非常方便,只要按照 7 Greenplum 采用 Postgresl 作为底层引擎,良好的兼容了 Postgresql 的 功 能,Postgresql 中 的 功 能 模 块 和 接 口 基 本 上 99% 都 可 以 在 Greenplum 上 使 用, 例 如 odbc、jdbc、oledb、perldbi、python psycopg2 等,所以 Greenplum 与第三方工具、BI 报表集成的时候非 -executor,Mapreduce 缺乏灵 活的 Join 技术支持;MPP 数据库可以基于 COST 来自动选择 Hash join、Merger join 和 Nestloop join, 甚 至 可 以 在 Hash join 通 过 COST 选择小表做 Hash,在 NestloopJoin 中选择 index 提高 join 性 能等等。 MPP 数据库对于 Aggregation(聚合)提供0 码力 | 64 页 | 2.73 MB | 1 年前3
共 21 条
- 1
- 2
- 3













