暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a MPP集群规划

原创 Todd 2022-11-28
246

集群部署的海量数据特征,导致集群部署失败后重新部署的成本很高。因此,在实际部署集群前,需要对将在集群上部署应用的数据模型(schema),数据容量,数据更新率,数据生命期,数据安全策略,查询性能要求等诸多方面进行分析和优化。

 

1.1.1  数据模型规划

Gcluster支持复制(replicated)和分布(Distributed)两种数据部署方式,针对具体应用的schema,必须针对具体应用中的每个表,根据其数据性质及访问特征,确定每个表的数据分布方式。复制表在集群中每个节点都保存一份副本,在数据加载时需占用更多的网络带宽,同时占用更多的存储空间以保存更多的数据副本。分布表可将数据分布到gcluster中的所有节点,可以为查询提供充分的数据并行能力,提供最大的查询并发度及性能。

在星型模型中,一般将维度表设为复制表,事实表设为分布表。例如,在ssb模型中,lineorder表设为分布表,其他维度表设为复制表。

对于分布表,还需要确定数据的高可用定义,即确定gcluster中的SafeGroup中ksafe参数。根据不同的应用,可k-safe参数可设置为0,1,2三个不同的级别。K-safe=0,每个节点仅保存其对应的分布表部署分区的数据,不保存其他节点部署分区的数据副本;k-safe=1,每个节点除保存对应的分布表部署分区数据外,还要保存同SafeGroup(共两个节点)中另外一个节点对应的分布表部署分区的数据副本;k-safe=2, 每个节点除保存对应的分布表部署分区数据外,还要保存同SafeGroup(共三个节点)中另外三个节点对应的分布表部署分区的数据副本。分布表的数据高可用级别随k-safe值的增加而增大,同时,也要消耗更多的集群存储空间。

1.1.2  空间规划

在确定了应用的schema模型和高可用需求后,要根据物理节点的存储空间的大小,计算每个节点的有效存储空间,为确定集群中所需节点数量提供重要的参考数据。

节点空间的用途主要分为两部分,数据存储空间,运算存储空间。数据存储空间主要包括:

1.      复制表占用空间。

2.      分布表占用空间。

3.      分布表的副本占用的空间。等于分布表空间x K-Safe。

运算存储空间主要包括:

1.      gnode运算过程中需要的临时空间。

2.      节点故障时,数据同步操作所需的存储空间。

3.      节点进行数据迁移过程中,所需的存储空间。

4.      数据加载过程中,所需的临时空间。

节点的有效存储空间指复制表占用空间+分布表占用空间,

存储空间利用率 = (复制表占用空间+分布表占用空间)/节点存储空间。

通常情况下,各部分存储空间所占的比例为数据存储空间占节点存储空间的1/2,运算存储空间占节点存储空间的1/2。对于k-safe=2的情况,节点的存储空间利用率大概为1/6;k-safe=1的情况下,存储空间的利用率大概为1/4; k-safe=0的情况下,存储空间的利用率大概为1/2。

在考虑数据压缩的情况下,存储空间的利用率按压缩后的数据进行运算,即相当于数据压缩扩大了整个集群的存储空间。

1.1.3  数据规划

数据管理策略主要指在时间方向上,随着时间推移,所发生的数据生命期相关的策略在gcluster上的实现策略。其主要内容包括:

集群扩展,扩充集群的数据存储容量。gcluster的扩充必须以SafeGroup为基本的扩充单位。

老化数据的删除,由于数据库DELETE语句并不能有效的释放空间,对于大批量的老化数据删除应采用数据分区删除或节点删除的策略。在进行节点删除时,需以SafeGroup作为基本的删除单位。因此,需要在制定数据部署策略时,加以规划。

数据加载策略。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论