Redshift中时间序列表的保留管理



我有一个表,我使用DMS将其从Aurora迁移到Redshift。此表仅插入按时间戳划分的大量数据。我想要那张桌子的红色版。

这个想法是在上面使用分区,并使用保留脚本将其保留到最后2个月。然而,在Redshift中并没有分区,我发现时间序列表听起来是一样的。如果我理解正确,我的表格应该是:

create table public."bigtable"(
"id" integer  NOT NULL DISTKEY,
"date" timestamp,
"name" varchar(256) 
)
SORTKEY(date);

但是,我找不到关于如何管理保留期的良好文档。想要任何更正和建议:(

在Redshift中通常有几种方法。

对于中小型表,数据可以被删除,表可以被真空(通常是只删除的真空(。Redshift非常擅长处理大量数据,对于非常大的表来说,这很好。删除和抽真空会有一些开销,但如果这些都安排在非工作时间,效果很好,也很简单。

当有问题的表变得非常大或者执行删除和抽真空的工作量不低时,人们会设置"月份;表的数据,并使用UNION将这些表放在一起的视图。然后";删除";一个月只是重新定义视图并删除不需要的表。这对于Redshift来说是非常低的工作量,但设置起来有点复杂。您的传入数据需要根据月份放入正确的表中,这样它就不再只是Aurora的副本。此过程还简化了将旧表卸载到S3以获取历史记录的过程。

最新更新