建电商网站,网站建设网易,erp系统免费版下载,做阿里国际网站要收费吗对于大规模并行处理数据库来说#xff0c;一般由单master与多segment组成。 那么数据表的单行会被分配到一个或多个segment上#xff0c;此时需要想一想分布策略
分布
在gp6中#xff0c;共有三个策略#xff1a; 哈希分布 随机分布 复制分布
哈希分布
就是对分布键进行…对于大规模并行处理数据库来说一般由单master与多segment组成。 那么数据表的单行会被分配到一个或多个segment上此时需要想一想分布策略
分布
在gp6中共有三个策略 哈希分布 随机分布 复制分布
哈希分布
就是对分布键进行hash这样相同值的key始终散列到同一个segment上。如果选择唯一的分布键将确保较均匀的数据分布。 要使用这一策略需要在创建表使用 “DISTRIBUTED BYcolumn[…]” 子句。
随机分布
将数据行按顺序依次发送到各个segment此时具有相同值的数据行不一定位于同一个segment上。随机分布保证了数据的平均分布但是性能显然不如hash
复制分布
gp会将每行数据分配到每个segment上此策略下表数据将均匀分布每个segment存储同样的数据行。 当在segment上执行用户自定义函数且需要访问表中所有行时此时需要用到此策略。
接下讲解分区概念 分布时对存储的数据进行物理划分分区是逻辑划分。 分区将大表从逻辑上划分为多个子表分区不会更改表数据在segment之间的物理分布。
分区
gp支持以下分区类型 1、范围分区根据数字范围如日期或价格 2、列表分区基于值列表的数据划分如销售地区或者产品线 3、两种类型的组合
对大表分区可以简化数据库维护以及提高查询性能例如通过对时间分区可以将旧数据滚动移除出数据库。 但是创建过多的分区可能会拖慢管理和维护的速度如清理恢复segment扩展集群等情况。
除非优化器可以通过查询谓词修剪分区否则分区将不会提高查询性能。 依次扫描各个分区表的查询会比只需扫描无分区的根表要慢。所以当查询中很少使用分区裁剪的话尽量避免对表分区。
参考
Greenplum数据分布和分区策略