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.
- 尽量不使用序列号。
- 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