GBase 8a MPP Cluster 集群规划(1)-数据模型规划

 在集群上需要部署海量数据,如果集群部署失败后,再重新部署,成本将很高。因此,在实际部署集群前,需要对将在集群上部署应用的数据模型(schema),数据容量,数据更新率,数据生命周期,数据安全策略,查询性能等诸多方面进行分析和优化。 本篇主要讲GBase 8a MPP Cluster的数据模型规划

      GBase 8a MPP Cluster 中, 数据是按表存放的, 因此数据模型规划阶段需要对数据表的分布策略进行仔细规划。 GBase 8a MPP Cluster 中的表可以分为如下类别:

  •  复制表:在集群中复制表所在的 Distribution 中的每个节点都保存一份全量数据, 在与其它表进行关联查询时可以直接在本节点上完成,无需与其它节点进行交互,因此性能最优。但由于各个节点上数据完全相同,导致存储空间增加,因此通常用于数据量较小的表、维度表或经常需要 JOIN 关联的数据表。
  •  分布表:将数据分布存储到不同的节点上。每个节点上存储一部分数据(分片存储),根据不同应用场景, GBase 8a MPP Cluster 提供如下两种分布表:

       1)哈希分布表:将表中某列指定为哈希列,然后将数据按照哈希算法的取值存储到不同的节点上。每个节点上只存储一部分数据。这种存储策略,将数据量较大的表数据进行拆分,实现分布式存储。哈希分布
表,经常用于对哈希列进行等值查询的场景,是大型数据中心最常用的数据分布方式。
       2)随机分布表:将数据随机存储到不同的节点上,每个节点只存储一部分数据,各个节点上的数据量接近。这种数据分布方式,通常用于对数据进行汇总计算的场景。  

       例如,在星型模型中,一般将维度表设为复制表,事实表创建为分布表(哈希分布或者随机分布)。在下图 ssb模型中, lineorder表设为分布表,其他维度表设为复制表。  

                                                              ssb 星型模型结构图

     

       对于分布表,还需要考虑数据的高可用,即需要确定备份个数及备份策略,最多支持备份个数为两个,满足不同的高可用需求。

  •  nocopies 表: nocopies 表的引入是为了提供一种作为中间表使用的表,用以消除副本存储带来的开销,并且 nocopies 表也可以转换为带副本的普通分布表。
  • 临时表:当创建表时,使用关键词 TEMPORARY。临时表被限制在当前连接中,当连接关闭时,临时表会自动地删除,这样两个不同的连接可以使用同一个临时表名而不会发生冲突,也不会与同名现有的表冲突(现有表将被隐藏,直到临时表被删除)。

       可以联合使用 NOCOPIES 关键字来创建临时的 nocopies 表;
       可以联合使用 REPLICATED 关键字来创建临时复制表;
       可以联合使用 DISTRIBUTED BY 关键字来创建临时哈希分布表;  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值