试试这款 Mpp 数据库吧! Spark查问太慢

  • 电脑网络维修
  • 2024-11-15

一、Greenplum数据库架构

Greenplum数据库是典型的主从架构,一个Greenplum集群通常由一个Master节点、一个StandbyMaster节点以及多个Segment实例组成,节点之间经过高速网络互连,如下图所示。StandbyMaster节点为Master节点提供高可用允许,MirrorSegment实例为Segment实例提供高可用允许。当Master节点发生缺点时,数据库治理系统可以极速切换到StandbyMaster节点继续提供服务。

从软件的角度看,Greenplum数据库由Master节点、Segment实例和Interconnect组件三局部组成,各个配置模块在系统中承载不同的角色。

Master节点是Greenplum数据库的主节点,也是数据库的入口,关键担任接纳用户的SQL恳求,将其生成并行查问方案并提升,而后将查问方案调配给一切的Segment实例启动处置,协调集群的各个Segment实例依照查问计参差步一步地并行处置,最后失掉Segment实例的计算结果并汇总后前往给客户端。

从用户的角度看Greenplum集群,看到的只是Master节点,毋庸关心集群外部机制,一切的并行处置都是在Master节点控制下智能成功的。Master节点普通只存储系统数据,不存储用户数据。为了提高系统可用性,我们通常会在Greenplum集群的最后一个数据节点上参与一个StandbyMaster节点。

Segment是Greenplum实践存储数据和启动数据读取计算的节点,每个Segment都可以视为一个独立的PostgreSQL实例,上方寄存着一局部用户数据,同时介入SQL口头上班。GreenplumDatanode通常是指Segment实例所在的主机,用户可以依据Datanode的CPU数、内存大小、网络宽带等来确定其上方的Segment实例个数。官网倡导一个Datanode上方部署2~8个Segment实例。Segment实例越多,单个实例上方的数据越少(平均调配的状况下),单个Datanode的资源经常使用越充沛,查问口头速度就越快。Datanode主机的数量依据集群的数据量来确定,最大可以允许上千台。另外,为了提高数据的安保性,我们有时刻会在消费环境中创立MirrorSegment实例作为备份镜像。

Interconnect是Master节点与Segment实例、Segment实例与Segment实例之间启动数据传输的组件,它基于千兆交流机或许万兆交流机成功数据在节点之间的高速传输。自动状况下,Interconnect组件经常使用UDP在集群网络节点之间传输数据,由于UDP不可保障服务品质,所以Interconnect组件在运行层成功了数据包验证配置,从而到达和TCP一样的牢靠性。

Greenplum口头查问语句的环节如下:当GPServer收到用户动员的查问语句时,会对查问语句启动编译、提升等操作,生成并行口头方案,散发给Segment实例口头;Segment实例经过Interconnect组件和Master节点、其余Segment实例交流数据,而后口头查问语句,口头终了后,会将数据发回给Master节点,最后Master节点汇总前往的数据并将其反应给查问终端。

二、Greenplum的长处

首先,与传统数据库相比,Greenplum作为散布式数据库,自身具有高性能长处。对各行各业来说,OLTP系统最关键的是在保障ACID事务治理属性的前提下满足业务的并发需求,关于大少数非外围运行场景,MySQL、SQLServer、DB2、Oracle都可以满足系统要求,并且随着MySQL性能的提升和云原生数据库的开展,基于MySQL或许PostgreSQL商业化的数据库会越来越遍及。数据中台的定位是一个OLAP系统,上述数据库就很难满足海量数据并发查问的要求了。上述数据库的横向裁减才干有限,并且软配件老本高昂,不适宜作为OLAP系统的数据库。Greenplum作为一款基于MPP架构的数据库,具有开源、易于裁减、高查问性能的特点,性价比碾压DB2、Oracle、Teradata等传统数据库。

其次,Greenplum作为散布式数据库,和同为散布式数据库的Hive相比,长处也十分显著。早期Hadoop的无形式数据曾经让开发者饱受痛苦,前面兴起的Hive、Presto、SparkSQL只管允许繁难的SQL,然而查问性能依然是分钟级别的,很难满足OLAP的实时剖析需求。前期虽有Impala+Kudu,然而查问性能依然弱于同为MPP架构的Greenplum。除此之外,Hadoop生态圈十分复杂,装置和保养的上班量都很大,没有专业的运维团队很难撑持系统运转。而Greenplum允许的SQL规范最片面,查问性能在毫秒级,不只能很好地允许数据ETL处置和OLAP查问,还允许增删改等操作,是一款综合实力十分强的数据库。相关于Hadoop多个组件组成的庞大系统,Greenplum数据库在易用性、牢靠性、稳固性、开发效率等方面都有十分显著的长处。

最后,Greenplum作为MPP数据库中的一员,相关于其余MPP架构数据库,也具有十分显著的长处。Greenplum研发历史长、运行范围广、开源稳固、生态系统完善。生态系统完善是指Greenplum的工具箱十分多:GPload可满足高速加载需求,PXF可满足外置表和文件存储需求,MADlib可满足数据开掘需求,GPCC可满足系统监控运维需求。相关于TiDB、TBase、GaussDB等新兴数据库来说,Greenplum的运行案例最多,生态系统最完善,并且Bug更少。同时,TiDB、TBase、GaussDB等数据库都定位于优先满足OLTP的同时提高OLAP的性能,而Greenplum是以OLAP优先的。只管前者也有长处,然而将OLAP和OLTP兼并成功起来存在以下艰巨:数据散布在不同的系统曾经是行业事实,没有方法将数据集中到同一个数据库;数据中台自然就是一个OLAP系统,没有方法依照OLTP形式设计。综上,作为散布式相关型数据库,Greenplum是搭建数据中台的首选数据库。

如下图是阿里巴巴大数据平台退化历程。2010年前后,阿里巴巴曾经经常使用Greenplum来交流Oracle集群,将其作为数据剖析平台。从数量上说,Greenplum在2010年成功了Oracle10倍数据量的治理,即1000TB。但Oracle的架构这些年没有太大变动,而Greenplum数据库已有天翻地覆的改造。在阿里巴巴运行的时代,Greenplum还是EMC旗下的商用数据库,平台尚在发育期,配置也不太完善。而如今的Greenplum曾经是社区开源的产品,内核PostgreSQL也已成功了多个版本的更新迭代,如今更是微微松松允许上千台主机的集群,因此承载PB级的数据自不在话下。

关于大少数有构建数据中台需求的企业,1000TB曾经是一个不可企及的高度。大少数据企业的数据都在数TB到100TB的范围内,这个规模的数据正是Greenplum的关键战场。100TB以下规模的数据仓库或许数据中台,Hive施展不了架构上的长处,反而影响开发速度和运维上班,真实是得失相当。

在查问性能方面,Greenplum自然不是第一,只管业界尚无定论,然而据笔者了解,目前ClickHouse是当之有愧的OLAP冠军。相关于ClickHouse,Greenplum胜在高性能的GPload插件、弱小的ETL配置、不算太弱的增删改性能。目前,数据中台在稳步向实时流处置迈进,由于不长于单条更新和删除,因此ClickHouse只适宜口头离线数据查问义务,可以作为超大规模数据中台的OLAP查问引擎。

综上所述,只管Greenplum某些方面不是最低劣的,但仍是最适宜搭建数据中台的散布式数据平台,并且以Greenplum现有的性能和治理的数据规模,可以满足绝大少数中小企业的数据中台需求。

三、Greenplum性能测试

gpcheckperf是Greenplum数据库自带的性能测试工具,在指定的主机上启动会话并启动以下性能测试。

1)磁盘I/O测试(dd测试):测试逻辑磁盘或文件系统的顺序吞吐性能,该工具经常使用dd命令。dd命令是一个规范的UNIX工具,记载了在磁盘上读写一个大文件须要破费的期间,以MB/s为单位计算磁盘I/O性能。自动状况下,用于测试的文件尺寸依照主机上随机访问内存(RAM)的两倍计算。这样确保了测试是真正地测试磁盘I/O而不是经常使用内存缓存。

2)内存带宽测试:为了测试内存带宽,该工具经常使用STREAM基准程序来测量可继续的内存带宽(以MB/s为单位)。本项测试内容是测验操作系统在不触及CPU计算性能的状况下能否受系统内存带宽的限度。在数据集较大的运行程序中(如在Greenplum数据库中),低内存带宽是一个关键的性能疑问。假设内存带宽显著低于CPU的通常带宽,则会造成CPU破费少量的期间期待数据从系统内存传递过去。

3)网络性能测试:为了测试网络性能以及Greenplum数据库Interconnect组件的性能,该工具运转一种网络基准测试程序,该程序在主机延续发送5s的数据流到测试蕴含的每台远程主机上。数据被并行传输到每台远程主机,并以MB/s为单位,区分报告最小、最大、平均和中位网络传输速率。假设汇总的传输速率比预期慢(小于100MB/s),可以经常使用-rN选项串行运转该网络测试以失掉每台主机的结果。要运转全矩阵带宽测试,用户可以指定-rM选项,这将造成每台主机都发送和接纳来自指定的其余主机的数据。该测试实用于验证交流结构能否可以接受全矩阵负载。

gpcheckperf命令运行举例如下。

#经常使用/data1和/data2作为测试目录在文件host_file中的一切主机上运转磁盘I/O和内存带宽测试#在名为sdw1和sdw2的主机上只经常使用测试目录/data1运转磁盘I/O测试。显示单个主机结果并以具体形式运转#经常使用测试目录/tmp运转并行网络测试,其中hostfile_gpcheck_ic*指定同一Interconnect子网内的一切网络接口的主机地址称号

性能测试期间通常较长,为了启动完整的测试,我普通会创立如下测试脚本,在后台口头性能测试义务。

性能测试后台口头nohup sh gpcheckperf-test.sh&命令后,检查nohup.out的输入结果,如下图所示(每台主机驳回10块普通硬盘经过软件组成Raid 5)。

关于作者:王春波,资深架构师和数据仓库专家,现任上海启高消息科技有限公司大数据架构师,ApacheDoris和openGauss奉献者,Greenplum中文社区介入者。 群众号“数据中台研习社”运营者。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/9241.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号