Greenplum生态与工具

2021-01-27 15:25:18 浏览数 (1)

Greenplum生态与工具

第一节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一站式方式体验,方便大家体验功能和选型对比。

4、可视化选型比较

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

8、ETL 选型比较

第五节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

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

https://github.com/pivotalguru/TPC-DS提供的测试脚本

4、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)、运行测试

0 人点赞