将特定记录从 RDS 存档到 AWS 中更便宜的存储的最佳策略

Best strategy to archive specific records from RDS to a cheaper storage in AWS

我有以下要求:

我不是 AWS 的老用户,所以我仍然对它提供的众多选项感到困惑,我想知道您是否有更多想法来帮助我解决这个问题.

初步想法:

  1. 删除记录的微服务可能会将其发送到代理(例如 RabbitMQ),另一个微服务(我们称之为 archiver)将收听它,写入文件,压缩并发送到S3。但是这种方法有一些技术挑战:为了使创建大文件有意义,我需要等待队列增长一点,将其包装成一个流并在 S3 中压缩。事务控制也很弱,因为文件写入和消息确认是基于信号的,即我会在文件创建后立即从代理中删除消息。
  2. 将新列添加到“archiveble”table作为“已删除(bool)”和运行一个单独的作业,仅获取这些记录并将它们保存到 S3 中。 已丢弃他们不希望新的微服务可以访问其他人的数据库。
  3. 采用与第一项相同的方法,但不是保存到 S3 中,而是保存到更便宜的数据库中。简单数据库?

选项 1,但不是 rabbitmq,而是将其写入 kinesis firehose 并将其定向到 s3 位置 - 没有比这更便宜或更容易的了。