Greenplum生态与工具

Posted 盒马coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Greenplum生态与工具相关的知识,希望对你有一定的参考价值。

Greenplum生态与工具

目录
第一节 Greenplum 生态介绍
	1、Greenplum 发展历史
	2、商业版与开源版的差异
	3 Greenplum 生态软件
第二节 Greenplum 运维工具
	1、 商业监控--GPCC
	2、开源监控Prometheus+Grafana
	3、gpxxx 运维工具
第三节 Greenplum 管理工具
	1、常用的管理工具datagrip
	2、常用的管理工具navicat
	3、常用的管理工具dbeaver
	4、度版本比较
第四节 Greenplum BI/ETL 工具
	1、 商业BI--Tableau
	2、 商业BI--帆软
	3、开源BI--Superset
	4、可视化选型比较
	5、 商业ETL-HVR
	6、 商业ETL-Informatica
	7、开源ETL-kettle
	8、ETL 选型比较
第五节 Greenplum 测试工具
	1、tpc.org  下的测试软件
	2、TPC-H/TPC-DS与TPC-C比较
	3、HammerDB 测试
	4、JMeter 测试

第一节Greenplum 生态介绍

1、Greenplum 发展历史
	2005 年
		1、Greenplum 数据库第一个版本发布
		2、基于强大的开源数据库PostgreSQL
	
	
	2015 年
		1、Greenplum 开源,世界上第一款开源MPP数据库
		2、开源版本基于Greenplum4.3
	
	2017 年
		1、Greenplum 5.0发布
		2、PostgreSQL 内核由8.2升级为8.3,升级工作加速
	
	2018年
		1、Greenplum中文社区成立
		2、专心运营Greenplum中国生态,服务广大爱好者
	
	2019年
		1、Greenplum 6.0发布
		2、PostgreSQL 内核由8.3升级为9.4
	
	2021年
		1、预计Greenplum 7.0发布
		2、开源代码已经完成PostgreSQL12 代码合并工作

	开源裂变的原因
	1、语言接口丰富,北向应用厂商积极适配集成
	2、申诉的PG内核合并工作,让GP越来越强大
	3、MADLib  zedstore等贡献,回馈PG
	4、pxf/fdw 等组件,使数据集成更容易

2、商业版与开源版的差异
	商业版包含了开原版本的所有的功能,此外,还包含如下内容
	1、支持QuickLZ压缩
	2、支持如下的data connectors:
		Greenplum-Spark Connector
		Greenplum-Informatica Connector
		Greenplum-Kafka Connector (gpkafka)
		Greenplum Stream Server (gpss)
	
	3、支持Data Direct ODBC/JDBC Drivers
	4、支持gpcopy
	5、支持gpcc
	6、支持gptext
	7、支持原厂服务
	
	商业版下载地址:https://network.pivotal.io/products/pivotal-gpdb
	社区版本下载地址:https://github.com/greenplum-db/gpdb
	

3 Greenplum 生态软件

	1、Greenplum 生态完善,得益于对SQL标准的出色支持。
	2、基于PostgreSQL ,使其一出生便与众不同
	3、提供几乎所有语言的访问接口,像使用PG一样使用GP
	4、支持数据库内核数据挖掘,支持空间数据引擎
	5、支持多种外部数据集成

第二节Greenplum 运维工具

1、商业监控--GPCC

	1、GPCC 全程是Greenplum Command Center ,属于企业版Greenplum的配套监控组件,不支持开原版本。
	2、由于Pivotal 开放的态度,大家可以免费下载GPDB和GPCC进行个人测试,出于对商业版权的保护,建议大家再选用企业版时,通过正规途径购买。
	3、GPCC提供数据库状态,机器负载情况,查询运行状态等多种参数的全面监控展示。

2、开源监控Prometheus+Grafana
	
	1、Prometheus+Grafana 是目前较为主流的监控方案,很多大公司都基于此方案构建整体系统,适配的GPOSS5/6,exporter 地址如下:
	https://github.com/ChrisYuan/greenplum_exporter/tags
	该组件基本配置了一些常用的集群状态监控。
3、gpxxx 运维工具
	gpactivatestandby 
	作用:用于激活一个备用主节点,使其代替原来的主节点对外提供服务。
	场景:主节点异常宕机
	常用命令:备节点机器上执行gpactivatestandby  -d  $MASTER_DATA_DIRECTORY
	
	gpcheckcat
	作用: 用于检测master和segment的catalog表并提供修复的脚本
	场景:周期性检测catalog 一致性
	常用命令:gpcheckcat [dbname]
	
	gpaddmirrors
	作用: 用于对现有的集群增加镜像节点
	场景:初始化集群不带有镜像,需要手动添加,需要制定灵活的镜像添加方式
	常用命令:输出配置文件 gpaddmirrors -o mirror_config_file 根据自定义镜像配置规则,修改配置文件,初始化镜像 - gpaddmirrors -i mirror_config_file 
	
	
	gpcheckperf 
	作用:用于在GPDB主机集群执行内存/网络/磁盘性能测试
	场景: 基础环境搭建好后,进行一遍性能验证,集群运行出现性能问题时,用该工具检测内存/网络/磁盘性能是否有所下降
	
	
	gpconfig
	作用:用于修改集群配置参数
	场景: 修改配置参数,gpconfig 修改出错集群启动失败,单独修改master配置并启动master节点重新配置集群。常用命令:
	gpconfig  -s xx
	gpconfig  -c xxx -v xx [-m xxx]
	
	
	gpfdist 
	作用:用于并行数据加载
	场景:数据批量钙素入库
	常用命令:  gpfdist -d /var/load_files  -p  8081  & 配合数据库外部表一起使用
	
	
	gpexpand 
	作用: 用于扩展现有集群
	场景: 集群增加机器,集群增加节点
	常用命令: gpexpand -i input_file
	
	
	gpinitstandby
	作用:用于初始化一个备用master
	场景: 集群初始化后未添加standby master, standby master 切换后,重新增加一个standby master
	常用命令:
	gpinitstandby -s host09
	
	
	gpbackup/gprestore
	作用:备份/恢复集群
	场景:数据备份及恢复场景
	详细的请查看:https://github.com/greenplum-db/gpbackup
	
	
	gpinitsystem 
	作用:用于初始化集群
	场景:集群初始化
	常用命令:gpinitsystem  -c gpinitsystem_config -h hostfile_gpinitsystem --mirror-mode=spread 
	
	gprecoverseg
	作用:用于恢复故障节点
	场景:集群拥有mirror,当有p或m宕机,但集群依然可用
	常用命令:gprecoverseg  / gprecoverseg -F
	
	
	gpload 
	作用:用于并行数据加载,是对gpfdist的封装
	场景:替换Oracle sqlloader
	常用命令:gpload  -f  my_load.yml
	
	
	gpssh-exkeys/gpssh/gpscp
	作用:设置免密登录,批量执行命令,批量传输文件
	场景:维护现场,集群初始化
	常用命令:gpssh-exkeys  -f  hostfile_exkeys
	
	
	gpmovemirrors
	作用:用于将mirror移动到新的位置
	场景:优化数据分布和储存
	常用命令:gpmovemirrors -i move_config_file
	
	
	gpstart/gpstop/gpstate
	作用:启动集群/停止,重启,重载集群/查看集群状态
	场景:配置文件修改,访问入口文件修改后使生效
	常用命令:gpstop  -u / gpstart / gpstop / gpstate 

第三节Greenplum 管理工具

1、常用的管理工具datagrip
	https://www.jetbrains.com/datagrip/

2、常用的管理工具navicat
	http://www.navicat.com.cn/download/navicat-for-postgresql

3、常用的管理工具dbeaver
	https://dbeaver.io/

4、度版本比较

	1、有条件的公司或者个人,推荐有限使用DataGrip,如果已经使用JetBrains家的其他工具如:IDEA,那么可以直接安装一个数据插件即可。
	2、崇尚开源免费的用户,推荐选用DBeaver,用起来功能也挺全,除了可以连接Greenplum,也可以连接几乎你所知道的所有的数据库,如果不支持,还可以自行扩展所需要的内容。
	3、Nvicat,pgadmin等,只要支持Postgresql,都能连接上,但是存在各种不同情况的不兼容的问题,只适合临时使用。

第四节Greenplum BI/ETL 工具

1、商业BI--Tableau
	1、Tableau 是一款数据分析与可视化工具,他支持连接到各种数据库,不管是电子表格,还是数据库数据,都能进行无缝连接。
	2、支持连接到Greenplum数据库,通过GPDB提高查询分析性能。
	3、优化建议一:尽可能关闭cursor
	4、优化建议二:初始化时设定参数
	
2、商业BI--帆软
	1、FineBi 是国产商业BI报表软件最好的一家,从各个方面来讲,都推荐大家尝试一下,可以在官网申请使用。
	2、支持连接到Greenplum
	3、可以访问官方论坛获取更多链接信息:
	https://help.finebi.com/doc-view-289.html
	
3、开源BI--Superset
	1、Superset 是一款可视化工具:使用Python代码编写。
	2、详细信息科源代码可以参考:https://superset.apache.org
	https://github.com/apache/incubator-superset
	3、进入Superset后,可以通过提供的postgresql连接到GPDB,然后将相对应的数据库引入到Superset,再与核实的图进行关联展示。
	
4、提供Docker一站式方式体验,方便大家体验功能和选型对比。


5、商业ETL-HVR
	1、HVR是一款集中式的数据同步工具,支持多种目标源。
	2、支持GPDB 5/6数据库作为目标端数据库。
	3、支持各种常用关系数据库,文件作为数据源,支持关系型数据库,文件,NoSQL,NewSQL,作为目标端。
	4、支持一对一,一对多,多对一,多对多的数据传输方式,支持自定义ETL逻辑。
	5、数据初始化及入库,均采用相关数据库最高效的方式。
6、商业ETL-Informatica 
	1、informatica 是一款成熟的ETL工具,在国内商业市场上占用率比较高,易用性稳定都很高。
	2、Greenplum商业版本,提供infomatica  Connector,通过该连接器,可以充分结合informatinca的开发能力和Greenplum的并行处理能力。
	3、针对开原版本,可以尝试采用postgres的odbc进行连接。

7、开源ETL-kettle
	1、Kettle是一款老牌的开源ETL工具,神兽大家的喜爱。
	2、开源版本,提供可视化脚本编写界面,调度可以通过开源软件kettle-scheduler进行
	3、kettle入库GPDB的方式有:insert/copy/gpload

第五节Greenplum 测试工具

1、tpc.org  下的测试软件
	1、事务处理性能委员会(Transaction  Processing   Performance  Council) , 是有数10家会员公司创建的非盈利的组织,他的功能是制定商务应用基准程序(Benchmark) 的标准规则,性能和价格度量,并管理测试结果的发布。
	2、目前有10几种相关度量标准。
	3、与关系型数据库相关性比较大的有:
		TPC - H
		TPC - C
		TPC - DS

2、TPC-H/TPC-DS与TPC-C比较
	1、TPC-H 通常用于PLAP测试,在一些客户要求的TPC-H测试长江下,客户通常会对我们提供的测试脚本进行理论验证,保证多个产品的TPC-H测试的一致性,该测试包含22个复杂的查询,目前针对Greenplum的测试,我们通常采用PG社区分享的脚本和逻辑进行测试
		https://github.com/digoal/gp_tpch
		https://developer.aliyun.com/article/93

	2、TPC-DS 也是用于OLAP测试的,但是测试逻辑更为复杂,一共99个查询,有很多新兴数据库目前为止还无法满足所有99个查询的语法,目前GPDB上的TPC-DS测试,建议参考:
		https://github.com/pivotalguru/TPC-DS提供的测试脚本

	3、TPC-C 通用用于PLTP测试,作为数据库事务处理性能的一个衡量标准,目前GPDB上的TPC-C测试,可以采用开源工具BenchmarkSQL进行:
		https://sourceforge.net/projects/benchmarksql
	
3、HammerDB 测试
	1、获取地址:
		https://www.hammerdb.com/index.html
	
		https://github.com/TPC-Council/HammerDB
	
	2、执行步骤
		1)、安装hammerdb
		2)、进入控制台
		3)、进行配置
		4)、构建测试库
		5)、加载配置脚本
		6)、构建测试
		7)、运行测试
		
4、JMeter 测试
	1、获取地址
		https://jmeter.apache.org
	
	
	2、执行步骤
		1)、安装jmeter
		2)、运行jmeter
		3)、新建测试计划
		4)、新建测试线程组
		5)、增加驱动
		6)、新建jdbc链接
		7)、天假jdbc请求
		8)、添加报告
		9)、运行测试

以上是关于Greenplum生态与工具的主要内容,如果未能解决你的问题,请参考以下文章

直播预告Greenplum磁盘配额管理工具Diskquota内部实

直播预告Greenplum磁盘配额管理工具Diskquota内部实

GreenPlum 与hadoop什么关系?(转)

IDE 开发工具的安装与使用

IDE 开发工具的安装与使用

麒麟信安根植欧拉:共筑中国操作系统崛起之路