Amazon DynamoDB 或 Amazon RDS 哪个更便宜

Which is cheaper option Amazon DynamoDB or Amazon RDS

我正在构建一个 Web 应用程序(图书 readers 组),其中每个人都可以 select 来自网站图书的一本书,然后为该书创建一个 readers 组.

1- 用户 select 读了一本名为(如何使用 ReactJS 进行开发)的书。

2- 用户指定组人数,假设 20 人阅读那本书。那么selected的书页将被分成/20人。

3- 用户将阅读 URL 并发送到他的 reader 组。

4- 将向每个 reader 打开共享 URL 显示一个 table:-

稍后我可能会添加一个功能,readers 可以向群组创建者发送内部消息...

现在我很困惑应该选择哪个数据库,对我来说实施的难易程度并不重要。

我的问题是费用,因为我希望网站的访问量很大。 如果 SQL 和 noSQL 之间的读取速度差异小于 1 秒,速度对我来说并不是真正必要的,重要的是 24 小时服务的可访问性和可用性,当然还有成本。 假设如果 select Amazon Dynamo DB,dynamo db 将根据每个读写请求向我收费。

Amazon RDS (Mysql) for db.m5.xlarge 实例的每小时费率为每 GB 每月 0.396 美元和 0.133 美元,稍后我可能需要 运行自动缩放以启动更多实例。

而在 DynamoDB 中是按读写请求和存储使用量收费的。

基于上面提到的用例场景,如果解决方案必须使用DynamoDB开发,可能需要主tables和一些二级索引来搜索书名等。所以,在术语中关于定价,AWS 将向您收取主 table 和二级索引分别读取/写入的费用。

一般来说,如果您通过 idkey(即分区键)查找,DynamoDB 会给出更好的结果。一旦需要通配符搜索或通过非关键属性查找某些数据,您可能需要扫描完整 table 或创建一些二级索引。

如果您预见到将添加到您的应用程序中以提供更好的用户体验的广泛功能,您应该选择一些典型的 RDBMS 选项。添加更多功能也将具有成本效益和灵活性。

如果您打算坚持使用 AWS 云,可以考虑AWS Mariadb

根据我的经验 - 以及我的用例 - 我发现对于中小型项目,DynamoDb 最终更便宜,在某些情况下甚至完全免费,因为使用适合 aws 提供的免费套餐- 这是非常慷慨的。 DynamoDb 是这些类型应用程序的首选。

在较大的项目中,我发现它不太清楚 - 不了解您的使用模式和数据存储量 used/needed,没有一个简单的、一刀切的答案。