GBase 8a
运维管理
问答
GBase 8a支持哪些数据分布策略?
发表于2026-05-28 07:09:3524次浏览15个评论
【GBase版本】: GBase 8a MPP Cluster V953
【操作系统】: RedHat 7.9
【CPU】: 飞腾FT-2000
【问题描述】: 作为初学者,想了解一下GBase 8a支持的数据分布策略。我知道有哈希分布和随机分布,还有复制表。请问这三种分布策略各自适用于什幺场景?在建表时如何指定?如果不指定分布键,默认是哪种分布方式?
评论
登录后才可以发表评论
GBase用户28017发表于 2个月前
优秀
GBase用户28017发表于 2个月前
1
GBase用户28017发表于 2个月前
2
小鱼不吐泡泡发表于 2个月前
哈希分布:适用于达标关联查询、分组聚合等场景,优先选择 JOIN 条件列 或 GROUP BY 列 作为哈希列,且该列唯一值要足够多(如手机号、身份证号等),以保证数据均匀分布。
随机分布:适用于数据量巨大的事实表、业务场景复杂,难以确定哈希列的场景。
复制表:适用于维度表/字典表,数据量不大(通常建议在100万行以内),且频繁参与与其他表的关联操作(如客户信息表、产品分类表等)。
如果不指定默认是随机分布表,具体使用查手册。
对于初学者,一个简单的选型思路是:
小表(<100万行)且要频繁JOIN → 使用 复制表。
大表,有明确的关联或分组列 → 使用 哈希分布,选择唯一值多的列作为哈希列。
大表,没有合适的哈希列 → 使用 随机分布(默认)。
实际项目中的经典配置:
事实表(大表):使用哈希分布,哈希列选择手机号、订单ID等高度唯一的业务标识。
维度表(小表):使用复制表,如客户信息、产品分类、日期表等。
随机分布:适用于数据量巨大的事实表、业务场景复杂,难以确定哈希列的场景。
复制表:适用于维度表/字典表,数据量不大(通常建议在100万行以内),且频繁参与与其他表的关联操作(如客户信息表、产品分类表等)。
如果不指定默认是随机分布表,具体使用查手册。
对于初学者,一个简单的选型思路是:
小表(<100万行)且要频繁JOIN → 使用 复制表。
大表,有明确的关联或分组列 → 使用 哈希分布,选择唯一值多的列作为哈希列。
大表,没有合适的哈希列 → 使用 随机分布(默认)。
实际项目中的经典配置:
事实表(大表):使用哈希分布,哈希列选择手机号、订单ID等高度唯一的业务标识。
维度表(小表):使用复制表,如客户信息、产品分类、日期表等。
mittens发表于 2个月前
优秀
GBase用户21143发表于 2个月前
GBase 8a 建表不指定分布键时,默认是随机分布(RANDOM)
GBase用户21143发表于 2个月前
即:不加 DISTRIBUTED BY / REPLICATED,就是随机分布表。
GBase用户21143发表于 2个月前
建表时怎么指定(语法)
1)哈希分布表
1)哈希分布表
GBase用户21143发表于 2个月前
2)随机分布表
GBase用户21143发表于 2个月前
3)复制表
GBase用户46650发表于 1个月前
1
GBase用户46650发表于 1个月前
2
GBase用户46650发表于 1个月前
3
GBase用户46650发表于 1个月前
4
GBase用户46650发表于 1个月前
5
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25049
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526