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



我有以下要求:

  • 对于 RDS 中每条已删除的记录,我们需要将其存档到 AWS 上更便宜的地方。
  • 降低存储成本
  • 不使用冰川
  • 面向上下文(例如,每个表一个文件(
  • 不需要重新导入

我不是 AWS 的有经验的用户,所以我仍然对它必须提供的选项数量感到有些迷茫,我想知道您是否有更多想法来帮助我清除它。

最初的想法:

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

选项 1,但不是 Rabbitmq,而是将其写入 Kinesis Firehose 并将其定向到 S3 位置 - 它没有比这便宜或容易的了。

相关内容

  • 没有找到相关文章