Greenplum Database 管理员指南 6.2.1
公司商业运营,在 2020 年,Pivotal 被兄弟公司 VMWare 收购,由 VMWare 继续运营。近年来,Greenplum 在国内建立了一个较大规模的研发团队,越来越多的承担更重要的研发任务,包括 PostgreSQL 的版本合并等,从而,可以为国内商业用户提供更专业和更优质的本地 化服务,用户遇到问题,反馈给专业技术支持人员,或者专业售后服务团队,他们会同 用户一起排查和解决问题,如 脚本的形式实现了 Master 和 Standby 的自动 FailOver 效果,编者也实现了自动 切换命令,当 Master 出现无法正常工作的故障时,自动激活 Standby 来接管 Master 的任务。下面的流程图,是编者实现的 Master 和 Standby 自动切换的逻辑流程图, 可以供读者参考,不过,编者不方便公开实现的代码。 Greenplum Database 管理员指南 V6.2 Primary,这个数字的选择需要由富有经验的专业技术支持人员进行评估, 每个 Instance 所在主机配置的 Primary 越多,响应并发的能力越弱,但单个任务的 处理能力越强(这也不是绝对的,当 Primary 数量多到,即便运行单个任务时都会出 现资源争抢,可能运行的效率就会下降)。实际上,每个计算主机的 Primary 个数, 还与其他资源有关,如,磁盘性能,网络性能,内存容量。0 码力 | 416 页 | 6.08 MB | 1 年前3Greenplum 精粹文集
实例的高效协同和并行计算,Interconnect 承载了并行 查询计划生产和 Dispatch 分发(QD)、协调节点上 QE 执行器的并 行工作、负责数据分布、Pipeline 计算、镜像复制、健康探测等等诸 多任务。 在 Greenplum 开源以前,据说一些厂商也有开发 MPP 数据库的打算, 其中最难的部分就是在 Interconnect 上遇到了障碍,可见这项技术的 关键性。 Greenplum 集群架构 Greenplum 中,曾经在一次 PoC 测试中,用户 提供的 22 条 Oracle SQL 语句,不做任何改动就能运行在 Greenplum 上。 最 后, 需 要 强 调 的 是:Greenplum 绝 不 仅 仅 只 是 简 单 的 等 同 于 “Postgresql+interconnect 并行调度 + 分布式事务两阶段提交”, Greenplum 还研发了非常多的高级数据分析管理功能和企业级管理模 CPU CORE 的计算能力,对 X86 的 CPU 超线程有很好的支持,提供更好的请求响应速度。在 PoC 中接触 到其它一些国内外基于开放平台的 MPP 软件,大都是建立在节点级的 并行,单个或少量的任务时无法充分利用资源,导致系统加载和 SQL 执行性能不高。 记忆较深的一次 PoC 公开测试中,有厂商要求在测试中关闭 CPU 超 线程,估计和这个原因有关(因为没有办法利用到多个 CPU core0 码力 | 64 页 | 2.73 MB | 1 年前3Pivotal Greenplum 最佳实践分享
常用可选参数:-a:直接停止,不提示终端使用者输入确认 -m:只停止master实例,与gpstart –m对应使用 -M fast | -f:停止数据库,中断所有数据库连接,回滚正在运行的事务 -u:不停止数据库,只加载pg_hba.conf 和postgresql.conf 中运行时参数,当改动参数配置时候使用。 -r: 重启数据库 Admin常用命令 IO是否繁忙,Wait是否较高 – 是单一服务器繁忙还是所有服务器繁忙 检查数据库狀态 – gpstate检查是否有实例down机 – 检查pg_log是否有OOM錯誤 检查当前SQL任务 – 确定当前系統是否有SQL能执行成功(checkpoint、select用户表),还是整個系统挂起 – 确定是否有锁等待或资源队列排队导致SQL长时间不能完成 – 确定是否整体性能慢 检查文件系统是否有异常(到相应实例对应的数据目录下,执行ls;echo“test‖ > mytest.txt看看是否有错误) 问题定位方法 现象-某个SQL任务执行时间太长 检查SQL是否在资源队列中排队(select * from pg_stat_activity),是否已经dispatch(cat pg_log/gpdb-yyyy-mm-dd_xxxxxxx0 码力 | 41 页 | 1.42 MB | 1 年前3Greenplum数据库架构分析及5.x新功能分享
多态存储系统 客户端访问 ODBC, JDBC, OLEDB, etc. 核心MPP 架构 并行数据流引擎 高速软数据交换机制 MPP Scatter/Gather 流处理 在线系统扩展 任务管理 服务 加载 & 数据联邦 高速数据加载 近实时数据加载 任意系统数据访问 存储 & 数据访问 混合存储引擎(行存&列存) 多种压缩,多级分区表 索引(B树,位图,GiST) 安全性 本地存储 主节点Segment 系统表 分布式事务 Interconnect 执行器 解析器 主节点上的分布式 事务管理器协调 Segment上的提交和 回滚操作 Segments 有自己的 事务日志,确定合 适提交或回滚自己 的事务 主节点 Segment 实例 本地事务 执行器 系统表 本地存储 Segment 主机 Segment 实例 执行器Executor0 码力 | 44 页 | 8.35 MB | 1 年前3Greenplum on Kubernetes 容器化MPP数据库
数据隔离 → 数据共享 ● 云数据库市场巨大 ● 云数据库增速巨大 ● DBasS的需求 ● 跨云的需求 云数据库实现方案 云数据库需求 ● DBasS ○ 自动化运维 ○ 自动化调优 ● 弹性资源管理 ○ 存储资源 ○ 计算资源 ● 安全 ○ 用户数据 ○ 临时文件 ○ 网络传输 ○ 权限控制 ● 跨云 ○ 公有云 ○ 私有云 云数据库实现方案 ● 全新数据库 NFS, Cinder, VsphereVolume ● PersistentVolumeClaim ○ 申请存储资源 Kubernetes 计算资源 Pod ● Pod ○ 计算任务 → 容器 → Pod ○ 资源分配:CPU,内存,磁盘 ○ 资源调度:Pod → Node ● Pod管理 ○ 无状态计算资源组:Deployment ○ 有状态计算资源组:StatefulSet0 码力 | 33 页 | 1.93 MB | 1 年前3Greenplum数据仓库UDW - UCloud中立云计算服务商
UCloud 优刻得 123/206 描述: 终⽌当前事务 语法: ROLLBACK [ WORK | TRANSACTION ] 命令: ROLLBACK TO SAVEPOINT 描述: 回滚到⼀个 savepoint 语法: ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name 命令: SAVEPOINT 的函数⼀样, 调⽤者必须通过 as 语句来明确地定义 record 的结构。 UDW中Json类型 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 150/206 json_to_recordset(json) 根据⼀个由 JSON 对象组成的数组, 构建⼀个任意的 record 集合。 和所有返回 record 的函数⼀样, 调⽤者必须通过0 码力 | 206 页 | 5.35 MB | 1 年前3Greenplum分布式事务和两阶段提交协议
有更好的性能,但是怎么保证事务的原子性和持久 性? ❏ No-Force: 事务提交,所修改的数据页没有刷回至持久存储,如果发生断电 或者系统崩溃。 ❏ Steal: Buffer Pool中未提交的事务所修改的脏页刷回到持久存储,如果发生 断电或者系统崩溃。 缓冲区管理策略 14 ■ No-Force → Redo Log 事务提交时,数据页不需要刷回持久存储,为了保证持久性,先把Redo Log写 入日志文件。Redo and Isolation Exploiting Semantics, 1993, IBM DB2 19 ● Steal + No-force ● redo log,没有undo log,事务回滚不需要做undo操作 • PG采用的是MVCC,更新操作不是in-place update,而是重新创建tuple, 可见性判断 • Robert Haas 2018, “DO or0 码力 | 42 页 | 2.12 MB | 1 年前3并行不悖- OLAP 在互联网公司的实践与思考
以对账业务为主,统计计算为辅 • 公司IDC_02机房Greenplum体系 Ø 针对数据来源主要是kfk产生csv文件的业务,不直接从数据库传数 Ø 以重点业务线、活动数据、非OLTP业务数据的任务计算为主 • 公司IDC_03机房Greenplum体系 Ø 数据来源来源为OTLP库库,针对大数据量传输和计算,采用T+1方式 Ø 以核心业务的数据计算、统计为主 18 Greenplum现状说明 Greenplum运维体系 数据库数据传输与同步-db_sync 31 Greenplum运维体系 Greenplum任务调度 • greenplum内部存储过程调度 Ø大批量任务采用 kettle调度 Ø单个存储过程,可以在shell中 select func_name() 的方式调度 • 外部任务调度 Ø将整个过程封装成shell脚本,或 Python脚本 Ø用crontab在操作系统调用脚本 Ø用 Greenplum任务调度-opencron 33 Greenplum现状说明 三 Greenplum体系架构 二 数据仓库体系架构 一 Greenplum开发规范 五 Greenplum运维体系 四 Greenplum扩展规划 六 34 Greenplum开发规范 不规范容易出现的问题 • GP架构易出现问题 Ø 资源不足 Ø 连接、语句执行失败 Ø 多任务冲突 • 库表使用易出现问题0 码力 | 43 页 | 9.66 MB | 1 年前3Greenplum 架构概览
每当有⼀个客户端连接⾄ PG 时,就会有⼀个⼦进程被创建出来。postmaster 进程和 postgres 进程之间采⽤共享内存进⾏通信 client 和 PG 之间的通信过程 client 调⽤ libpq 库向 PG 的 Postmaster 进程发起连接请求 PG fork 出⼀个 postgres 进程与该客户端建⽴连接,postmaster 进程不再处理与该客户端的相关请求0 码力 | 1 页 | 734.79 KB | 1 年前3Greenplum 新一代数据管理和数据分析解决方案
商用硬件集群 分析 数据 市场 企业数 据仓库 企业数据集合:主要的优势 • 实体整合 • 提高服务器使用率 • 降低总硬件成本 • 降低能量成本 • 可以预估的服务等级 • 确保关键任务的可靠性 • 最出色的性能 • 高度灵活性 • 逐步扩展计算能力 • 动态措施 • 数据访问: • 在一个系统中协调所有企业数据的位置 • 可以通过任何语言(SQL、M/R等)进行分析 14 描,历时超过20分钟。 结论:如果采用DWA替代现有环境,获得超过120倍的性能提升。 • 真实应用测试 – DWA测试结果:完成应用的全过程仅耗时48分钟。 – 客户投产环境:客户11月份月度处理时,完成本项任务需要65小时。 结论:如果采用DWA替代现有环境,获得超过80倍的性能提升。 案例分享:阿里巴巴 • 业务用例 • 通过分析用户的网络点击日志,进行产品关联分析,让客户可以 快速的找到相近产品0 码力 | 45 页 | 2.07 MB | 1 年前3
共 16 条
- 1
- 2