大发快乐8_大发快乐8官网

Greenplum深度优化技巧

时间:2020-01-15 09:58:12 出处:大发快乐8_大发快乐8官网

在我看来,Greenplum的优势在于原来的几点:首先,Greenplum使用了MPP的架构,除此之外,它还使用了列存和压缩。列存和压缩在现在看来是比较普通的技术,以后人太好像IBM的DB2数据库也才在近几年支持了列存和压缩技术,而Greenplum从很早就支持了什么技术,什么技术的在性能上会有很大的优势。以后Greenplum不仅并能支持错综复杂的SQL,以后它的查询优化器能力也大大超出预期。Greenplum产品性能的定位是在秒级不可能 小于秒级并能实现对于错综复杂查询的响应,Greenplum执行器的性能人太好是来自多年来Postgre的积淀,要远远超过或多或少的外理方案。另外Greenplum使用的是本地高效存储和高速网络,当然最好是万兆网络,还有预置稳定资源,不需要突然经常出现性能的波动,简单而言本来Greenplum能并能高效地外理大数据分析的需求。

列存与压缩原理举例

再举另有一另另一个SQL励志的话 的例子:Select count(*) from customer where status = valid group by city

对于这条励志的话 ,DBA在对像MySQL原来的传统的数据库进行优化的原来,不可能 会选泽使用索引。以后人太好或多或少情况表下使用索引是不恰当的,使用索引只有够过滤20%左右的数据,而增加的性能开销却是很大的,什么都不应该使用索引。

本次的分享将主要对云上的Greenplum进行介绍。有的同学往往有或多或少什么的问题本来Greenplum产品有什么优势?为社 在么在要使用Greenplum?Greenplum能外理什么什么的问题?在今天的分享中也将探讨这哪几个什么的问题。最后都会提到或多或少阿里云Greenplum小组所做的工作。

列存土方法则不可能 把status单独存储在另有一另另一个列存块,经过压缩原来,占用的存储空间也会大大降低,一齐并能并能单独对status数据取出并进行外理。人太好在或多或少情况表下列存近似等于开销极小的索引,以后速率非常高。

二、ApsaraDB for GP 内核定制

接下来分享阿里云在Greenplum上做的或多或少优化工作。在阿里云ApsaraDB for GP下发中,子节点分散地存储在不同的物理机上方,每另有一另另一个不可能 是16个子节点为一组。对于子节点组采取了资源限制,以后组内节点之间能并能弹性共享资源,原来就降低资源倾斜造成的影响,也便于管理,一齐段点之间使用万兆网络进行数据传输。

以下内容根据演讲PPT以及现场分享下发而成。

而Greenplum则采取多核进行计算外理,比方在扫描数据的原来不可能 采用多个tcp连接,多个CPU去外理,在Hash的原来也会使用多个CPU,原来速率就会变慢。当数据量不多,多到另有一另另一个机器外理不了的原来,就还要MPP了。什么都Greenplum使用MPP架构外理了对于大数据量的什么的问题,对于同样的十根绳子 SQL励志的话 ,Greenplum不可能 启动多个实例和tcp连接去做同样的事情,执行同样的流程,以后外理的是不同的数据分片,没法就实现了多机器的查询计算,这也本来Greenplum的最核心能力,也是与传统数据库不同之处。

三、未来规划

谈到未来规划,第或多或少本来还要要满足客户需求。另外还要继续对于列存进行优化,希望在未来并能在或多或少场景下将性能进一步提高。对于CPU优化方面,另一个人希望在未来能对GP执行器的静态编译进行进一步优化。最后另一个人希望与Greenplum厂商、用户和开发者一齐为Greenplum社区的发展贡献力量,一齐推动Greenplum的发展。

ApsaraDB for GP VS AWS Redshift

在亚马逊上有一款卖的非常好的产品,名字叫“Redshift”,它被称为亚马逊“有史以来卖的最好的云服务”,人太好ApsaraDB for GP在功能上与Redshift很像,以后ApsaraDB for GP有什么都Redshift不具备的底部形态。

Greenplum VS Hadoop

Greenplum的Orca优化器,使得其在响应时间上比Hadoop的离线计算产品性能更加优秀。

Greenplum的 SQL Runtime是从Postgre几十年的沉淀演变来的,以后是由C语言构建的,比Hadoop的SQL Runtime速率高什么都。还有Greenplum使用的是本地存储,而Hadoop使用的则是分布式存储。什么都总体来看,Greenplum的性能不并能达到Hadoop的5-30倍。

在使用ApsaraDB for GP产品时,推荐使用ECS VPC的架构。架构搭建完成原来的另有一另另一个什么的问题本来:如何将ECS上的数据导入到ApsaraDB for GP进行分析呢?人太好能并能通过写tcp连接的土方法将数据导入到主节点上,并能并能使用EMR图去主动地抓取并分析数据。EMR与OSS结合得非常好,将数据存倒入OSS上原来,能并能通过执行SQL励志的话 使得所有的子节点并发地拉取数据。当然并能并能通过应用服务器直接将数据不可能 日志上传到OSS上方去,对于或多或少的阿里云服务可也以通过阿里云CDB服务将数据定向迁移到OSS上方,再通过Greenplum进行数据拉取,进而使用可视化工具对数据进行分析。

本次的分享主要分为另有一另另一个方面:

一、ApsaraDB for GP的定位

二、ApsaraDB for GP内核定制

三、未来规划

以后Greenplum支持将或多或少语法作为插件提供,什么都原来插件目前不可能 提交开源社区,变慢另一个人就能并能用到了。以后未来ApsaraDB for GP不可能 完善对于JSON的支持,不可能 社区动作较慢,另一个人会考虑在阿里云此人 的产品中优先支持。而对于OOM的好难提前监控的什么的问题,阿里云采取的土方法本来利用內部脚本监控cgroup中的内存统计,处于内存水位较高时,将实例移入公共cgroup,一齐发出cancel query信号给内核;当水位下降时移回实例的cgroup。

MPP架构外理举例

举另有一另另一个例子:Select count(*) from customer group by city

这是十根绳子 很简单的SQL励志的话 ,比方是在数据库中按照城市分组查询每个城市的用户数量。

对比MySQL的执行过程来看,首先MySQL数据库会对所有的数据记录进行扫描,对用户按照城市进行分组,以后对于每组用户的数量进行统计,最后将结果返回给用户。对于1亿条记录而言,这时即使IO不突然经常出现什么的问题,没法机器的CPU也会被占满。对于MySQL而言,原来的另有一另另一个简单SQL励志的话 就能并能使机器的CPU占用率达到30%,以后原来执行的速率也是非常慢的。

一、ApsaraDB for GP的定位

首先提出另有一另另一个什么的问题:Greenplum的优势是什么?它能外理什么什么的问题?

阿里云的Greenplum产品叫做ApsaraDB for GP,另一个人给或多或少产品的定位只有另有一另另一个字:性能,也本来阿里云的ApsaraDB for GP在性能方面一定要比或多或少的分析性的数据库外理方案更高。

原来架构的另有一另另一个优点是支持OSS內部表读写,能并能在OSS內部创建一张表,使用简单的SQL励志的话 就能并能将数据导入到Greenplum的子节点上,一齐并能并能很简单地将数据从Greenplum导回到OSS。简而言之,本来需要OSS充当数据存储中心,让Greenplum作为数据分析中心。

热门

热门标签