Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 红移:磁盘已满时的行为?_Amazon Web Services_Amazon Redshift - Fatal编程技术网

Amazon web services 红移:磁盘已满时的行为?

Amazon web services 红移:磁盘已满时的行为?,amazon-web-services,amazon-redshift,Amazon Web Services,Amazon Redshift,我有一个多节点红移集群,并注意到了这种行为。具有给定日期范围的给定查询,用于返回特定数量的行,例如-X。在过去的几天里,群集磁盘被填满了99.75%。数据加载仍然成功,但同一查询返回了Y行数,且YAmazon红移不会删除任何数据 您应该始终保持集群上的备用存储容量,以便为VACUUM操作和复杂查询提供足够的空间 集群实际上拥有比公开显示的更多的磁盘空间,但不应依赖于这种额外的容量 您应该查阅该表,查看在加载过程中是否发生了导致加载的行数减少的错误。回答我自己的问题。我在论坛上联系了亚马逊,后来r

我有一个多节点红移集群,并注意到了这种行为。具有给定日期范围的给定查询,用于返回特定数量的行,例如-
X
。在过去的几天里,群集磁盘被填满了99.75%。数据加载仍然成功,但同一查询返回了
Y
行数,且
YAmazon红移不会删除任何数据

您应该始终保持集群上的备用存储容量,以便为
VACUUM
操作和复杂查询提供足够的空间

集群实际上拥有比公开显示的更多的磁盘空间,但不应依赖于这种额外的容量


您应该查阅该表,查看在加载过程中是否发生了导致加载的行数减少的错误。

回答我自己的问题。我在论坛上联系了亚马逊,后来redshift的一位产品经理在个人聊天中联系了我。他们能够用交错键重现错误,如果
真空重新索引
操作会损坏索引,给
计数
查询提供错误答案。亚马逊给了我两个解决方案:-

  • 损坏后,执行表的深度复制并再次运行
    VACUUM-REINDEX
  • 切换到复合键

  • 方案1显然对资源和人力都很费劲。我们切换到复合键,这对我们来说也不是完美的解决方案,但很有效。上次更新是在2周前。按照此处的讨论进行:-.

    谢谢您的回复。然而,我们有一个cron,它在检查表的排序状态后运行真空。正如我前面提到的,STL_LOAD_错误中也没有EROR。只是由于一些新客户端的出现,我们突然将如此多的数据加载到了Redshift中。我也找不到任何东西,特别是当所有磁盘都已满,而您甚至无法运行真空或复杂查询时。这是Redshift中的一个bug。看看我的答案。你是对的,数据没有被删除