我正在构建一个网络应用程序(读书者小组),每个人都可以从网站书籍中选择一本书,然后为该书创建一个读者小组。
1-用户选择了一本名为(如何使用ReactJS进行开发)的书。
2-用户指定小组人数,假设有20个人阅读该书。然后所选的书页将分为/ 20个人。
3-用户将拥有一个发送到其阅读者组的阅读URL。
我稍后会添加一项功能,使读者可以向组创建者发送内部消息...
现在,我在应该选择哪个数据库之间感到困惑,对我来说实现的难易程度并不重要。
我的问题是费用,因为我期望网站的流量很高。如果SQL和noSQL之间的读取速度差异小于1秒,对我来说速度并不是真正必需的,重要的是24小时服务的可访问性和可用性以及成本。假设如果选择Amazon Dynamo DB,则根据每个读写请求,dynamo db会花费我的钱。
[db.m5.xlarge实例的Amazon RDS(Mysql)的每小时费率是每GB每月0.396美元和0.133美元,以后我可能需要运行自动扩展来启动更多实例。
虽然在DynamoDB中是根据读写请求和存储使用情况收费的。
基于上述用例场景,如果必须使用DynamoDB开发解决方案,则可能需要主表和一些二级索引来按名称搜索书籍等。因此,就定价而言,AWS将向您收取费用主表和辅助索引都分别进行读/写。
[通常,如果您通过id
或key
(即分区键)找到DynamoDB,则会得到更好的结果。一旦需要通配符搜索或通过非关键属性查找某些数据,就可能需要扫描整个表或创建一些二级索引。
如果您预见到将添加到应用程序中以提供更好的用户体验的广泛功能,则应使用一些典型的RDBMS选项。同样,添加更多功能也将具有成本效益和灵活性。
如果您要坚持使用AWS云,可以考虑AWS Mariadb。>>