添加 2 个节点后,Redshift 免费存储不会增加
Posted
技术标签:
【中文标题】添加 2 个节点后,Redshift 免费存储不会增加【英文标题】:Redshift free storage doesn't increase after adding 2 nodes 【发布时间】:2019-11-28 12:24:14 【问题描述】:我的 4 节点(dc2.large 160 GB
每个节点的存储空间)Redshift 集群的存储空间已满约 75%,因此我添加了 2 个节点,总共 6 个节点,我预计磁盘使用率会下降到大约 50%,但在进行上述更改后,磁盘使用率仍保持在 75%(即使经过几天和VACUUM
之后)。
4*160 的 75% = 480 GB 数据
6*160 = 新配置中有 960 个可用存储空间,这意味着它应该下降到 480/960,即接近 50% 的磁盘使用率。
该图显示了添加两个节点前后的磁盘空间百分比。
我还检查了是否有任何使用DISTSTYLE ALL
的大表,这会导致跨节点的数据复制,但是与总存储容量相比,我拥有的表的大小非常小,所以我没有'认为它们不会对存储产生任何重大影响。
由于我不想添加更多节点然后在相同的情况下再次登陆,我可以在这里做些什么来减少存储使用量?
【问题讨论】:
【参考方案1】:听起来您的表格受到最小表格大小的影响。这可能违反直觉,但您通常可以通过将小表转换为 DISTSTYLE ALL 来减小它们的大小。
https://aws.amazon.com/premiumsupport/knowledge-center/redshift-cluster-storage-space/
【讨论】:
【参考方案2】:您能否说明您对一些较大的表使用的分布方式?
如果你没有指定分发方式,那么 Redshift 会自动选择一个(参见here),它可能会首先选择ALL
分发,然后只切换到EVEN
或KEY
分发一次你达到了一定的磁盘使用率%。
另外,您是否运行了ANALYZE
命令来确保表统计信息是最新的?
【讨论】:
只有少数表是DISTSTYLE ALL
,我在上面的截图中分享了他们使用的存储空间。我拥有的较大的表主要使用DISTSTYLE KEY
以上是关于添加 2 个节点后,Redshift 免费存储不会增加的主要内容,如果未能解决你的问题,请参考以下文章
Aurora vs Redshift vs DynamoDB for Indie Game Backend?