DynamoDB:-
DynamoDB 是一种完全托管的专有 NoSQL 数据库服务,支持键值和文档数据结构。对于您在 OP 中描述的典型用例,它可以达到目的。
DynamoDB 每天可以处理超过 10 万亿个请求并支持
每秒超过 2000 万个请求的峰值。
DynamoDB 具有适用于所有操作的良好 AWS 开发工具包。可以为表配置read and write capacity units。
DynamoDB 表使用按需容量模式自动适应
您的应用程序的流量。即时按需容量模式
最多可容纳两倍于表上之前的峰值流量。为了
例如,如果您的应用程序的流量模式在 25,000
和每秒 50,000 次强一致性读取,其中每秒 50,000 次读取
二是之前的流量高峰,即刻按需扩容模式
可容纳高达每秒 100,000 次读取的持续流量。如果
您的应用程序维持每秒 100,000 次读取的流量,即
peak 成为您之前的新高峰,使后续流量能够
达到每秒 200,000 次读取。
需要注意的一点是它不允许基于非键属性查询表。这意味着如果您不知道表的哈希键,您可能需要进行全表扫描才能获取数据。但是,您可以通过 二级索引 选项来解决该问题。在设计和做出明智的决定之前,您可能需要了解用例的所有查询访问模式。
MongoDB:-
MongoDB 不是 AWS 上的完全托管服务。但是,您可以使用 AWS 服务(例如 EC2、VPC、IAM、EBS 等)设置数据库。这需要一些 AWS 云经验来设置数据库。另一种选择是使用MongoDB Atlas service。
MongoDB 在查询方面更加灵活。此外,它还具有强大的聚合功能。有许多工具可用于直接查询数据库以探索 SQL 等数据。
在 Java API 方面,Spring MongoDB 可用于执行典型的数据库操作。还有许多适用于 MongoDB 的各种语言的开源框架(例如 MongooseNodejs)。
MongoDB 支持多种编程语言,API 也很成熟。
PostgreSQL:-
PostgreSQL 是 AWS 上的完全托管数据库。
PostgreSQL 已成为首选的开源关系数据库
对于许多企业开发人员和初创企业,为领先的
地理空间和移动应用程序。 Amazon RDS 可以轻松设置
在云中建立、操作和扩展 PostgreSQL 部署。
我想我不需要写太多关于这个数据库及其 API 的内容。它是一个非常成熟的数据库,并且有很好的 API。
需要考虑的要点:-
- 查询访问模式
- 轻松设置
- 数据库维护
- API 和框架
- 社区支持