Greenplum分布式事务和两阶段提交协议https://cn.greenplum.org 博文 资料 文档 项目 全新的问答论坛 分布式事务和 两阶段提交协议 6 ● 事务实现原理和Write Ahead Logging(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 7 事务的属性:ACID 属性 含义 数据库系统的实现 Atomic Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 不会感知系统中有其他事务在同时执行。 多版本并发控制Multi-Version Concurrency Control、 两阶段加锁(Two 两阶段加锁(Two Phase Locking, 2PL)、乐观并发控制 (OCC) Durability 持久性 一个事务在提交之后,该事务对数据库的改变 是持久的。 Write Ahead Logging + 存储管理 Jim Gray于1981年VLDB描述了事务的原子性、一致性和持久性,在此基础上,Haerder和Reuter在1983年中提出了事务的隔离性并提出术语 “ACID”,自此,事务的ACID四个性质成为业内标准术语0 码力 | 42 页 | 2.12 MB | 1 年前3
Greenplum Database 管理员指南 6.2.1...................................................................................... - 241 - 外部表协议 .................................................................................................. .............................................................................. - 258 - 使用 gpfdist 协议外部表导出数据 ................................................................... - 258 - 使用基于命令的 WEB 型外部表导出数据 冗余与故障切换 并行数据装载 管理与监控 管理节点:Master Master 作为 GP 的访问入口,主要负责处理客户端连接的访问以及用户提交的 SQL 语句的解析、生成执行计划、优化执行计划等。Master 不存储业务数据,只存储 用于维持系统运行的全局信息,比如,对象定义信息,统计信息等,Master 非常重要, 如果 Master0 码力 | 416 页 | 6.08 MB | 1 年前3
Greenplum 精粹文集难于满足数据计算性能指标,传统主机的 Scale-up 模式遇到了瓶颈, SMP(对称多处理)架构难于扩展,并且在 CPU 计算和 IO 吞吐上不 能满足海量数据的计算需求。 分布式存储和分布式计算理论刚刚被提出来,Google 的两篇著名论文 发表后引起业界的关注,一篇是关于 GFS 分布式文件系统,另外一篇 是关于 MapReduce 并行计算框架的理论,分布式计算模式在互联网 行业特别是收索引擎和分词检索等方面获得了巨大成功。 正是在这一背景下产生的,借助于分 布式计算思想,Greenplum 实现了基于数据库的分布式数据存储和并 行计算(GoogleMapReduce 实现的是基于文件的分布式数据存储和 计算,我们会在后面比较这两种方法的优劣性)。 话说当年 Greenplum(当时还是一个 Startup 公司,创始人家门口有 一棵青梅 ——greenplum,因此而得名)召集了十几位业界大咖(据 说来自 google、yahoo、ibm 下午3:38 4 2. Greenplum 为什么选择 Postgreeql 做轮子 说到这,也许有同学会问,为什么 Greenplum 要基于 Postgresql? 这个问题大致引申出两个问题: 1) 为什么不从数据库底层进行重新设计研发? 所谓术业有专攻,就像制造跑车的不会亲自生产车轮一样,我们只 要专注在分布式技术中最核心的并行处理技术上面,协调我们下面 的轮子跑的更快更0 码力 | 64 页 | 2.73 MB | 1 年前3
完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum建一个开放、多元和架构包容的软件生态体系,孵化支持多种 处理器架构、覆盖数字设施全场景,推动企业数字基础设施软硬件、应用生态繁荣发展。 openEuler 作为一个操作系统发行版平台,每两年推出一个 LTS 版本。该版本为企业级用户提供一个安全稳定可靠的 操作系统。 openEuler 也是一个技术孵化器。通过每半年发布一次的创新版,快速集成 openEuler 以及其他社区的最新技术成 SIGMOD 的收录论文,ACM SIGMOD 数据管理国际会议是由美国计算机协会 (ACM) 数据管理专业委员会(SIGMOD)发起、在数据库领域具有最高学术地位的国际性学术会议,SIGMOD 和另外 两大数据库会议 VLDB、ICDE 构成了数据库领域的三个顶级会议,其论文录取率是很低的,平均录取率大约仅为 15%-17%,值得一提的是此论文主要由中国研发团队完成,也说明了中国研发团队实力处于世界一流水平。在论文 除了全局死锁检测,还引入了多项其他并发控制优化方法,这些优化对 SELECT 和 INSERT 提升比较 大。一个优化有关 procarray 锁,另一个优化和事务有关,大多数 OLTP 查询带有主键或者分布键,这种查询不需要 两阶段提交(2PC)。 集群在线扩容 Greenplum 6 实现了不停库在线增加新节点, 期间不会中断正在运行的所有查询;另外采用了 Jump Consistent Hash 的一致性哈希算法0 码力 | 17 页 | 2.04 MB | 1 年前3
Greenplum开源MPP数据库介绍产生计算进程 Ø Libpq:控制信道 Ø Interconnect: 数据交换信道 Confidential │ ©2022 VMware, Inc. 8 Greenplum的高可用 Ø 数据存两份,Coordinator有standby Ø 自动同步数据 (WAL replication) Ø 自动灾难恢复 (FTS,主备切换) Confidential │ ©2022 VMware, OLAP系统的SQL语句就复杂得多(OLTP则尽量避免) q Join 很复杂(多表, outer join, lateral…) q 子查询、子链接 q 聚集 (grouping sets, 多阶段聚集…) q 窗口函数, (Recursive) CTE q Procedure Languages(Python,R,Perl……) Ø 优化器非常非常重要 Ø 基于规则优化和基于代价优化 ©2022 VMware, Inc. 14 分布式执行和事务 Ø MVCC q Xmin, Xmax 是节点本地的 Ø 分布式快照 q QD生成,下发给QE q segment本地事务异步两阶段提交,保持一致性 Ø HTAP 优化 q 全局死锁检测 q 只读事务、只涉及到某个节点的操作、vacuum Ø SIGMOD 2021: Greenplum: A Hybrid Database0 码力 | 23 页 | 4.55 MB | 1 年前3
Greenplum数据仓库UDW - UCloud中立云计算服务商'|';" hostIP:udw访问id UserName :访问数据的⽤⼾名 DB:数据库名称 employee:表名 外部表并⾏加载数据 外部表并⾏加载数据 外部表并⾏加载数据是利⽤http协议实现的⼀个⽂件服务器,⽤于创建udw的外部⽂件表。使⽤外部表并⾏加载数据可以让udw的每个⼦节点并⾏的加载数据、⼤⼤的加快数据导⼊udw的 速度。在加载数据的时候我们可以先创建⼀个外部表,然后通过INSERT。这样就可以并⾏的加载⽂件中的数据。 使⽤⽅法请参考我们的⽂档:外部表并⾏加载数据到udw 从 从hdfs加载数据 加载数据 为了⽅便udw和hdfs之间的数据导⼊和导出,我们提供个两种⽅案: 1. ⽤sqoop实现hdfs和udw直接的数据导⼊导出,使⽤⽅法请参考:hdfs和hive中数据导⼊导出到udw 2. 创建hdfs外部表,使⽤⽅法请参考:创建hdfs外部表 从 从mysql中导⼊数据 PRIMARY KEY, name text, price numeric ) DISTRIBUTED BY (product_no); 4.3 选择数据分布策略 选择数据分布策略 UDW 表的记录有两种分布策略,分别是哈希分布(DISTRIBUTED BY(key))和随机分布(DISTRIBUTED RANDOMLY)。如果不指定分布策略则默认按primary key或者第⼀个column 做哈希分布。 0 码力 | 206 页 | 5.35 MB | 1 年前3
Greenplum 6: 混合负载的理想数据平台st_makepoint() 计算给定经纬 度方圆2KM的范围 GPText.search() 函数可 以知道是否一个人在 Pivotal工作 Greenplum MADlib BFS 算法可以 知道两个之间是否有直接联系 Greenplum模糊字符串匹 配函数Soundex() 可以 知道姓名是否发音是 ‘Pavan’或‘Peter’ Greenplum Time 函数计算24 小时内的取款时间 6:锁和事务的优化 表‘SALES’ 表‘SALES’ ■ 大幅减少事务开始和结束时的锁冲突 ■ 消除隐式只读操作(单条SELECT)的锁冲突 ■ 避免显式只读事务(BEGIN-SELECT-END)的两阶段提交 (开发中) ■ fastpath锁(PostgreSQL合并) 32 Pivotal Confidential–Internal Use Only TPC-B基准测试:环境 基于谷歌云平台(Google0 码力 | 52 页 | 4.48 MB | 1 年前3
Greenplum 排序算法递归排序子序列:递归地将小于基准元素的子序列和大于基准元素的子序列分 别进行排序 快速排序 8 ● 快速排序算法每次选取一个基准元素,将比基准元素小的排到基准元素左边, 比基准元素大的排到基准元素的右边,从而将待排序数组分成两个子集。 快速排序 6 8 3 2 7 1 7 9 8 7 7 9 6 3 2 1 分治法 9 快速排序 ● 快速排序算法: 10 堆排序是最常用的排序算法,由J.Williams在1964年发明。 6 8 20 ● 堆排序算法 堆排序 21 ● 归并排序分为两个阶段,阶段一是分割阶段,将原始待排序数据分成若干个顺 串。阶段二是合并阶段,将所有小顺串合并成一个包含所有数据的大顺串 外排序之归并排序 1 7 4 8 1 7 4 8 1 4 7 8 待排序数据 分割阶段 合并阶段 22 ● 问题一:分割阶段只需要顺序扫描一次外存,最简单的策略是读取外存数据,加 载到内存,当 空内存,继续读取外存数据,如此反复,直到所有外存数据处理完毕。该算法生 成的每一个顺串的大小都不会超过内存的大小,而顺串越小,合并阶段的代价 就越高,需要读取外存的次数也越多,有没有办法在分割阶段就生成大于内存 大小的顺串呢? 归并排序的三个问题 23 替换选择算法 24 Knuth 5.4.1R替换选择算法: ● 1. 初始化阶段,读取输入元组至内存,并建立最小堆。 ● 2. 弹出堆顶元组,输出到顺串文件的缓冲区,并记录该元组的排序键为0 码力 | 52 页 | 2.05 MB | 1 年前3
Greenplum介绍联起来的,外部用户不需要访问这个内部网络的。 Segment 与Segment之间是有网络连接的,所以 Segment之间可以直接交互数据的。 Greenplum默认使用UDP协议,不过我们发现UDP有 时不稳定,我们一般都使用TCP协议。使用TCP协议, greenplum最多1000个segment。 Greenplum中的高可用方案 Segment的mirror 当配置了segment mirror,当segment 用户加入到这个队列中,然后就可以控制: 1. 所有活动的SQL的cost值最多是多少? 2. 活动的SQL最多是多少个 3. 控制活动的SQL的优先级(4.0的新功能) GP的查询处理 用户提交一个SQL到master,master解析这个SQL, 生成一个分布式的执行计划,然后把这个分布式的执行 计划分发到各个segment上,然后segment执行它自己 的特定数据集的本地数据库业务。0 码力 | 38 页 | 655.38 KB | 1 年前3
Greenplum 分布式数据库内核揭秘©2021 VMware, Inc. 8 数据存储分布化是分布式数据库要解决的第一个问题。 通过将海量数据分散到多个节点上,一方面大大降低了单个节点处理的数据量,另一方面也为处理 并行化奠定了基础,两者结合起来可以极大的提高系统的性能。譬如在 100 个节点的集群上,每 个节点仅保存总数据量的 1/100,100 个节点同时并行处理,性能会是单个配置更强节点的几十倍。 Greenplum 不仅仅 如 Text、CSV、Avro、Parquet 等。 多态存储 Confidential │ ©2021 VMware, Inc. 14 多态存储 如上所示,可以根据数据访问频率以及数据量这两个维度来选择不同的存储方式,并且在逻辑上仍 然是同一张表。 15 Confidential │ ©2021 VMware, Inc. Greenplum 分布式查询优化器 Motion Confidential 节点并返回给客户端用户。 分布式查询优化器 l 对于普通查询,只需要将 Segment 上的数据汇总即可,如果有 filter, 则在 segment 上执行条件过滤 l 对于 JOIN,我们需要考虑两张表的分布键以及分 布策略。若分布键和分布策略不同,就需要对数据 进行节点间移动 Confidential │ ©2021 VMware, Inc. 17 由于数据是根据某种分布策略分散的存储在集0 码力 | 31 页 | 3.95 MB | 1 年前3
共 22 条
- 1
- 2
- 3













