获得技术资料内容,请访问Greenplum中文社区网站

2019云栖大会于9月27日在杭州阿里巴巴云栖小镇圆满落幕,三天会议期间,共吸引了200多位世界级科学家、400多家科技合作伙伴参与,科技展区面积超过3万平方米,共发布了1000多项顶尖技术。

在此次云栖大会上,《下一代云数据分析专场》是此次云栖大会最火爆的专场之一,会场站满了参会人员,门口排队入场的人员人头攒动。在专场中,众多数据库专家深入介绍了云端数据分析的技术内幕,带来了基于云构建企业最佳分析架构解决方案的精彩分享,并深入剖析了云分析解决方案的优势和挑战。

Greenplum研发总监,中文社区发起人姚延栋也在此专场发表了演讲《全新的Greenplum 6.0内核优化解读和7.0展望》,并得到了一众好评。

9月4日发布的Greenplum 6.0版本在功能和性能上都有了大幅提升,在并发性上的改进尤为显著,对OLTP型和混合负载业务的支持更为强大,是Greenplum发展的重要里程碑。

姚延栋在云栖大会上发表演讲

6.0 内核新技术

在演讲中,姚延栋先以一个数据库开发者的角度详细解读了6.0内核中的新技术。 内核的第一个重大改进是Greenplum内核的升级。 Greenplum是基于PostgreSQL的MPP数据库。2005年研发之初时其内核版本是PostgreSQL 7,2017年发布的Greenplum 5之前一直是PostgreSQL 8.2版本。2015年Greenplum完成了开源,并启动了内核升级的项目。于2017年9月发布的Greenplum 5.0中,其内核版本已经升级到了8.3。

由于一开始做了大量的重构和清理工作,随后的内核版本升级速度进入了快车道。Greenplum在去年一年就完成了6个大版本的内核升级,集成了来自于PostgreSQL社区的约14000次代码提交,融合了社区近10年来的工作,升级速度惊人。升级到9.3版本仅仅花费2周时间,近期刚刚完成了PostgreSQL 9.5内核的升级工作,9.6的合并工作也已经启动,目前已经完成了约一半的工作。Greenplum的基础(“骨骼”)变得越来越坚实可靠。

第二个内核特性是 TP 查询性能大幅提升, 我们内部在 GCP 上测试TPCB 提升约 70倍。这一重大突破是如何完成的呢?

  • 第一个要素来自于全局死锁检测(GDD),该技术在美国申请了专利,但最终全部开源。老版本上update使用的是表锁,性能较差,通过全局死锁检测技术,降低为行级锁,性能大幅提升。GDD的基本逻辑是收集每个segment锁依赖关系图,在master上重建整个集群的锁依赖关系图,并检测是否有环。具体实现细节可以参考Greenplum中文社区(greenplum.cn)上的设计文档。

  • 第二个要素是通过复制表完成的。复制表即每个segment都有表的全部数据,因而不需要网络数据传输,还可使用索引。

  • 第三个要素是多核锁优化。当通过测试发现高并发时,性能不增反降,然后通过多种方式定位到 procarray 锁的竞争严重。Greenplum中文社区Greenplum.cn 上有一篇文章详细介绍了分析问题,发现原因并解决问题的整个过程。(点击文章底部“阅读原文“阅读,加载较慢,请耐心等待)

  • 第四个要素是事务优化。只读事务不需要分布式快照,也不需要2PC;而单节点查询也可以对两阶段提交进行优化。最后是内核升级,PostgreSQL本身的性能在版本升级的过程中不断提升,Greenplum 通过升级自然继承了所有PostgreSQL升级带来的优势。

第三个内核特性是 Greenplum 6 引入了全新的高可用机制。Greenplum 5是基于我们自研的Filerep技术,Filerep 基于文件块IO,代码侵入大,不易于扩展。而Greenplum 6采用了 PostgreSQL自身的日志流复制技术,网络开销低,代码侵入性低,扩展型好,为将来做 DR、CDC、3副本打下了基础。此外集群管理复杂度也大幅降低。

第四个内核特性是弹性,包括数据弹性分布、计算的弹性; 这两方面在6.0版本中都做好了基础设施。除了弹性,6.0版本中的数据分布策略也更灵活,默认根据数据类型的hash函数计算数据分布。6.0中海支持自定义数据分布策略。
基于这些技术,Greenplum 6.0版本实现了在线扩容,可以做到不停机,不停业务,并且通过一致性哈希,大幅降低数据移动量。

6.0 新亮点特性

接着,姚延栋又从用户的角度分析了Greenplum的新亮点特性。Greenpum作为一个集成处理平台,其功能远远超出了数据仓库。6.0的发布使得Greenplum成为一款企业级的HTAP数据库。

作为一个集成平台,Greenplum具有很好的混合负载处理能力。在6.0中,经测试,TPCB提高了70倍。单点插上,实验环境中,SELECT可达14w/s,INSERT 4.6w, UPDATE 2.4w,这个性能可以满足很多的OLTP场景。Greenplum可以支持结构化数据、半结构化数据、非结构化数据,包括 JSON、KV、Text、GIS、时序、图、图像等。6.0版本对流数据也有很好的支持,包括流式加载,流式处理,和时序数据的分析。

数据量大而性能突出,这是Volume;支持多样化数据类型,这是Variety;支持流式数据处理,这是Velocity。这三点使Greenplum成为了理想的大数据处理系统。不仅仅是传统意义上的3V,Greenplum可以做到大数据量下OLTP性能突出,而这是大部分大数据系统无法做到的。

在对混合负载的支持上,Greenplum还具有其他支撑HTAP的技术,包括多模数据存储、对包括并发度、CPU配额、CPU绑定、内存配额和磁盘配额在内的多种资源管理的支持,并提供了完善的安全特性。这些支持使得Greenplum可以满足用户使用一套系统支持全部AP、TP和流式业务,避免复杂的ETL,维护多种产品,大大提高投入产出比。

世界之美在于多样性。数据处理同样也是。企业会和很多种数据相关技术打交道,这样就需要数据融合、互联互通。通过 Greenplum 的 FDW(外部表)技术可以直接访问包括Oracle、MySQL、PostgreSQL、ElasticSearch、Redis等上百种外部数据源,且不需要数据移动。Greenplum 还开发了 PXF 框架实现对Hadoop生态的支持,目前Greenplum可以并行高效的访问HDFS、Hive、Hbase的数据。数据格式支持Json、Parquet、ORC等。对于 Hive,还支持谓词下推,从而大幅降低数据传输量,降低资源利用率,提高查询性能。

Spark几年来很受关注,Spark 通过JDBC 访问Greenplum效率低下,为此Greenplum开发了高效并行的Spark连接器,并支持谓词下推。对于Kafka,Greenplum开发了 Kafka 连接器,支持exactly once语义,支持并行消息处理、窗口,多种数据类型,和多字节分隔符等。

在和用户沟通时,我们发现大部分用户都忽略了一些已经被SQL支持的高级特性,而花费很多时间自己裸写代码实现这些特性。SQL 标准一直在研发,99年加入了数据立方体、Grouping Sets;2003年加入窗口函数;2016 年加入了JSON。使用这些特性可以极大的提高开发人员效率。

除了传统的数仓, Greenplum 还通过Apache 顶级开源项目 MADLib 实现了对数据库内高级分析的支持。 MADLib 提供了50多种机器学习算法,并为数据科学家提供了很多实用工具,譬如模型交叉验证,工作流等。今年 MADlib 开始支持AI深度学习,集成了Tensorflow、teras 等,利用 GPU 的计算能力执行深度学习任务。
如果MADlib不能满足你的需求,Greenpum还提供了2种方式让用户得以自行进行扩展。 第一种方式是通过Procedure Language(PL), 另一种方式则是为开发人员提供透明的计算能力,首先会支持R,这就是GreenplumR项目。通过这个项目,R程序员可以对 SQL 的结果调用 R 的函数,整个过程对R开发人员透明,同时也可以获得Greenplum提供的强大的并行计算能力。

下面的图片列出了MADLib支持的50多种机器学习算法,涵盖了监督学习,无监督学习等主要流行的算法。此外MADlib还支持 Graph 算法,提供了多个工具函数,数学计算函数,统计函数等。

下图是 Greenplum通过 MADLib 实现深度学习的框架图,通过图片可以看到在每个节点上都可以调用 Tensorflow、keras等进行模型的训练。MADlib 支持两种模型训练方式:1)一种是为每个segment 训练一个模型;2) 为整个集群数据训练单个模型。第二种挑战比较大,今年已经完成实现并发布。

Greenplum在今年也实现了对 K8S的原生支持,使用K8S的技术(譬如 CRD、operator等)可以对Greenplum进行安装、部署、管理。整个操作可一键完成。

7.0 新功能展望

演讲的最后,姚延栋对Greenplum 7.0的新功能进行了展望。用户可以在7.0中期待Greenplum对HTAP、数据融合、高级 SQL特性、高级分析和Kubernetes 更好的支持。内核上,Greenplum也将对PostgreSQL继续合并。

此外,包括容灾,Greenplum联邦( 使得一个Greenplum集群可以高效并行的访问另一个集群中的数据)等众多新功能项目也在研发过程中。最后,用户也可以在7.0中期待更出色的性能,其中物化视图已经完成,向量化正在开发。后续会对并行执行、SIMD、GPU等方向做更多的探索和开发实现。

此次云栖大会上,Greenplum大放异彩,新特性惊喜不断。我们也期待Greenplum为大家持续带来更多的惊喜。

云栖大会人头攒动

云栖大会 | Greenplum 6.0内核优化解读和7.0展望相关推荐

  1. 2017云栖大会门票转让_「揭秘GP」云栖大会 | Greenplum 6.0 内核优化解读和7.0展望...

    9月25日,云栖大会在杭州阿里巴巴云栖小镇正式拉开序幕,三天会议期间,共吸引了200多位世界级科学家.400多家科技合作伙伴参与,科技展区面积超过3万平方米,共发布了1000多项顶尖技术. 云栖大会现 ...

  2. 2019云栖大会精品资料下载

    https://developer.aliyun.com/article/719452?spm=a313p.198.plec.1067371257172&short_name=I3.B6QL& ...

  3. Quick BI v3.0版本全新起航——2018杭州云栖大会

    在9月22日杭州云栖大会云上数据中台专场中,阿里巴巴产品专家陌停跟现场的观众们分享了Quick BI v3.0版本的新体验.新分析和新功能. 作为一个高效数据分析与展现的BI套件,Quick BI通过 ...

  4. 【图文】云栖大会深圳峰会:阿里云ET医疗大脑与工业大脑,机器学习平台PAI2.0...

    阿里云新征程:通往智能之路!正式发布ET工业大脑,ET医疗大脑和机器学习平台PAI2.0,阿里云的目标是成为万物智能化的基础设施和智能引擎! 2017年3月27日至29日,云栖大会于深圳举行.29日为 ...

  5. 云栖大会 | Apache Spark 3.0 和 Koalas 最新进展

    本资料来自2019-09-26在杭州举办的云栖大会的大数据 & AI 峰会分会.议题名称<New Developments in the Open Source Ecosystem: A ...

  6. 阿里云栖大会首日:成立芯片公司“平头哥”,发布城市大脑2.0

    今天,一年一度的云计算峰会--云栖大会在杭州开幕.大会首日,阿里不仅发布了城市大脑2.0,更是宣布成立"平头哥半导体有限公司"开发AI芯片,引起众人关注. 在一年前的云栖大会上,阿 ...

  7. 【全记录】2017云栖大会·北京峰会——企业云上业务优化专场

    作为本年度科技界的压轴大戏,2017云栖大会·北京峰会盛大空前, 30+主题论坛.深度技术解读.行业前沿实践分享以及创新互动体验让来到现场的朋友们印象深刻.本次峰会中,由阿里云客户服务部主办的 &qu ...

  8. 马云老师开讲新制造,成立平头哥芯片公司,发布城市大脑V2.0,阿里云栖大会重磅发布!...

    杭州西湖,云栖小镇,主题为"驱动数字中国"的2018杭州•云栖大会今天正式开幕. 2016年云栖大会,马云首次提出"五新"战略(新零售.新金融.新制造.新技术. ...

  9. 重磅干货不容错过!2017云栖大会汇总资料,速来领取!

    原文链接:点击打开链接 摘要: 2017云栖大会圆满结束!云栖大会由阿里巴巴集团主办,已经成为全球云计算TOP级峰会,汇聚DT时代最强大脑,描绘云计算发展趋势和蓝图,展现云计算.大数据.人工智能蓬勃发 ...

  10. 好东西来了!2017云栖大会400+份重磅资料下载

    上个月在杭州举行的云栖大会广州云栖大会正在报名中吸引了全球67个国家和地区近6万人现场参会1500万人在线观看.有140多场技术主题论坛共计800多个主题分享涵盖人工智能.金融科技.量子计算.生命科学 ...

最新文章

  1. Oracle 触发器 Update 不能操作本表的疑问
  2. 七牛云中带前缀的路径斜杆是怎么写的_关于小程序上传图片到七牛的总结
  3. 准备入门IC的全局观念系列-中
  4. JS 操作cookie
  5. 理论基础 —— 索引 —— 分块索引
  6. 【WPF】一个类似于QQ面板的GroupShelf控件
  7. 1235813找规律第100个数_每日一课:奥数知识点 —— 找简单数列的规律
  8. Photoshop隐藏的4个彩蛋
  9. Asp.net自定义控件开发任我行(附1)-属性一览众山小
  10. 2022短视频去水印小程序带流量主/CPS/资源/工具/批量解析/修改MD5
  11. MySQL基础(学习笔记)
  12. vs 2010 专业版 密钥
  13. matlab画伯德图(带谐振点和-3dB带宽)
  14. Antd Form Upload 报fileList错误-解决方案
  15. 前端如何使用mock模拟接口数据
  16. 哈尔滨学计算机编程学校,哈尔滨中小学生编程学校排名
  17. windows远程连接Ubuntu16.04桌面版,有界面链接和无界面链接两种方式
  18. 通达信VCP形态选股公式,憋了好几天才写出来
  19. 本科生毕业论文设计-论文总体-论文格式-查重经历
  20. 串行FLASH文件系统FatFs---转自野火论坛

热门文章

  1. word公式编辑器输入斜体
  2. 计算机是什么信号转换为什么信号,模拟信号转化为数字信号的原理是什么
  3. 网络管理-Pageadmin CMS构建企业网站的方法
  4. 使用命令代码清除系统垃圾文件
  5. DMP文件转CSV文件
  6. ubuntu下破解rar文件的密码
  7. ▲什么是类?类有什么作用?
  8. win8 专业版激活方法
  9. Spring Security 官方文档学习路径
  10. 泛微OA流程action 之 ACTION 封装