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

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

5e9869e333d9e1f1021124516fd8759b.png

云栖大会现场

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

7109b4d478e47c6d6b2a0f158ea57bb1.png

《下一代云数据分析专场》 现场

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

ce4df421548d5786e6e1edcda35529d6.png

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

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

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

4c4078b87cad62eb01b158bb87b128b3.png

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

816ade8675fae57014716b2a294f3587.png

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

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

第二个要素是通过复制表完成的。复制表即每个segment都有表的全部数据,因而不需要网络数据传输,还可使用索引。第三个要素是多核锁优化。当通过测试发现高并发时,性能不增反降,然后通过多种方式定位到 procarray 锁的竞争严重。Greenplum 中文社区( greenplum.cn)上有一篇文章详细介绍了分析问题,发现原因并解决问题的整个过程。第四个要素是事务优化。只读事务不需要分布式快照,也不需要2PC; 而单节点查询也可以对两阶段提交进行优化。最后是内核升级,PostgreSQL 本身的性能在版本升级的过程中不断提升,Greenplum 通过升级自然继承了所有 PostgreSQL 升级带来的优势。

889bbd18a758fadefe2d73eb671dbcac.png

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

182c4b31940a6a5dd7867a422ca5e1dc.png

第四个内核特性是弹性,包括数据弹性分布、计算的弹性;这两方面在 6.0 版本中都做好了基础设施。除了弹性,6.0 版本中的数据分布策略也更灵活,默认根据数据类型的 hash 函数计算数据分布。6.0 中海支持自定义数据分布策略。

基于这些技术,Greenplum 6.0 版本实现了在线扩容,可以做到不停机,不停业务,并且通过一致性哈希,大幅降低数据移动量。

e6447647618973d928cbc881e65579d1.png

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

c512ffdd5fc6a8575f90409a5ae0982f.png

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

fe50c7607fd4f641efef6a8c9ef08b05.png

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

0dfc5eced5121c6184bd1bcef3654940.png

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

a9decde16210e74a40fafad8e5fb48d3.png

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

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

a233d4a967d2f9cfe281a216b2cfddc0.png

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

7bc464c1e7ff7edb621ca99175429cfc.png

除了传统的数仓, Greenplum 还通过 Apache 顶级开源项目 MADLib 实现了对数据库内高级分析的支持。MADLib 提供了50多种机器学习算法,并为数据科学家提供了很多实用工具,譬如模型交叉验证,工作流等。今年 madlib 开始支持AI深度学习,集成了 Tensorflow、teras 等,利用 GPU 的计算能力执行深度学习任务。

如果madlib不能满足你的需求,Greenpum 还提供了2种方式让用户得以自行进行扩展。第一种方式是通过 Procedure Language(PL), 另一种方式则是为开发人员提供透明的计算能力,首先会支持R,这就是 GreenplumR 项目。 通过这个项目,R程序员可以对 SQL 的结果调用 R 的函数,整个过程对R开发人员透明,同时也可以获得Greenplum提供的强大的并行计算能力。

5ad2ff88a4569212dbbf0cca0f08b593.png

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

d228939ff28392516de99b6de0b86abb.png

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

8893f1a9d5fd5baed3d38ed68e06f179.png

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

4cee1416a34335f40c28f0d4ab737e91.png

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

09062a3b3d34c4b4a47214a0f0fc1d72.png

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

114ae8b889d1031c6e826a060af253dd.png

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

4d5d8032747b921f6d2fd4c885ab8460.png

云栖大会人头攒动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从mysql到大数据(一)--开宗明义

一、大数据长什么样 长像很普通,至少看两眼后就觉得很平常。 举个栗子: 一个表格,学生信息表,里面有学号、姓名、性别、年龄、学校、学院、专业、年级、宿舍号等信息如下, 但是表在库里,我们想看&#xf…

SSO单点登录方案大全

分布式微服务系统主流常用的登录方案 前言: 单点登录其实是一个概念,主要是为了解决一次登录,多系统(本系统或外部系统)之间不需要重复登录的问题,就目前来说,主流的解决方案针对业务场景分为3个方向: 1: 同一公司,同父域下的单点登录解决方案. 如[http://map.baidu.com][[h…

em算法怎么对应原有分类_机器学习基础-EM算法

EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等。本文就对EM算法的原理做一个总结。EM算法要解决的问题我们经常会…

postman插件下载、安装教程

这里只讲如何在Chrome 中安装postman插件 下载链接:https://pan.baidu.com/s/1vampHeD0UiDNbrB3G8j_hA 提取码:wqdl 方法/步骤 1.在Chrome输入地址:[chrome://extensions/] 2.将压缩包直接拖拽至Chrome中 3.运行在Chrome输入地址&#xff…

得力条码扫描器怎么用_广东智能物流控制系统怎么选

广东智能物流控制系统怎么选,东莞智库,东莞智库(SmartWarehouse),专注电子制造SMT智能仓库,致力于帮助电子制造企业提高物流仓储效率和效能。广东智能物流控制系统怎么选, 旭日东自动分拣系统是个集机械、电气、计算机…

从mysql到大数据(三)--mysql数据库建模一常用数据类型及引擎

数据库的安装请自行百度。如果你想直捣黄龙练查询,没有表没有数据是不能实现的。我们从建表开始学习。但要知道,我们所有东西都是了解,学习不要有压力,不要必须要求记什么,当然,如果你不累可以记&#xff0…

Postman用法简介-Http请求模拟工具

Postman用法简介-Http请求模拟工具 在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力的Http请求模拟工具,现在流行的这种工具也…

matlab多元函数_函数的计算机处理8(1)_1MATLAB

计算机语言运用--数值计算8-函数的计算机处理8(1)_1MATLAB计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。计算机语言有低级语言-机器语言、汇编、高级语言-C/C/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千种之多。 作…

java 怎么通过url获取远程服务器上某个文件夹下的所有文件_JMX远程代码漏洞研究...

前言:前一段时间apace solr JMX因为配置不当出现远程代码执行漏洞,最近自己在看一套java系统时,发现该系统也存在JMX远程代码漏洞,于是乎就想研究下JMX这种通用型漏洞,下面我就从原理到利用对该漏洞做一个简单的梳理。…

app每秒并发数_性能测试连载 (38) jmeter 线程数与性能测试的负载模式

点击跳转>>jmeter--由浅入深学性能系列需求下面有3个场景,思考一下在jmeter里面如何设计场景1:有一个项目,500用户同时登录,响应时间能达到多少场景2:考勤打卡,最大吞吐量能达到多少(每秒最大能完成多…

用自定义注解做点什么——自定义注解有什么用

用自定义注解做点什么 前言 你不一定听过注解,但你一定对Override不陌生。 当我们重写父类方法的时候我们就看到了Override。我们知道它表示父类方法被子类重写了。 现在告诉你,Override就是一个注解。 也许你会疑惑注解是什么? 注解&…

c++ 查找文件夹下最新创建的文件_云计算开发总结:搜索Linux文件和文件夹的方法...

当下,随着Linux在物联网、云技术、超级计算和人工智能等领域扮演关键角色,各种会议和新版本的发布令人应接不暇,Linux将迎来一个激动人心的“云时代”。如果你想把握这个风口,现在是学习Linux技术的最佳时期。今天千锋广州云计算培…

RSA 非对称加密原理

RSA 加密原理 步骤说明描述备注1找出质数P 、Q-2计算公共模数N P * Q-3欧拉函数φ(N) (P-1)(Q-1)-4计算公钥E1 < E < φ(N)E的取值必须是整数 E 和 φ(N) 必须是互质数5计算私钥DE * D % φ(N) 1-6加密C &#xff1d; M E mod NC&#xff1a;密文 M&#xff1a;明文7…

浅谈对称加密与非对称加密

在数字加密算法中&#xff0c;通过可划分为对称加密和非对称加密。 一&#xff1a;什么是对称加密&#xff1f; 在对称加密算法中&#xff0c;加密和解密使用的是同一把钥匙&#xff0c;即&#xff1a;使用相同的密匙对同一密码进行加密和解密&#xff1b; 加密过程如下&…

ios跨线程通知_一种基于Metal、Vulkan多线程渲染能力的渲染架构

快手Y-tech 原创最新技术干货分享随着3D渲染场景规模越来越复杂&#xff0c;单线程渲染架构在满足业务性能要求时已经捉襟见肘&#xff0c;因此&#xff0c;多线程渲染显得愈发重要。本文首先介绍了新一代图形渲染接口Metal、Vulkan&#xff0c;以及它们的多线程渲染特性&…

58同城面试盘点

58同城面试盘点 1.一张订单表&#xff0c;有user_name,order_id,order_time,order_amount 四个字段&#xff0c;怎么取出每个用户2021年10月以来第一个订单的金额&#xff08;下单时间格式为’yyyy-MM-dd HH:mm:ss’&#xff09;&#xff1f; select user_name,order_id,orde…

stringbuffer判断是否为空

StringBuffer sbnew StringBuffer();if(sb!null && sb.length()>0){System.out.println("证明sb不为空!"); }

virtualbox: win11主机安装deepin双向复制问题

virtualbox: win11主机安装deepin双向复制问题1.安装virtualbox增强组件(确保光驱可用)2.终端挂载3. 运行BoxLinuxAdditions4. 重启虚拟机&#xff0c;验证OK&#xff01;使用virtualbox安装深度系统deepin虚拟&#xff0c;发现虚拟机和宿主机之间不能双向复制&#xff0c;已经…

基坑监测日报模板_刚刚!温州瓯海突发塌陷,初步判断为临近地块地下室基坑支护桩移位...

资料来源&#xff1a;瓯海新闻网 | 温州百事通 | 土木吧 | 岩土新鲜事 等版权归原作者所有如有侵权请联系删除9月10日中午11点左右&#xff0c;温州市瓯海区娄桥街道商汇路道路塌陷。塌陷路面位于商汇路的公交车站旁&#xff0c;几十米长的路面已经开裂&#xff0c;公交站台发生…

java 从一个总的list集合中,去掉指定的集合元素,得到新的集合——removeAll()

/*** 两个list集合的差集* author*/ public class ListSubstract {public static void main(String[] args) {List<String> list new ArrayList<>();//作为总的listList<String> existList new ArrayList<>();//存在的listlist.add("aa");…