我想存储API服务中发生的一些事件的审计数据。
我计划有3列的审计表。
添加到审计表的每日记录/行数不超过100.
这个审计表很少被访问,每天的写操作也很少。我想要最小化成本,我认为DynamoDB在这里是多余的。
我可以使用RDS或其他AWS存储服务来实现我的目标吗?我将通过lambda服务将数据写入审计表。
是什么让你认为DynamoDB是多余的?它可以按比例缩小,也可以按比例扩大。事实上,当你的活动率较低时,这是一个选择无服务器模型的好时机,因为除了你使用的东西之外,你不需要支付任何费用。
你的用法甚至适合免费层。
如果您的工作负载大约99%是写,1%是读,并且不像审计工作负载那样具有极端的读性能要求,我建议您重新考虑存储这些数据的方法。
考虑让Lambda函数将审计事件写入Kinesis Firehose Stream。Kinesis Firehose可以将这些记录聚合到JSON/Parquet文件中,并将它们存储在S3上。当需要访问这些数据时,可以使用Athena在S3中查询这些数据。
在规模上,这应该比拥有一个大多数时间都不会被查询的数据库要便宜得多。
:
- Kinesis Data消防软管 雅典娜
- S3
注意:DynamoDB每月有25GB的免费存储费用——这取决于你的账户发生了什么,这可能是一个因素。