确定了应用的 schema 模型和高可用需求后,要根据物理节点存储空间的大小,计算每个节点的有效存储空间,为确定集群中所需节点数量提供重要的参考数据。
节点空间的用途主要分为两部分,数据存储空间、运算存储空间。
数据存储空间主要包括:
- 复制表占用空间。
- 分布表占用空间。
- 分布表的副本占用的空间。
- 索引占用的空间(如果有索引)。
运算存储空间主要包括:运算存储空间主要是运算过程中需要的临时空间。需要根据实际业务场景来分析,通常运算存储空间至少是数据存储空间的 20% ~ 30%。
另外, GBase 8a MPP Cluster 支持对数据进行压缩存储,并且提供多种压缩模式。可以实现深度压缩,最大程度节省磁盘空间;也可以实现轻度压缩,最大程度提升性能。用户需根据实际的业务数据特征、业务需求来选择不同的压缩方式,并根据实际数据测试结果来估算压缩后的空间需求。
数据管理策略主要指在时间方向上,随着时间推移,伴随数据生命周期在GCluster 上的管理策略。其主要内容包括:
- 集群扩容,扩充集群的数据存储容量,支持在线扩容。
- 复制表数据加载采用复制分布模式,即所有节点数据内容都一致。
- 分布表数据加载策略有随机分布模式和哈希模式。
随机分布模式:
随机分布模式是指数据库创建随机分布的分布表,在对其进行加载时按随机模式分发数据内容。
哈希模式:
哈希模式是指在加载之前先对原始数据中的指定的哈希列进行处理,处理后的数据按照哈希值装入特定的哈希桶中,每个哈希桶对应一个集群节点。这样每个节点所得到的数据就都具有了某种共同特征(指定列都具有相同的哈希值),在查询时优化引擎可以根据这些共同特征对查询计划进行优化,以达到缩短查询时间的目的。