【问题标题】:Disk usage when redshift doing vacuum merge?红移进行真空合并时的磁盘使用情况?
【发布时间】:2015-05-19 09:12:13
【问题描述】:

我知道 redshift 将真空进程分为两个阶段:排序和合并。

在排序过程中,磁盘使用情况不会改变,但合并阶段似乎会占用大量空闲空间。

我的集群是 3 个 dw2.xlarge 节点,总共 480 GB SSD。在清理之前,总磁盘使用量约为 50%。

我正在对 81GB 的表进行清理,但由于磁盘已满错误,尝试合并时失败。

我想知道应该为清理大型未排序表保留多少空间?

我向 redshift 支持团队提出了这个问题,但直到现在还没有得到任何答复。有人有这方面的经验吗?

【问题讨论】:

    标签: amazon-web-services amazon-redshift


    【解决方案1】:

    是的,可用于更长时间的真空使用deep copy

    这应该可以避免磁盘使用问题。

    当您在 select 中插入 (select * from...) 时,您选择数据的排序顺序,以便您的数据将以排序方式插入。

    根据您的排序键增量插入 (select * from ) 例如,如果您将数据存储 30 天,则每天进行深度复制 这应该避免空间问题

    【讨论】:

    • 感谢您的回复,因为我的旧表完全没有排序,请问深拷贝在排序时是否也会占用磁盘空间?
    • 这就是深拷贝所说的:“如果一个表有一个很大的未排序区域,深拷贝比真空快得多”。一个建议是,当您在此处插入 (select * from...) 时,您选择数据的排序顺序,以便您的数据将以排序方式插入。
    • 谢谢,我稍后试试,报告结果。
    • 很遗憾,深拷贝,遇到同样的磁盘使用问题,在深拷贝之前,我的磁盘使用率只有33%,这张表总共占15%左右。但它消耗了整个剩余的可用空间。也许,我应该用小数据集做多深拷贝。
    • 根据您的排序键将增量插入添加到 (select *) 中。例如,如果您将数据存储 30 天,则每天进行深度复制。
    猜你喜欢
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2018-06-30
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    相关资源
    最近更新 更多