Greenplum中分布式数据库存储及查询处理

本文详细介绍了Greenplum的分布存储策略,包括Hash分布和循环(随机)分布,强调了Hash分布对并行计算的重要性。此外,还讨论了查询规划与分发过程,SQL查询处理机制,以及并行查询计划的执行步骤,例如在特定查询中如何进行数据重分布、Hash join和gather Motion操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布存储

Greenplum是一个分布式数据库系统,因此其所有的业务数据都是物理存放在集群的所有Segment实例数据库上;在Greenplum数据库中所有表都是分布式的,所以每一张表都会被切片,每个Segment实例数据库都会存放相应的数据片段。在下图中sale、customer、vendor、product四张表的数据都会切片存放在所有的Segment上,所有Segment实例同时工作,由于每个Segment只需要计算一部分数据,所以计算效率会大大提升。

这里写图片描述
这里写图片描述

表分布的策略-并行计算的基础

Hash分布

语法格式:
CREATE TABLE … DISTRIBUTED BY (column [,…])
同样数值的内容被分配到同一个Segment上;当选择Hash分布策略时,可指定表的一列或者多列组合。GP会根据指定的Hash Key列计算每一行数据对应的Hash值,并映射至相应的Segment实例。当选择的Hash Key列的值唯一时,数据将会均匀地分散至所有的Segment实例。GP数据库默认采用Hash分布,如果创建表时未指定Distributed Key,则会选择Primary Key作为Distributed Key,如果Primary Key也不存在,则会选择表的第一列作为Distributed Key。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值