AWS Redshift清除策略自动化

时间:2018-08-07 07:02:50

标签: amazon-web-services aws-lambda amazon-redshift

AWS Redshift团队建议使用TRUNCATE来清理大型表。 我有一个连续的EC2服务,该服务不断向表中添加行。我想应用一些清除机制,以便当群集接近满时它将自动删除旧行(例如使用索引列)。

  • 是否有一些最佳做法?
  • 我需要编写自己的代码来处理吗? (如果是这样,是否已经有一个我可以在Lambda函数中使用的Python脚本?)

1 个答案:

答案 0 :(得分:0)

处理连续数据的一种常见做法是为每个月创建一个单独的表,例如Sales-2018-01Sales-2018-02

然后创建一个合并表的VIEW

CREATE VIEW sales AS
SELECT * FROM Sales-2018-01
UNION
SELECT * FROM Sales-2018-02

然后,每月创建一个新表,并从视图中删除最旧的月份。这样可以有效地提供12个月的数据滚动视图。

好处是不必从表中删除数据(这将需要VACUUM)。取而代之的是,可以简单地删除旧表,或保留旧表以供使用其他视图的历史报告。

请参阅:Using Time Series Tables - Amazon Redshift