Greenplum企业应用实战

 


很好的分析参考案例:GreenPlum简单性能测试与分析

名词解释MPP:MPP 是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。


使用注意点:

1、数据分布方式包括:Hash分布、随机分布。Hash分布:指定一个或者多个分布键,Distributed by;随机分布:即平均分布,join时性能差,Distributed randomly。

     表的分片规则选取一定要慎重,尽可能选择唯一且常用语 Join 的列作为 Distributed Key。

2、支持数据并发加载,gpfdist就是并发加载的工具。一般用来导入文本数据。例:先编写gpload.yaml,然后gpload -f gpload.yaml。

3、Appendonly :压缩表必须是Appendonly表,是只能不断追加的表,不能进行更新和删除。

                             Appendonly表还有一种特殊的形式,就是列存储。列存储尤其适合在宽表中部分字段进行筛选的场景。

4、gp 数据库的性能由一组 Segment 服务中最慢的 Segment 决定,因此要确保基本的运行 gp 数据的硬件与操作系统在同一性能级别,同样建议在 gp 数据系统中的所有 Segment 机器有一样的资源与配置。

5、gp 数据库推荐使用标准的千兆以太网交换机来做 Interconnect。

6、跨库关联:

gp 数据库将表数据分散至所有 Segment 实例,当需要进行表关联分析时,由于各个表的 Distributed Key 不同,相同值的行数据可能分布在不同服务器的不同 Segment 实例,因此不可避免需要在不同 Segment 间移动数据才能完成 Join 操作。跨库关联也正是分布式数据库的难点之一。gp 数据库是如何解决这个问题的:

(1)Join 操作的两个表的 Distributed Key 即 Join Key

   由于 Join Key 即为两个表的 Distributed Key,故两个表关联的行本身就在本地数据库(即同一个 Segment 实例),直接关联即可。在这种情况下,性能也是最佳的。

(2)Join 操作的两个表中的一个 Distributed Key 与 Join Key 相同

   由于其中一个表的 Join Key 和 Distributed Key 不一致,故两个表关联的行不在同一个数据库中,便无法完成 Join 操作。在这种情况下就不可避免地需要数据跨节点移动,将关联的行组织在同一个 Segment实例,最终完成 Join 操作。gp 可以选择两种方式将关       联的行组织在同一个 Segment 中,其中一个方式是将 Join Key 和 Distributed Key 不一致的表按照关联字段重分布(Redistribute Motion),另一种方式是可以将 Join Key 和 Distributed Key 不一致的表在每个 Segment 广播(Broadcast Motion),也就是每个      Segment 都复制一份全量

(3)Join 操作的两个表的 Distributed Key 和 Join Key 都不同

   由于两个表的 Join Key 和 Distributed Key 都不一致,故两个表关联的行不在同一个数据库中,便无法完成 Join 操作。同样在这种情况下,一种方式将两个表都按照关联字段重分布(Redistribute Motion),另一种方式可以将其中一个表在每个 Segment 广播(Broadcase Motion),也就是每个 Segment 都复制一份全量

7、集群装好之后可以检测一下集群的性能,gpcheckperf  利用 gp 自带的 gpcheckperf 工具可以很方便地测试文件系统的读写性能。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值