 Greenplum 分布式数据库内核揭秘Confidential │ ©2021 VMware, Inc. Greenplum 分布式数 据库内核揭秘 Greenplum内核开发工程师 2022-03-16 李正龙 Confidential │ ©2021 VMware, Inc. Agenda 2 - Greenplum 分布式数据库简介 - Greenplum 集群化概述 - 分布式数据存储与多态存储 - 分布式查询优化器与执行器 Greenplum、PostgreSQL、MySQL 以及 Oracle 等主流数据库均采用拉模型。 拉模型的每个算子都实现了从下层节点获取一条元组的 GetNext 函数,每次调用该函数都会从下 层节点返回一条元组或者 EOF 的 NULL 指针。上层节点不断地调用 GetNext 函数从下层节点获 取数据,直至数据全部获取完毕。 火山模型 postgres=# explain select0 码力 | 31 页 | 3.95 MB | 1 年前3 Greenplum 分布式数据库内核揭秘Confidential │ ©2021 VMware, Inc. Greenplum 分布式数 据库内核揭秘 Greenplum内核开发工程师 2022-03-16 李正龙 Confidential │ ©2021 VMware, Inc. Agenda 2 - Greenplum 分布式数据库简介 - Greenplum 集群化概述 - 分布式数据存储与多态存储 - 分布式查询优化器与执行器 Greenplum、PostgreSQL、MySQL 以及 Oracle 等主流数据库均采用拉模型。 拉模型的每个算子都实现了从下层节点获取一条元组的 GetNext 函数,每次调用该函数都会从下 层节点返回一条元组或者 EOF 的 NULL 指针。上层节点不断地调用 GetNext 函数从下层节点获 取数据,直至数据全部获取完毕。 火山模型 postgres=# explain select0 码力 | 31 页 | 3.95 MB | 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 C API (Greenplum, PostgreSQL, HAWQ) 底层抽象层 (数组操作、类型转换、数值计算库等) 数据库内建函 数 ⽤用户接⼝口 ⾼高层抽象层 (迭代控制器器) 内循环函数 (实现机器器学习逻辑) Python SQL C++ MADlib 架构 2017.thegiac0 码力 | 58 页 | 1.97 MB | 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 C API (Greenplum, PostgreSQL, HAWQ) 底层抽象层 (数组操作、类型转换、数值计算库等) 数据库内建函 数 ⽤用户接⼝口 ⾼高层抽象层 (迭代控制器器) 内循环函数 (实现机器器学习逻辑) Python SQL C++ MADlib 架构 2017.thegiac0 码力 | 58 页 | 1.97 MB | 1 年前3
 深度揭秘Greenplum开源数据库透明加密加密目标 • 表数据 • 预写日志数据 • 主从节点所有数据 • 索引及其他表辅助数据 • 磁盘缓存文件 设计目标 • 对用户和数据库透明 • 高性能,使用CPU加密指令集 • 内核原生 GPDB透明加密 加密 Planer TDE key Data (plain) Data (Encrypted) Executeor GPDB透明加密 解密 Query Planer pruning calculating optimizing Data (Encrypted) TDE key GPDB数据透明加解密流程 秘钥管理 GPDB透明加密解析 GPDB TDE 使用三层key结构 • Master key: 加解密 major keys • Major keys: 加解密对应的 object keys • Object keys: 加解密对应的数据文件 秘钥管理 • 加密的major key会被送进KMS中,由master key来解密,KMS只返回解密后的Major key. • 所有的object keys和major keys 存储于数据库本地. 三层key结构 GPDB透明加密解析 Master Key Major Keys Object Keys Encrypted table files Encrypted log files Encrypted0 码力 | 48 页 | 10.19 MB | 1 年前3 深度揭秘Greenplum开源数据库透明加密加密目标 • 表数据 • 预写日志数据 • 主从节点所有数据 • 索引及其他表辅助数据 • 磁盘缓存文件 设计目标 • 对用户和数据库透明 • 高性能,使用CPU加密指令集 • 内核原生 GPDB透明加密 加密 Planer TDE key Data (plain) Data (Encrypted) Executeor GPDB透明加密 解密 Query Planer pruning calculating optimizing Data (Encrypted) TDE key GPDB数据透明加解密流程 秘钥管理 GPDB透明加密解析 GPDB TDE 使用三层key结构 • Master key: 加解密 major keys • Major keys: 加解密对应的 object keys • Object keys: 加解密对应的数据文件 秘钥管理 • 加密的major key会被送进KMS中,由master key来解密,KMS只返回解密后的Major key. • 所有的object keys和major keys 存储于数据库本地. 三层key结构 GPDB透明加密解析 Master Key Major Keys Object Keys Encrypted table files Encrypted log files Encrypted0 码力 | 48 页 | 10.19 MB | 1 年前3
 Greenplum 精粹文集性能却远远超过传统高 昂的专有系统。 Big Date2.indd 2 16-11-22 下午3:38 Greenplum 精粹文集 3 大家都知道 Greenplum 的数据库引擎层是基于著名的开源数据库 Postgresql的(下面会分析为什么采用Postgresql,而不是mysql等等), 但是 Postgresql 是单实例数据库,怎么能在多个 X86 服务器上运行多 个 SQL-On-Hadoop 系统,例如 HAWQ、SPARK 均可单独增加 计算层的节点或数据层的 HDFS 存储节点,HDFS 数据存储对计算 层来说是透明的; MPP 数据库扩展时,一般情况下是计算节点和数据节点一起增加 的,在增加节点后,需要对数据做重分布才能保证数据与节点的紧 耦合(重新 Hash 数据),进而保证系统的性能;Hadoop 在增加 存储层节点后,虽然也需要 Rebalance 数据,但相较 MPP 6 核以上(主频 2G HZ 以上),1 块 RAID 卡(单块 RAID 卡的 cache 大小 1GB 以上,并带有掉电保护功能 )。 ·ETL 服务器最好和 Greenplum 接入相同的二层交换机,如果跨交 换机,确保网络不存在性能瓶颈。 ·ETL 服务器网卡尽量选用万兆网卡,某香港航空公司曾抱怨 Greenplum 加载性能缓慢,结果发现加载时把所有 ETL 服务器的 千兆网卡都打满了。0 码力 | 64 页 | 2.73 MB | 1 年前3 Greenplum 精粹文集性能却远远超过传统高 昂的专有系统。 Big Date2.indd 2 16-11-22 下午3:38 Greenplum 精粹文集 3 大家都知道 Greenplum 的数据库引擎层是基于著名的开源数据库 Postgresql的(下面会分析为什么采用Postgresql,而不是mysql等等), 但是 Postgresql 是单实例数据库,怎么能在多个 X86 服务器上运行多 个 SQL-On-Hadoop 系统,例如 HAWQ、SPARK 均可单独增加 计算层的节点或数据层的 HDFS 存储节点,HDFS 数据存储对计算 层来说是透明的; MPP 数据库扩展时,一般情况下是计算节点和数据节点一起增加 的,在增加节点后,需要对数据做重分布才能保证数据与节点的紧 耦合(重新 Hash 数据),进而保证系统的性能;Hadoop 在增加 存储层节点后,虽然也需要 Rebalance 数据,但相较 MPP 6 核以上(主频 2G HZ 以上),1 块 RAID 卡(单块 RAID 卡的 cache 大小 1GB 以上,并带有掉电保护功能 )。 ·ETL 服务器最好和 Greenplum 接入相同的二层交换机,如果跨交 换机,确保网络不存在性能瓶颈。 ·ETL 服务器网卡尽量选用万兆网卡,某香港航空公司曾抱怨 Greenplum 加载性能缓慢,结果发现加载时把所有 ETL 服务器的 千兆网卡都打满了。0 码力 | 64 页 | 2.73 MB | 1 年前3
 Greenplum Database 管理员指南 6.2.1........................................................................................ - 17 - 网络层冗余 ................................................................................................. 编写:陈淼 - 15 - 网络层是 GP 系统的重要组件,在用户执行查询时,每个 Instance 都需要执行相 应的处理,网络层涉及到 Instance 之间的通信和数据传输,网络层可以使用标准的 以太网协议。不要认为网络只是连通作用,请按照 GP 的安装部署要求,必须使用万兆 网络作为内部互联网络,否则,一定会遭受很多网络方面的困扰。 在缺省情况下,网络层使用 UDPIFC 协议。这是经过改善的 协议。 冗余与故障切换 GP 提供了避免单点故障的部署选项。本节讲述 GP 的冗余组件。  Instance 镜像  Master 镜像  网络层冗余 Instance 镜像 在部署 GP 系统时,可以选择配置 Mirror,如果初始化时没有配置 Mirror,后 期也可以再次添加 Mirror,当然,如果要删除已有的0 码力 | 416 页 | 6.08 MB | 1 年前3 Greenplum Database 管理员指南 6.2.1........................................................................................ - 17 - 网络层冗余 ................................................................................................. 编写:陈淼 - 15 - 网络层是 GP 系统的重要组件,在用户执行查询时,每个 Instance 都需要执行相 应的处理,网络层涉及到 Instance 之间的通信和数据传输,网络层可以使用标准的 以太网协议。不要认为网络只是连通作用,请按照 GP 的安装部署要求,必须使用万兆 网络作为内部互联网络,否则,一定会遭受很多网络方面的困扰。 在缺省情况下,网络层使用 UDPIFC 协议。这是经过改善的 协议。 冗余与故障切换 GP 提供了避免单点故障的部署选项。本节讲述 GP 的冗余组件。  Instance 镜像  Master 镜像  网络层冗余 Instance 镜像 在部署 GP 系统时,可以选择配置 Mirror,如果初始化时没有配置 Mirror,后 期也可以再次添加 Mirror,当然,如果要删除已有的0 码力 | 416 页 | 6.08 MB | 1 年前3
 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum............................................................................................ 6 引领内核创新 ................................................................................................ 过联合创新、社区共建,不断增强场景化能力,最终实现统一 操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 平台架构 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字 基础设施的开源操作系统。 Greenplum 白皮书 7 白皮书 | 7 1. 引领内核创新 云原生调度增强:针对云场景在线和离线业务混合部署场景,创新 CPU 调度算法保障在线业务对 CPU 的实时抢占及抖 动抑制,创新业务优先级 00M 内存回收算法保障在线业务安全可靠运行。0 码力 | 17 页 | 2.04 MB | 1 年前3 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum............................................................................................ 6 引领内核创新 ................................................................................................ 过联合创新、社区共建,不断增强场景化能力,最终实现统一 操作系统支持多设备,应用一次开发覆盖全场景。 openEuler 平台架构 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字 基础设施的开源操作系统。 Greenplum 白皮书 7 白皮书 | 7 1. 引领内核创新 云原生调度增强:针对云场景在线和离线业务混合部署场景,创新 CPU 调度算法保障在线业务对 CPU 的实时抢占及抖 动抑制,创新业务优先级 00M 内存回收算法保障在线业务安全可靠运行。0 码力 | 17 页 | 2.04 MB | 1 年前3
 PostgreSQL和Greenplum 数据库故障排查3)使用更严格的内存提交策略overcommit_memory: 内核参数overcommit_memory ,指定内存分配策略 可选值:0、1、2。 0, 表示内核将检查是否有足够的可用内存供应用进程使用; 如果有足够的可用内存,内存申请允许;否则,内存申请 失败,并把错误返回给应用进程。 1, 表示内核允许分配所有的物理内存,而不管当前的内存 状态如何。 2, 表示内核允许分配超过所有物理内存和交换空间总和的 内存0 码力 | 84 页 | 12.61 MB | 1 年前3 PostgreSQL和Greenplum 数据库故障排查3)使用更严格的内存提交策略overcommit_memory: 内核参数overcommit_memory ,指定内存分配策略 可选值:0、1、2。 0, 表示内核将检查是否有足够的可用内存供应用进程使用; 如果有足够的可用内存,内存申请允许;否则,内存申请 失败,并把错误返回给应用进程。 1, 表示内核允许分配所有的物理内存,而不管当前的内存 状态如何。 2, 表示内核允许分配超过所有物理内存和交换空间总和的 内存0 码力 | 84 页 | 12.61 MB | 1 年前3
 Greenplum上云与优化Greenplum上云与优化 — ApsaraDB for Greenplum介绍 2016Postgres中国用户大会 目 录 content ApsaraDB for GP的定位 ApsaraDB for GP的内核优化 未来的规划 2016Postgres中国用户大会 ApsaraDB for GP的定位 2016Postgres中国用户大会 ApsaraDB for GP的定位 GP的优势? 简单、高效解决大数据分析需求 MPP + 列存压缩 复杂SQL + 查询优化器 本地高效存储 +高速网络 +预置稳定资源 = = 2016Postgres中国用户大会 ApsaraDB for GP的内核优化 2016Postgres中国用户大会 ApsaraDB for GP架构 ApsaraDB for GP 主节点 子节点 子节点 子节点 子节点 子节点 子节点 子节点 解决OOM问题 实例的OOM有时很频繁,同时OOM很难提前监控 我们的办法 利用外部脚本监控cgroup中的内存统计 发生内存水位较高时,将实例移入公共 cgroup;同时发出cancel query信号给内核 水位下降时移回实例的cgroup 2016Postgres中国用户大会 Linux Box CGroup backend backend backend CGroup backend0 码力 | 26 页 | 1.13 MB | 1 年前3 Greenplum上云与优化Greenplum上云与优化 — ApsaraDB for Greenplum介绍 2016Postgres中国用户大会 目 录 content ApsaraDB for GP的定位 ApsaraDB for GP的内核优化 未来的规划 2016Postgres中国用户大会 ApsaraDB for GP的定位 2016Postgres中国用户大会 ApsaraDB for GP的定位 GP的优势? 简单、高效解决大数据分析需求 MPP + 列存压缩 复杂SQL + 查询优化器 本地高效存储 +高速网络 +预置稳定资源 = = 2016Postgres中国用户大会 ApsaraDB for GP的内核优化 2016Postgres中国用户大会 ApsaraDB for GP架构 ApsaraDB for GP 主节点 子节点 子节点 子节点 子节点 子节点 子节点 子节点 解决OOM问题 实例的OOM有时很频繁,同时OOM很难提前监控 我们的办法 利用外部脚本监控cgroup中的内存统计 发生内存水位较高时,将实例移入公共 cgroup;同时发出cancel query信号给内核 水位下降时移回实例的cgroup 2016Postgres中国用户大会 Linux Box CGroup backend backend backend CGroup backend0 码力 | 26 页 | 1.13 MB | 1 年前3
 Greenplum 介绍性,和其带来的数据不一致的问题。 ● 支持各种数据格式的平台:不管是结构化、半结构化(XML、JSON、KV)还是非结构化, 譬如文本数据、GIS 数据、图数据等。 ● 具有强大内核的平台:Greenplum 具有强大的内核技术,包括数据水平分布、并行查询执 行、专业优化器、线性扩展能力、多态存储、资源管理、高可用、高速数据加载等。 ● 具备强大灵活性和可扩展性的平台: 支持扩展(Extension)、自定义类型和函数、PXF 大大提高了产品的质量和客户的满意度。Greenplum 5.0 是开源之后发布的第一个稳定版本,大 约保持 1 个半月一个版本的发布速度。Greenplum 主干分支(master)开发非常活跃,众多社区 期待的特性稳健推进中,包括内核升级、新课题,处于业界领先地位。 Greenplum 社区邀请 Pivotal、阿里云、百度等社区人士共同定期举办各种技术研讨会、技术沙龙、 101 培训等活动,获得良好反馈。国内多所知名大学开设了0 码力 | 3 页 | 220.42 KB | 1 年前3 Greenplum 介绍性,和其带来的数据不一致的问题。 ● 支持各种数据格式的平台:不管是结构化、半结构化(XML、JSON、KV)还是非结构化, 譬如文本数据、GIS 数据、图数据等。 ● 具有强大内核的平台:Greenplum 具有强大的内核技术,包括数据水平分布、并行查询执 行、专业优化器、线性扩展能力、多态存储、资源管理、高可用、高速数据加载等。 ● 具备强大灵活性和可扩展性的平台: 支持扩展(Extension)、自定义类型和函数、PXF 大大提高了产品的质量和客户的满意度。Greenplum 5.0 是开源之后发布的第一个稳定版本,大 约保持 1 个半月一个版本的发布速度。Greenplum 主干分支(master)开发非常活跃,众多社区 期待的特性稳健推进中,包括内核升级、新课题,处于业界领先地位。 Greenplum 社区邀请 Pivotal、阿里云、百度等社区人士共同定期举办各种技术研讨会、技术沙龙、 101 培训等活动,获得良好反馈。国内多所知名大学开设了0 码力 | 3 页 | 220.42 KB | 1 年前3
 Greenplum 新一代数据管理和数据分析解决方案• 高效率 数据库管理系统(DBMS)的 规模/容量 11 需要采用一种新的方法 •“一切皆可商用”:商业即用型x86 服务器、存储设备、网络 •通过软件很容易将处理能力扩展到 1000s的内核/系统 Greenplum • “黑盒子” • “大铁箱” • 大磁盘 过去Google™ 曾经用来实现信息搜索功能的技术, 现在被Greenplum用于数据仓库 现在的解决方案 12 通用并行数据流引擎可以通过本地方 式执行 SQL和MapReduce • 采用了针对商用硬件优化的MPP“完 全不共享”体系 • 可以在很多100s服务器上扩展到 1000s商用处理内核 • 将所有处理操作尽量移动到数据附近 计算内核 Greenplu m并行数 据流引擎 对本地磁盘进行直 接的高性能访问 gNet 互连 • 第一个支持互联网级分析技术(由Google普及)的产品 • 采用新的编程模型,在商用硬件上并行处理和执行0 码力 | 45 页 | 2.07 MB | 1 年前3 Greenplum 新一代数据管理和数据分析解决方案• 高效率 数据库管理系统(DBMS)的 规模/容量 11 需要采用一种新的方法 •“一切皆可商用”:商业即用型x86 服务器、存储设备、网络 •通过软件很容易将处理能力扩展到 1000s的内核/系统 Greenplum • “黑盒子” • “大铁箱” • 大磁盘 过去Google™ 曾经用来实现信息搜索功能的技术, 现在被Greenplum用于数据仓库 现在的解决方案 12 通用并行数据流引擎可以通过本地方 式执行 SQL和MapReduce • 采用了针对商用硬件优化的MPP“完 全不共享”体系 • 可以在很多100s服务器上扩展到 1000s商用处理内核 • 将所有处理操作尽量移动到数据附近 计算内核 Greenplu m并行数 据流引擎 对本地磁盘进行直 接的高性能访问 gNet 互连 • 第一个支持互联网级分析技术(由Google普及)的产品 • 采用新的编程模型,在商用硬件上并行处理和执行0 码力 | 45 页 | 2.07 MB | 1 年前3
共 19 条
- 1
- 2













