Greenplum Database 管理员指南 6.2.1效果,编者也实现了自动 切换命令,当 Master 出现无法正常工作的故障时,自动激活 Standby 来接管 Master 的任务。下面的流程图,是编者实现的 Master 和 Standby 自动切换的逻辑流程图, 可以供读者参考,不过,编者不方便公开实现的代码。 Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 打 游戏,不断的学习和积累,终究会在某个点突破禁锢,登堂入室。 数据是如何存储的 要理解 GP 是如何在不同的 Instance 之间存储数据的,可以参考下图所示的简单 逻辑关系,主键(Primary Key)被使用黑体标记,外键(Foreign Key)关系通过连 线标明。 用数据仓库的术语来说,这种数据模型称为星型模型。在这种数据库模型下,Order HASH 到相同的 Instance。选择一 个唯一性较高的字段作为 DK,可以确保尽可能平坦的数据分布效果。虽然,主键往往 是唯一性最好的字段,但是,不建议为了选择一个分布键而去增加一个主键,这是一种 逻辑颠倒的做法,通常,应该选择一个常用于大表之间关联的某个唯一性较高的字段作 为分布键,一般这个字段可能在其他某个表中具有主键特征,例如,客户 ID,例如会 员卡号,例如手机号码,例如身份证号码,等等,在选择分布键时,仅需要考虑大表与0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum分布式事务和两阶段提交协议32 Greenplum实现分布式事务与并发控制 • 分布式事务管理 • 分布式事务的创建、状态迁移等 • QD向QE发起两阶段提交 • 分布式快照 • QD向QE发送全局快照信息 • Writer QE和Reader QE共享本地快照信息 • distributed log:分布式事务提交日志 • 用于判断分布式事务是否提交,作用和PG 的commit log类似,基于simple 33 分布式事务信息在QD和QE之间的同步 MyTmGxact: TMGXACT 分布式事务结构体 • 分布式事务id • 分布式事务管理器启动的时间戳 • 活跃分布式事务中最小的事务id,分布式快照 • session id 34 Greenplum的两阶段提交函数调用关系 35 ● 事务的实现原理和Write Ahead Log(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现0 码力 | 42 页 | 2.12 MB | 1 年前3
Greenplum开源MPP数据库介绍QD 从QE归集结果,返回给客户端 Confidential │ ©2022 VMware, Inc. 14 分布式执行和事务 Ø MVCC q Xmin, Xmax 是节点本地的 Ø 分布式快照 q QD生成,下发给QE q segment本地事务异步两阶段提交,保持一致性 Ø HTAP 优化 q 全局死锁检测 q 只读事务、只涉及到某个节点的操作、vacuum Ø SIGMOD0 码力 | 23 页 | 4.55 MB | 1 年前3
Greenplum 精粹文集义函数(UDF)(我个人是 Python 和 C 的 fans,后续章节与大家分享)。 这些自定义函数部署到 Greenplum 后可用充分享受到实例级别的并行 性能优势,我们强烈建议用户将库外的处理逻辑,部署到用 MPP 数 据库的 UDF 这种 In-Database 的方式来处理,你将获得意想不到的性 能和方便性;例如我们在某客户实现的数据转码、数据脱敏等,只需 要简单的改写原有代码后部署到 GP Madlib(开源挖掘算法)、 SAS algorithm、R 都是通过 UDF 方式实现在 Greenplum 集群中分布 式部署,从而获得库内计算的并行能力。这里可以分享的是,SAS 曾 经做过测试,对 1 亿条记录做逻辑回归,采用一台小型机耗时约 4 个 多小时,通过部署到 Greenplum 集群中,耗时不到 2 分钟就全部完成 了。以 GPEXT 为例,下图展现了 Solr 全文检索在 Greenplum 中的并 32 16-11-22 下午3:38 Greenplum 精粹文集 33 ·统计信息收集:统计信息的准确性影响到运行效率,用户表应该及 时收集统计信息。在应用程序中增加手机统计信息的处理逻辑,通 过脚本定时批量收集统计信息,或者两者相结合。针对分区表日常 可按需收集子分区的统计信息,可节省时间提升效率。 ·表倾斜:表倾斜情况应该 DBA 的关注点之一,但无需每天处理。 ·表膨胀:基于0 码力 | 64 页 | 2.73 MB | 1 年前3
Greenplum机器学习⼯具集和案例PostgreSQL, HAWQ) 底层抽象层 (数组操作、类型转换、数值计算库等) 数据库内建函 数 ⽤用户接⼝口 ⾼高层抽象层 (迭代控制器器) 内循环函数 (实现机器器学习逻辑) Python SQL C++ MADlib 架构 2017.thegiac.com • 是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google 成对相关性 删除⾼高度相关变量量 逻辑回归 计算 KS 分值 模型验证 ⼿手动预测 1 2 3 4 5 6 7 8 原始⼯工作流程 2017.thegiac.com 数据整理理 特征⽣生成 验证 预测 信息价值 ⽅方差膨胀 因⼦子 成对相关性 逻辑回归 Elastic Net 特征选择 excel ● 在 GPDB 中花 58 秒计 算 ~200 个变量量的IV 13.7x/变量量 建模 ● < 50 个变量量,运⾏行行⼀一 次逻辑回归迭代需要 ~30 分钟 ● 376 个变量量,运⾏行行⼀一次 逻辑回归迭代需要 ~1.86 分钟 ~16x/迭代 ⼯工作流程优化 2017.thegiac.com 原始模型 改良后的模型 ● 模型精确度0 码力 | 58 页 | 1.97 MB | 1 年前3
并行不悖- OLAP 在互联网公司的实践与思考postgresql体系结构 11 greenplum体系架构 postgresql体系结构 • pg结构组成 Ø 连接关系系统 Ø 编译执行系统 Ø 存储执行系统 Ø 事务系统 Ø 系统表 • pg逻辑和物理结构 Ø instance实例 - user - tablesapce Ø database - schema - table,view,function - data row Ø 物理文件 Greenplum现状说明 三大Greenplum集群关系 • 数据来源不同 • 数据处理不同 • 时效速度不同 • 体系架构相同 • 年表划分相同 • 平台整体定位 • 定位不同,多集群配合形成逻辑大集群 20 Greenplum现状说明 Greenplum多层业务规划图 21 Greenplum现状说明 三 Greenplum体系架构 二 数据仓库体系架构 一 Greenplum开发规范 全量,id列增量,date列增量 Ø datax,csv,load,copy Ø 数据同步结果确认与显示 • 数据同步方式 Ø gpfdist+外部表 : UMGW大表 Ø db_sync同步程序 : 底层库 + 同步逻辑 + Django界面 Ø 临时同步需求: datax , copy 29 Greenplum运维体系 数据库数据传输与同步-db_sync 30 Greenplum运维体系 数据库数据传输与同步-db_sync0 码力 | 43 页 | 9.66 MB | 1 年前3
Brin Index主Greenplum 7中的理论与实现Vacuum vacuum不做任何操作 vacuum full重建索引 Confidential │ ©2021 VMware, Inc. Brin Storage Revmap是一个逻辑上的数组,数组下标代表BlockNumber Revmap的value是TID,指向存储有最大最小值的tuple Confidential │ ©2021 VMware, Inc. 目录 数据格式,适用于较少进行 Update/Delete的场景 Tuple以紧凑的方式存储在变长 的Block中,所以Block在写入磁 盘后不能修改,只能向后追加新 的Block 为了实现并发Insert,每个AO表 逻辑上有128个AoSeg,每个事务 向一个特定的AoSeg追加数据 16 Confidential │ ©2021 VMware, Inc. Brin Scan For Heap And AO0 码力 | 32 页 | 1.04 MB | 1 年前3
深度揭秘Greenplum开源数据库透明加密Query Results Planer calculating key Data (Encrypted) Data (decrypted) pgcypto pgcypto的问题 改变原有查询逻辑 • 不兼容现有查询语句 • 不兼容ETL工具 性能低 • 不支持索引 • 优化器无法使用,需要全表扫描 局限性高 • 多表关联查询需要先全表解密 • 只能加密表数据 pgcypto的问题 Data (Encrypted) Data (Decrypted) 总结 总结 • 高性能 • KMS保证秘钥安全性 • 对用户查询和数据库完全透明 • GPDB原生 • 不改变现有工作逻辑 对于现有方案的优势 pgcypto的问题 一款开源的HTAP数据库: • MPP架构 • 完整的事务+ACID+标准SQL支持 • 支持上千个节点的部署 • 支持PB级文件 • 丰富的ETL和外部组件0 码力 | 48 页 | 10.19 MB | 1 年前3
Greenplum 分布式数据库内核揭秘不同节点间移动。 Confidential │ ©2021 VMware, Inc. 12 除了支持数据在不同的 segment 节点上水平分布以外,还支持在单个节点按照不同的标准进行分 区,将单个节点上一个逻辑上的大表分割成物理上的几块,且支持多级分区。 Greenplum 目前支持的分区方法有: l 范围分区:根据某个列的时间范围或者数值范围对数据进行分区。譬如以下 SQL 将创建一个按天分区的 分区表,将 Text、CSV、Avro、Parquet 等。 多态存储 Confidential │ ©2021 VMware, Inc. 14 多态存储 如上所示,可以根据数据访问频率以及数据量这两个维度来选择不同的存储方式,并且在逻辑上仍 然是同一张表。 15 Confidential │ ©2021 VMware, Inc. Greenplum 分布式查询优化器 Motion Confidential │ ©2021 VMware0 码力 | 31 页 | 3.95 MB | 1 年前3
Greenplum数据仓库UDW - UCloud中立云计算服务商ZLIB 的压缩级别 compresslevel 取值从1到9,⼀般选择5已经⾜够了。 压缩表的应⽤场景:业务上对表进⾏更新和删除操作⽐较少,⽤ truncate+delete 就可以实现业务逻辑。不经常对表进⾏加字段或修改字段类型,对 ao 表加字段⽐普通表慢很多。 创建⼀个使⽤ ZLIB 压缩的⾏压缩表: CREATE TABLE rowCompressTable( a int, 从ufile加载数据 加载数据 为了⽅便 ufile 数据导⼊到 udw,我们提供了 ufile 外部表,导⼊数据到 udw,使⽤⽅法请参考:ufile数据导⼊到udw 6、分区表 、分区表 分区表在逻辑上把⼀个⼤表切割成⼩表,分区表可以优化查询性能、在查询的时候只查询部分分区的内容。另外分区表可以很⽅便的让数据仓库把⼀些⽐较⽼的数据移出数据仓库。 ⽬前udw⽀持的分区表类型有: range分区0 码力 | 206 页 | 5.35 MB | 1 年前3
共 14 条
- 1
- 2













