首页 > 解决方案 > 定期在 AWS RDS 中归档特定表的数据

问题描述

我使用 AWS RDS 作为我的 Spring Boot 应用程序的数据库。我想归档一个特定表中早于 6 个月的数据。在这种情况下,我在这里浏览了几篇文章,但对如何做到这一点没有任何具体的想法。有人可以帮忙吗?

标签: amazon-web-servicesamazon-rds

解决方案


如果您希望使用 RDS 本身进行备份,那么您的选择是有限的。当然,您可以使用自动 RDS 快照,但这不会让您选择特定的表(它将备份整个数据库)并且不能将保留时间设置为超过 35 天。或者,您可以手动启动快照,但不能指定保留期。不过,在这种情况下,您可以改用 AWS 发布的rds-snapshot-tool这将帮助您自动化快照过程并让您指定快照的最长期限。这可能是为您的问题使用 RDS 的最简单方法。如果您只想恢复一个特定的表(并且不关心备份中的其他表),您可以恢复快照并在开始使用快照之前立即删除您不关心的表。

但是,如果您真的只关心备份一个特定的表,那么 RDS 本身就是一种代表您进行备份的可能方式。我假设您的 spring 应用程序有一个 mysql 数据库,在这种情况下,您将需要使用 mysqldump 工具来获取您感兴趣的数据库表。您需要从应用程序手动调用该工具,然后将数据持久存储在某个地方(也许是 S3)。您还需要管理该备份的生命周期,但如果您确实使用 S3,您可以设置生命周期策略以自动过期并删除旧文件(在本例中为备份)。


推荐阅读