首页 > 解决方案 > 将特定记录从 RDS 存档到 AWS 中更便宜的存储的最佳策略

问题描述

我有以下要求:

我不是 AWS 的经验丰富的用户,所以在它提供的众多选项中我仍然有点迷茫,我想知道你是否有更多的想法来帮助我解决这个问题。

初步想法:

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

标签: amazon-web-servicesamazon-s3archiveamazon-simpledbamazon-glacier

解决方案


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


推荐阅读