看! 2020 PG亚洲大会上的Greenplum

2020年11月17日-20日, PostgresConf.CN & PGconf.Asia2020大会(简称2020 PG亚洲大会)通过线上盛大召开!PostgresConf是面向全球PostgreSQL开发者和使用者的年度盛会。本届大会以“生而全球”为主题,吸引了来自全球的PostgreSQL社区的核心成员及使用PostgreSQL的企业用户、个人用户。大会共凝聚112场次技术报告,共计一百余名国内外知名专家、学者,共同打造了一场技术的饕餮盛宴。

Greenplum是一款基于PostgreSQL内核的开源分布式MPP数据库,针对大数据场景和用户需求开发了众多优秀特性和极致优化。Greenplum一直紧密拥抱Postgres社区,以敏捷的方式快速升级Postgres内核,并于9月22日,花费半年多跨越三个大版本。完成了9.6到12的内核升级。

此外,Greenplum团队也一直积极参与Postgres社区的全球活动。每一年,全球各地的PGConf上都能看到Greenplum讲师的身影。 本次PGConf Asia活动中,Greenplum团队共贡献了4个优质演讲内容,为大会提供了生态、产品、技术、实践全方位干货内容 ,本文将带领大家回顾这四个技术干货内容,相关PPT均已上传Greenplum中文社区下载页面,视频均已上传Greenplum中文社区B站频道,欢迎获取。

演讲主题 一:Greenplum的开源之旅–生态使命和社区领导力

讲师:Greenplum 中国创始人兼GM 冯雷 

自2015年正式宣布开源以来,Greenplum一直在开源生态的打造上不断的探索。冯雷在本次演讲中从Greenplum的发展历程入手,为大家解析了Greenplum在数字化生态中如何定位自己,介绍了Greenplum的生态使命和前进方向,并回顾了Greenplum是如何和社区小伙伴共同建立社区领导力的。

点击观看演讲视频👇 https://www.bilibili.com/video/BV1PK4y177dd/

演讲主题 二:Greenplum的PG内核升级之路

讲师:Greenplum 资深工程师 李晓亮

Greenplum内核在近几年从PostgreSQL 8.2一步步升级至PostgreSQL 12,在PostgreSQL的诸多fork中罕见地持续与上游集成并保持活力,这中间有很多有趣和值得借鉴的故事。李晓亮在演讲中介绍了Greenplum是如何做内核升级的,其中的挑战和解决方法,以及目前的状态和计划。

演讲大纲:

  1. Greenplum简介
  2. PG内核版本变化
  3. Greenplum如何升级PG内核
  4. PG内核升级过程中的挑战
  5. 目前PG内核升级迭代的进展

点击观看演讲视频👇 https://www.bilibili.com/video/BV1ip4y1r7aL/

演讲主题 三:Greenplum的分布式锁及其相关的一切

讲师:Greenplum 资深工程师 吕正华

Greenplum是基于Postgres的MPP数据库,为无共享的单Master架构。Master节点负责管理Catalog和查询计划生成。解析执行SQL的过程中,Master节点在并发控制方面起到至关重要的作用。

锁首先会在Master上获取,然后再分发到Segment上,并发度直接由Master的锁模式控制。设计不好锁模式,容易引发分布式死锁或局部死锁。Greenplum 6引入一些锁模式的规则,以及设计了分布式死锁检测模块,极大的提升了系统的OLTP性能,也探索解决了一系列MPP数据库中的问题,如row locks,更新分布键,更新冲突和分区表的锁问题。这是本次演讲最重要的部分。

同时,Greenplum用MVCC控制事务并发。为保证分布式环境的强一致性,Greenplum实现了分布式事务和分布式快照。分布式快照在Master上构建,并下发给Segment。当分布式快照和锁等候结合在一起,很容易出错。Greenplum设计了相应的准则,保证了正确性。这部分演讲讨论Greenplum在这部分的经验。

演讲大纲:

  1. Greenplum架构简介
  2. Greenplum中的锁
  3. 死锁问题和全局死锁检测
  4. 降锁后的各类问题

点击观看演讲视频👇 https://www.bilibili.com/video/BV1vZ4y1G7fy/

演讲主题 四:Brin Index在Append Only Table中的实现

讲师:Greenplum 资深工程师 陈金豹

陈金豹在演讲中为大家介绍了如何在Append Only Table中实现Brin Index。

演讲首先简单介绍了Greenplum中的Append Only Table的实现原理,在读写特性上与Heap Table的不同,以及MVCC和垃圾清理机制的区别。然后概述了Brin Index的原理以及应用场景。并在第三部分中介绍了在Append Only Table上实现Brin Index的困难和完整的解决方案。最后为大家讲解了Append Only Table上Brin Index的性能特性和测试结果。

演讲的大纲:

  1. Append Only Table简介
  2. Brin Index简介
  3. Brin Index on Append Only Table的实现原理
  4. 性能特性描述和测试结果

点击观看演讲视频👇 https://www.bilibili.com/video/BV12V411a7A5/

关注微信公众号

VMware 中国研发中心