Greenplum问题定位及性能调优

d119889b-3805-42d5-975c-d8702f636e57.jpg

《Greenplum走进济南》技术研讨会于7月3日成功举办,我们已经为大家整理了两篇演讲内容(《基于fdw的跨Greenplum集群数据库查询实现》,《基于Greenplum构建下一代数据分析平台》),今天,第三篇演讲内容是由Greenplum中文社区成员阿福带来的Greenplum问题定位与性能调优,相关PPT已上传中文社区网站的下载页面cn.greenplum.org/download,欢迎大家下载获取。


《Greenplum走进全国》系列技术研讨会还在进行中,7月22日,我们将前往星城长沙,欢迎大家报名参加!


作为一名DBA,在实操的过程中,我也积累了一些运维的经验,今天通过这篇文章与大家分享一下,如果大家有任何问题,也欢迎加入我们文章底部的技术讨论群和我们交流。


本文将从两个方面为大家进行介绍,第一个方面是为大家介绍一些应用开发技巧,第二个从DBA的角度来进行一些问题定位和性能调优的经验分享。


一、

应用开发技巧


公司内部通常业务开发团队会配一个DBA,那么在业务开发过程中出现问题时作为开发人员可能会第一时间找到DBA来处理相关问题。这里将通过一些简单的例子介绍,来帮助各位开发人员学会如何解决这些问题,从而来减轻DBA的一些压力。

01

Greenplum架构


首先为大家介绍一下Greenplum数据库的架构。之前也有很多文章专门介绍过Greenplum数据库的架构,具体大家可以参考这篇文章。Greenplum可以被认为是一个完整的黑盒子,提供统一的访问出入口:


  • Greenplum数据库是一款MPP架构的集群,整个集群对应用程序提供统一的访问入库,访问永远只能通过Master节点接入,对客户/应用方来说,Greenplum集群是一个完整的黑盒子,只提供唯一入口;
  • 基于这个概念,应用在做迁移适配时,也不需要做多节点改造,只需要将原来的Oracle/DB2访问串修改为Greenplum Master节点的访问串即可;

71b0de3d-31da-4b8a-9f1d-ff7ed3e1e8c3.png


02

查询计划与数据分布概览


查询计划相对于物理架构图是一个更加逻辑的层面了。这里主要展示了三个概念。

 

  • 执行计划

在做应用开发或者做数据库调优时,首先大家必须要看下图中间的查询计划。它的使用,如果大家对PostgreSQL比较了解会知道会用到explain [analyze]。执行完会看到查询计划的每一步。

 

  • 数据分布


第二个概念就是数据分布。下图中有个简单的例子。这里有两张表,一个是t1表,一个是t2表。每个表都有6条数据,在做数据入库时,由于Greenplum是分布式架构,因此数据会被打散到各个节点均匀分布。下图以3个节点作为例子,如果都以c1列作为分布键的话,数据会均匀分布到3个节点上,每个节点会有2条数据。均匀打散的数据有利于并行查询,例如本地hash join,由于节点间并行执行,会大大提高join的效率。


c4fdef9c-e889-44ae-b1e5-61cefb321f1f.png

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值