amazon-web-services - 将特定记录从 RDS 存档到 AWS 中更便宜的存储的最佳策略
问题描述
我有以下要求:
- 对于 RDS 中的每条删除记录,我们都需要将其存档到 AWS 上更便宜的地方。
- 降低存储成本
- 不使用冰川
- 面向上下文(例如每个表一个文件)
- 不需要重新导入
我不是 AWS 的经验丰富的用户,所以在它提供的众多选项中我仍然有点迷茫,我想知道你是否有更多的想法来帮助我解决这个问题。
初步想法:
- 删除记录的微服务可能会将其发送到代理(例如 RabbitMQ),另一个微服务(我们称之为它
archiver
)将监听它,写入文件,压缩并发送到 S3。但是这种方法有一些技术挑战:为了有意义地创建大文件,我需要等待队列增长一点,将其包装成流并压缩到 S3 中。事务控制也很弱,因为文件写入和消息确认是基于信号的,即我将在文件创建后立即从代理中删除消息。 - 将一个新列添加到“archiveble”表中作为“deleted (bool)”并运行一个单独的作业,仅获取这些记录并将它们保存到 S3 中。丢弃他们不希望新的微服务可以访问其他人的数据库。
- 遵循与第一项相同的方法,但不是保存到 S3,而是保存到更便宜的数据库中。简单数据库?
解决方案
选项 1,但不是 rabbitmq,而是将其写入 kinesis firehose 并将其定向到 s3 位置 - 它不会比这更便宜或更容易。
推荐阅读
- css - 显示:无;不工作但可见性:隐藏;做
- docker - docker-nexus3 ARM 官方支持
- python-3.x - python中的日期范围树实现?
- hive - 如何检查一个旧分区中使用的布隆过滤器
- c++ - 如何使用 memcpy 复制联合简单成员?
- vue.js - 当使用 VueJS 没有数据时,如何在饼图中显示“无数据”消息?
- asp.net-mvc - 如果应用程序池标识设置为“自定义帐户”,但在设置为“ApplicationPoolIdentity”时不会丢失应用程序池回收用户会话
- windows - 'npm adduser' 返回错误 405 IIS 7. WebDAV 模块
- android - 在 VS2019 Archive Manager for Android 中导入现有密钥库时出错
- python - 如何在 lmfit 中从不同数量的 GaussianModel 中形成复合模型类?