Best approach to automate archiving aws-redshift table
我在redshift中有一张大桌子,我需要自动化归档每月数据的过程。
当前方法如下(手动):
我需要使这种方法自动化,
使用AWS数据管道是一种好方法吗?
请提出任何其他有效的方法,示例值得赞赏。
感谢您的帮助!
我不知道这是否是亚马逊认为"通用"足以建议实践的情况,但是这里有几种选择(注意:流行的共识似乎是数据管道适合简单数据加载,但是它不用作存档方法。)
每个月创建一个快照,然后从该表中删除数据。您可以使用快照API操作或可以自动执行的控制台调度,并且快照中将带有日期戳。
将数据复制到S3中的外部表,然后从Redshift表中删除。我认为您可以为此使用Spectrum。
使用第三方备份解决方案,例如N2WS,Panopoly。
使用AWS Glue(或者也许我没有使用过Data Pipelines)提取表结构/数据,然后截断原始表。
使用外部ETL产品执行与Glue相同的操作。有些是免费的,或者您的公司可能已经使用过。
关于这种类型的数据复制,我没有遇到任何最佳实践。
我建议的方法是在较小的实例中设置气流以运行调度。或者,如果工作量太大,请设置crontab。
每个存档(例如,每月-使用年份和月份作为文件夹
名称)
在s3中,您可以将其设置为包括所有子文件夹
希望。
我建议使用gzip格式,并将每个文件的大小限制为20-100mb
这样,数据在redshift之外,但是可以在需要时从redshift进行访问。