多年DBA实战经验:Greenplum数据库优化技巧与实践

本文深入探讨Greenplum的MPP架构,解释其相对于SMP和NUMA架构的优势。Greenplum通过分布式并行处理提高查询效率,支持GIS和机器学习功能。文章还介绍了数据分布、多级分区、行/列存储和数据Shuffle等关键特性,以及优化技巧和性能瓶颈分析方法。
摘要由CSDN通过智能技术生成

188389b7-d643-4a2d-b47e-83c777b5c708.jpg



熟悉Greenplum的小伙伴都知道,Greenplum是一款分布式数据库。MPP架构相较于传统的SMP架构更能快速响应分析型应用的需求。利用MPP架构的优势,Greenplum可以处理海量数据。2021数据库大咖讲坛第6期《数据库性能优化技巧与最佳实践》活动中,来自Greenplum中文社区的阿福(苑泽福)发表演讲《Greenplum数据库优化技巧与实践》。下面让我们通过本篇文章回顾一下精华内容。


本篇内容主要包括三个部分,从架构入手,延伸到Greenplum的功能特点,针对不同的功能特点提出针对性优化思路,并结合案例帮助大家快速了解Greenplum性能提升的窍门。
  • Greenplum架构解析

  • Greenplum重点功能

  • Greenplum优化要点


一、

Greenplum架构解析


从系统架构说起


主流的系统架构主要有三类:对称多处理结构(SMP),非一致存储访问结构(NUMA)和海量并行处理架构(MPP)。其对应的特点与不足分别如下:


  • SMP:

较为典型的包括Oracle、MySQL等


特点:

存储,包括CPU、内存和IO都是共享的。在一台机器就能支撑起整个网站的Web时代,SMP架构是非常流行的,足以支撑前端业务。


不足:

扩展能力有限。随着业务的扩大,数据量的增长,在业务场景上就有了很大的限制。


  • NUMA

特点:

拥有多个CPU模块,每个模块由多个CPU组成,有独立的本地内存;节点之间通过互联模块进行连接和信息交互,较好解决SMP系统的扩展问题。


不足:

互联模块访问效率和本地内存访问不在一个效率层级,系统性能无法随着CPU数线性增加。


  • MPP

这个是我们今天要讲解的重点,也是Greenplum的架构。


特点:

MPP是采用SMP组成的多个服务器,多个服务器共同完成任务。在硬件使用上可以发挥SMP架构的优势,多节点并行处理时,内存、CPU、网络、IO、磁盘均不共享,即Share-Nothing架构,每个节点只访问本地内存和存储,节点信息交互和节点本身是并行处理的。所有数据节点角色一样,可以提升并行计算能力。


不足:

MPP架构也存在一些不足,如果多台服务器在进行并行处理时,如果有一台服务器出现部分性能下降,会影响到整个MPP集群的性能,即木桶的短板效应。MPP架构集群规模不能过大,不能像Hadoop那样,几千个集群同时运行某个查询逻辑。此外,并发度不能过高。MPP架构正常情况下都是进行两阶段事务提交的,需要有一个事务汇总和底层事务查询的过程,如果并发过高,资源损耗会过大,会影响到整体系统的响应。

 

不同的系统架构有其擅长的应用场景,很难说某个架构更好,在其擅长的应用场景下,都可以发挥其优势。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值