Greenplum 分布式数据库内核揭秘VMware, Inc. Greenplum 分布式数 据库内核揭秘 Greenplum内核开发工程师 2022-03-16 李正龙 Confidential │ ©2021 VMware, Inc. Agenda 2 - Greenplum 分布式数据库简介 - Greenplum 集群化概述 - 分布式数据存储与多态存储 - 分布式查询优化器与执行器 - Greenplum 中文社区 中文社区 3 Confidential │ ©2021 VMware, Inc. Greenplum 分布式数据库简介 Features Confidential │ ©2021 VMware, Inc. 4 Greenplum 是基于 PostgreSQL 所实现的大规模并行处理(MPP)开源数据平台,具有良好的弹性 和线性拓展能力,内置并行存储、并行通信、并行计算和并行优化功能,兼容 SQL 标准。拥有独 特的高效的 ORCA 优化器,具有强大、高效的 PB 级数据存储、处理和实时分析能力,同时支持 OLTP 型业务的混合负载。 Greenplum 分布式数据库简介 5 Confidential │ ©2021 VMware, Inc. Greenplum 集群化概述 Coordinator/Segment, Primary/Mirror Confidential │0 码力 | 31 页 | 3.95 MB | 1 年前3
Greenplum分布式事务和两阶段提交协议Greenplum中文社区 https://cn.greenplum.org 博文 资料 文档 项目 全新的问答论坛 分布式事务和 两阶段提交协议 6 ● 事务实现原理和Write Ahead Logging(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 7 事务的属性:ACID 事务的属性:ACID 属性 含义 数据库系统的实现 Atomic 原子性 事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 事务的实现原理和Write Ahead Log(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 22 分布式事务 ● 分布式事务,分布式环境下的事务, 是一个典型的嵌套式事务,一个事务 由多个工作节点的子事务组成。 ● 必须保证参与分布式事务的各个场地 (节点)的事务,要么全部提交,要么 全部rollback,不能出现部分提交的情0 码力 | 42 页 | 2.12 MB | 1 年前3
Greenplum Database 管理员指南 6.2.1.................................................................................... - 19 - 第二章:分布式数据库概念 .............................................................................................. ...................... - 276 - 确认 XFS 挂载参数................................................................................................. - 277 - 确认 IO 参数和 Huge Page 设置 ........................... 之前版本故障切换的恢复过程 .......................................................................... - 312 - FTS 相关参数 ..................................................................................................0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 6: 混合负载的理想数据平台Greenplum 6: 混合负载的理想数据平台 高小明 全球领先的开源MPP大数据平台 可扩展性 ACID事务 VS 分布式 简单易用 VS 结构化 半结构非结构化 VS 事务型 分析型 VS MPP - massively parallel processing - 大规模并行处理 master standby primary Elimination 03 动态分区裁剪 公共表达式的下推 高效处理相关子查询 超过8年的投资,多位博士的长期贡献 基于Cascades / Volcano框架, Goetz Graefe 优化分布式大数据系统中特别复杂的查询 18 Madlib: 迭代并行模型训练 Master model = init(…) WHILE model not converged model = processing - 联机事务处理 出色的OLTP特性 天生的优势 ● 行式存储 ● 索引 ● 直接分发 ● 完整的增删改 Greenplum 6 增强 ● 并发修改、删除 ● 系统性的优化事务和锁 26 Pivotal Confidential–Internal Use Only 行式存储 表‘SALES’ 表‘SALES’ ■ 更适合OLTP负载 ■ 高效更改和删除0 码力 | 52 页 | 4.48 MB | 1 年前3
Greenplum数据仓库UDW - UCloud中立云计算服务商76 76 79 81 82 90 92 101 102 103 104 106 128 访问 访问UDW数据仓库 数据仓库 1 客⼾端⼯具访问UDW 2 图形界⾯的⽅式访问UDW 数据导⼊ 数据导⼊ insert加载数据 copy加载数据 外部表并⾏加载数据 从hdfs加载数据 从mysql中导⼊数据 从oracle中导⼊数据 从ufile加载数据 Copyright © 2012-2021 UCloud 优刻得 7/206 1. Client:访问 UDW 的客⼾端 ⽀持通过 JDBC、ODBC、PHP、Python、命令⾏ Sql 等⽅式访问 UDW 2. Master Node:访问 UDW 数据仓库的⼊⼝ 接收客⼾端的连接请求 负责权限认证 处理 SQL 命令 调度分发执⾏计划 汇总 Segment 的执⾏结果并将结果返回给客⼾端 击“创建数据仓库”。 快速上⼿ Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 10/206 2.选择计算节点机型、计算节点数量以及付费⽅式。 其中可选的机型配置有: 机型 机型 名称 名称 配置 配置 存储密集型 ds1.large 4核 24G 2000G(SATA) 存储密集型 ds1.6xlarge 24核 144G 12000G(SATA)0 码力 | 206 页 | 5.35 MB | 1 年前3
Greenplum 精粹文集SMP(对称多处理)架构难于扩展,并且在 CPU 计算和 IO 吞吐上不 能满足海量数据的计算需求。 分布式存储和分布式计算理论刚刚被提出来,Google 的两篇著名论文 发表后引起业界的关注,一篇是关于 GFS 分布式文件系统,另外一篇 是关于 MapReduce 并行计算框架的理论,分布式计算模式在互联网 行业特别是收索引擎和分词检索等方面获得了巨大成功。 Big Date2.indd 1 1 16-11-22 下午3:38 2 由此,业界认识到对于海量数据需要一种新的计算模式来支持,这种 模式就是可以支持 Scale-out 横向扩展的分布式并行数据计算技术。 当时,开放的X86服务器技术已经能很好的支持商用,借助高速网络(当 时是千兆以太网)组建的 X86 集群在整体上提供的计算能力已大幅高 于传统 SMP 主机,并且成本很低,横向的扩展性还可带来系统良好 的成长性。 MapReduce 计算框架还是 MPP(海量并行处理)计算框架,最终还 是需要软件来实现,Greenplum 正是在这一背景下产生的,借助于分 布式计算思想,Greenplum 实现了基于数据库的分布式数据存储和并 行计算(GoogleMapReduce 实现的是基于文件的分布式数据存储和 计算,我们会在后面比较这两种方法的优劣性)。 话说当年 Greenplum(当时还是一个 Startup 公司,创始人家门口有0 码力 | 64 页 | 2.73 MB | 1 年前3
Pivotal Greenplum 最佳实践分享Greenplum运维常见问题 Greenplum运维常用命令 Greenplum日常检查和故障处理 Greenplum项目经验分享 内核参数 通常情况下,内核参数按照GPDB安装手册配置,如需要增加连接数支持,以下参数需要增大 kernel.shmmax = 1000000000 kernel.sem = 250 512000 100 2048 Redhat /sys/kernel/mm/transparent_hugepage/enabled 一般不建议直接修改/boot/grub/grub.conf文件或者/boot/grub/menu.lst 常用数据库参数 参数名 Master节点值 Segment节点值 checkpoint_segments 32 32 max_connections 500 2500 max_prepared_transactions GPDB采用MVCC机制,UPDATE 或 DELETE并非物理删除,而只是对无效记 录做标记; • Update/delete操作后,数据库不会自动释放这些空间,这些垃圾空间的回收方 式: 1)Vacuum 2)Vacuum full 3)REORGANIZE • 不进行垃圾空间回收的影响 o 垃圾空间浪费存储空间 o 垃圾空间影响查询性能 注:delete0 码力 | 41 页 | 1.42 MB | 1 年前3
并行不悖- OLAP 在互联网公司的实践与思考接从数据库传数 Ø 以重点业务线、活动数据、非OLTP业务数据的任务计算为主 • 公司IDC_03机房Greenplum体系 Ø 数据来源来源为OTLP库库,针对大数据量传输和计算,采用T+1方式 Ø 以核心业务的数据计算、统计为主 18 Greenplum现状说明 数据架构示意图 19 Greenplum现状说明 三大Greenplum集群关系 • 数据来源不同 • 数据处理不同 Greenplum扩展规划 六 22 Greenplum运维体系 环境创建与部署 • 部署流程 Ø 规划部署方案 Ø 准备硬件资源 Ø 修改系统参数 Ø 安装 Greenplum 软件 / postgresql软件 Ø 初始化实例 Ø 修改实例参数文件 Ø 初始化业务所需库表环境、用户环境 Ø 加载数据 Ø 业务程序访问 23 Greenplum运维体系 环境创建与部署 • 部署注意点 部署注意点 Ø 资源要充足(ETL,管理节点,数据节点,数据集市) Ø 万兆网络 (网络环境对功能和性能的影响) Ø 节点规划 (数据节点6-10个segment节点) Ø 参数调整 (操作系统参数,greenplum集群参数) 24 Greenplum运维体系 系统状态监控 - gpcc -公司IDC_01机房 25 Greenplum运维体系 系统状态监控 - gpcc -公司IDC_020 码力 | 43 页 | 9.66 MB | 1 年前3
完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum不仅可以作为全能的分析化平台,也能满足交易型业 务场景,能够处理多种并发混合工作负载,专为满足在多结构数据环境中进行实时分析的需求而设计。 欧拉开源操作系统是一款面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多 样性计算,致力于提供安全、稳定、易用的操作系统。 Greenplum 与欧拉开源社区强强联手,不仅是双方业务用户所期盼的,同时也是 Greenplum 社区与对中国本地开源社 5 白皮书 | 5 欧拉开源操作系统 欧拉开源操作系统(openEuler, 简称“欧拉”)从服务器操作系统正式升级为面向数字基础设施的操作系统,支持服务 器、云计算、边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的操作系统。通过为应用 提供确定性保障能力,支持 OT 领域应用及 OT 与 ICT 的融合。 欧拉开源社区通过开放的社区形式与全球的 openEuler 社区面向场景化的 SIG 不断组建,推动 openEuler 应用边界从最初的服务器场景,逐步拓展到云计算、边 缘计算、嵌入式等更多场景。openEuler 正成为覆盖全场景的操作系统,将发布面向边缘计算的版本 openEuler 21.09 Edge、面向嵌入式的版本 openEuler 21.09 Embedded。 openEuler 希望与广大生态伙伴、用户、开发者一起,0 码力 | 17 页 | 2.04 MB | 1 年前3
PostgreSQL和Greenplum 数据库故障排查host all all 10.10.56.17/32 md5 host 参数表示安装PostgreSQL的主机 all 第一个all 表示该主机上的所有数据库实例 all 第二个all 表示所有用户 10.10.56.17/32 表示需要连接到主机的IP地址,32表示IPV4 共有三种:local、host、hostssl、hostnossl local使用本地unix套接字 host使用TCP/IP连接(包括SSL和非SSL) “IPv4地址”使用IPv4方式 hostssl只能使用SSL TCP/IP连接 hostnossl不能使用SSL TCP/IP连接 数据库(database) 声明允许访问的数据库,多个数据库,库名 间以逗号分隔。 微信号:laohouzi999 1)增加物理内存或调整SWAP交换空间; 2)调整work_mem、max_connections参数; 2018年PostgreSQL中国技术大会 微信号:laohouzi999 3)使用更严格的内存提交策略overcommit_memory: 内核参数overcommit_memory ,指定内存分配策略 可选值:0、1、2。 0, 表示内核将检查是否有足够的可用内存供应用进程使用;0 码力 | 84 页 | 12.61 MB | 1 年前3
共 23 条
- 1
- 2
- 3













