ITPub博客

首页 > 数据库 > > Greenplum创建表

Greenplum创建表

作者:TTT1234 时间:2023-03-06 16:37:40 0 删除 编辑

Greenplum创建表

Greenplum是分布式的关系型数据库系统,创建表需要指定分布键,创建表需要有create的DBA权限,目的子啊与将数据分布到各个segment。选择分布键非常重要,选择错误会导致数据不唯-一,严重的造成sql的性能急剧下降。

一、Greenplum支持字段类型

1、数值类型


2、字符类型


3、时间类型

二、greenplum创建表

1、二维表同样是GP中重要的数据存储对象,为了更好的支持数据仓库海量数据的访问,GP的存储方式可以分为

面向行存储的普通堆积表
面向列存储的AOT表(append only table)
AOT表也可以是按行存储的,但是按列存储必须是AOT表,如经常更新数据,或者较小的维度数据,应该使用普通堆积表存储。
2、普通堆积表创建

create table student(
id character varing(30),
xm character varing(20),
xh character varing(20),
bj character varing(20)
)
distributed by (id);
comment on table student is '学生表';
comment on column student.id is '主键id';
comment on column student.xm is '姓名';
comment on column student.xh is '学号';
comment on column student.bj is '班级';

3、分布键(哈希键)

  • distributed by (id) 指定id字段为分布键
  • distributed randonly 随机分布
注意事项:
  • 未指定分布键,默认表的主键为分布键,若表没有主键,则默认把第一列当做哈希键。
  • 分布键可以定义为一个或者多个。
  • 分布键必须是唯-一键。
  • 不能修改分布键,且哈希键的列不能update。
  • 一个表只能定义一个唯-一键,且主键和唯-一键必须作为哈希键。
  • 数值重复度低,保证数据均匀分布。
  • 防止数据倾斜,分布键不适合,float、double数据类型也不适合,interger、varchar支持
  • 大表经常做连接时,选择相同的分布键,避免跨节点进行join.
  • 尽量不使用序列号。
4、AOT指定按列分布
  • appendonly=true 指定是否只appenf追加。
  • compresslevel=5 zlib压缩级别 1-9共9个级别 9压缩级别最-大。
  • orientation=column 指定是否按列存储。
  • compresstyle=zlib GP提供俩种压缩算法:zlib和quicklz。
  • oids =false 对象标识符,不分配。

才华不溢,梦想依旧
唯心沉淀,遨游宇宙




本文来源:https://blog.csdn.net/qq_34552189/article/details/107324150

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69953058/viewspace-3138215/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: SQL Server内存
请登录后发表评论 登录
全部评论

注册时间:2019-11-13

  • 博文量
    566
  • 访问量
    5209