• 首页
  • 国产小呦泬泬99精品
  • 最近2019中文字幕在线高清
  • 免费看少妇作爱视频
  • 曰批全过程免费视频在线观看网站
  • 国色天香在线观看全集免费播放
  • 婆岳同床双飞呻吟
  • 国产小呦泬泬99精品你的位置:三级小说 > 国产小呦泬泬99精品 > Spark查询太慢?试试这款 Mpp 数据库吧!

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

    发布日期:2022-06-18 17:11    点击次数:117

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

    一、Greenplum数据库架构

    Greenplum数据库是典型的主从架构,一个Greenplum集群经常由一个Master节点、一个Standby Master节点以及多个Segment实例构成,节点之间通过高速网罗互连,如下图所示。Standby Master节点为Master节点提供高可用支撑,Mirror Segment实例为Segment实例提供高可用支撑。当Master节点出现故障时,数据库惩处系统不错快速切换到Standby Master节点连接提供办事。

    从软件的角度看,Greenplum数据库由Master节点、Segment实例和Interconnect组件三部分构成,各个功能模块在系统中承载不同的变装。

    Master节点是Greenplum数据库的主节点,亦然数据库的进口,主要认真接录取户的SQL苦求,将其生成并行查询权略并优化,然后将查询权略分拨给统共的Segment实例进行处理,谐和集群的各个Segment实例按照查询权略一步一局势并行处理,临了获得Segment实例的计算收尾并汇总后复返给客户端。

    从用户的角度看Greenplum集群,看到的仅仅Master节点,不消关怀集群里面机制,统共的并行处理都是在Master节点限度下自动完成的。Master节点一般只存储系统数据,不存储用户数据。为了提升系统可用性,咱们经常会在Greenplum集群的临了一个数据节点上增多一个Standby Master节点。

    Segment是Greenplum骨子存储数据和进行数据读取计算的节点,每个Segment都不错视为一个孤独的PostgreSQL实例,上头存放着一部分用户数据,同期参与SQL延长责任。Greenplum Datanode经常是指Segment实例地点的主机,用户不错把柄Datanode的CPU数、内存大小、网罗宽带等来详情其上头的Segment实例个数。官方漠视一个Datanode上头部署2~8个Segment实例。Segment实例越多,单个实例上头的数据越少(平平分拨的情况下),单个Datanode的资源使用越充分,查询延长速率就越快。Datanode办事器的数目把柄集群的数据量来详情,最大不错支撑上千台。另外,为了提升数据的安全性,咱们只怕候会在坐褥环境中创建Mirror Segment实例当作备份镜像。

    Interconnect是Master节点与Segment实例、Segment实例与Segment实例之间进行数据传输的组件,它基于千兆交换机粗略万兆交换机杀青数据在节点之间的高速传输。默许情况下,Interconnect组件使用UDP在集群网罗节点之间传输数据,因为UDP无法保证办事质地,是以Interconnect组件在行使层杀青了数据包考据功能,从而达到和TCP相同的可靠性。

    Greenplum延长查询语句的经过如下:当GP Server收到用户发起的查询语句时,会对查询语句进行编译、优化等操作,生成并行延长权略,分发给Segment实例延长;Segment实例通过Interconnect组件和Master节点、其他Segment实例交换数据,然后延长查询语句,延长收场后,会将数据发还给Master节点,临了Master节点汇总复返的数据并将其反映给查询末端。

    二、Greenplum的上风

    最初,与传统数据库比拟,Greenplum当作散播式数据库,本人具有高性能上风。对百行万企来说,OLTP系统最进犯的是在保证ACID事务惩处属性的前提下闲逸业务的并发需求,对于大多数非中枢行使场景,MySQL、SQL Server、DB2、Oracle都不错闲逸系统条目, 天天躁日日躁狠狠躁日日躁黑人何况跟着MySQL性能的优化和云原生数据库的发展,基于MySQL粗略PostgreSQL贸易化的数据库会越来越普及。数据中台的定位是一个OLAP系统,上述数据库就很难闲逸海量数据并发查询的条目了。上述数据库的横向扩展才调有限,何况软硬件资本不菲,不适互助为OLAP系统的数据库。Greenplum当作一款基于MPP架构的数据库,具有开源、易于扩展、高查询性能的特色,性价比碾压DB2、Oracle、Teradata等传统数据库。

    其次,Greenplum当作散播式数据库,和同为散播式数据库的Hive比拟,上风也至极显豁。早期Hadoop的无时势数据还是让树立者饱受祸害,背面兴起的Hive、Presto、Spark SQL诚然支撑简短的SQL,然则查询性能仍然是分钟级别的,很难闲逸OLAP的及时辰析需求。后期虽有Impala+Kudu,然则查询性能仍然弱于同为MPP架构的Greenplum。除此以外,Hadoop生态圈至极复杂,安设和顾惜的责任量都很大,莫得专科的运维团队很难撑持系统入手。而Greenplum支撑的SQL标准最全面,查询性能在毫秒级,不仅能很好地支撑数据ETL处理和OLAP查询,还支撑增批改等操作,是一款抽象实力至极强的数据库。相对于Hadoop多个组件构成的巨大系统,Greenplum数据库在易用性、可靠性、踏实性、树立成果等方面都有至极显豁的上风。

    临了,Greenplum当作MPP数据库中的一员,相对于其他MPP架构数据库,国产小呦泬泬99精品也具有至极显豁的上风。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年杀青了Oracle 10倍数据量的惩处,即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),不错使用-r N选项串行入手该网罗测试以获得每台主机的收尾。要入手全矩阵带宽测试,用户不错指定-r M选项,这将导致每台主机都发送和禁受来自指定的其他主机的数据。该测试适用于考据交换结构是否不错承受全矩阵负载。

    gpcheckperf呐喊行使例如如下。

    #使用/data1和/data2当作测试目次在文献host_file中的统共主机上入手磁盘I/O和内存带宽测试 gpcheckperf -f hostfile_gpcheckperf -d /data1 -d /data2 -r ds #在名为sdw1和sdw2的主机上只使用测试目次/data1入手磁盘I/O测试。裸露单个主机收尾并以详备时势入手 gpcheckperf -h sdw1 -h sdw2 -d /data1 -r d -D -v #使用测试目次/tmp入手并行网罗测试,其中hostfile_gpcheck_ic*指定归拢Interconnect子网内的统共网罗接口的主机地址称呼 gpcheckperf -f hostfile_gpchecknet_ic1 -r N -d /tmp gpcheckperf -f hostfile_gpchecknet_ic2 -r N -d /tmp 

    性能测试技艺经常较长,为了进行竣工的测试,我一般会创建如下测试剧本,在后台延长性能测试任务。

    #创建如下shell剧本 [gpadmin@gp-master ~]$ cat gpcheckperf-test.sh  #!bin/bash echo "--------- start ----------- " a=`date +"%Y-%m-%d %H:%M:%S"` echo $a gpcheckperf -f /data/greenplum/greenplum-db/all_hosts -d /data/greenplum/ -v echo "------------- end ----------" b=`date +"%Y-%m-%d %H:%M:%S"` echo $b  

    性能测试后台延长nohup sh gpcheckperf-test.sh &呐喊后,稽查nohup.out的输出收尾,如下图所示(每台办事器罗致10块平庸硬盘通过软件构成Raid 5)。

    对于作家:王春波,资深架构师和数据仓库大师,现任上海启高信息科技有限公司大数据架构师,Apache Doris和openGauss孝顺者,Greenplum汉文社区参与者。 公众号“数据中台研习社”运营者。

     

    本文摘编于《高效使用Greenplum:初学、进阶与数据中台》,经出书方授权发布。(书号:9787111696490)转载请保留著述开始。

     



    Powered by 三级小说 @2013-2022 RSS地图 HTML地图